diff --git a/spec/requests/sessions_spec.rb b/spec/requests/sessions_spec.rb index 85f8ec43c0..f2d07a1ee7 100644 --- a/spec/requests/sessions_spec.rb +++ b/spec/requests/sessions_spec.rb @@ -1,6 +1,16 @@ require_relative '../acceptance_helper' require_relative '../factories/visualization_creation_helpers' +def org_login_url(organization) + login_url(host: "#{organization.name}.localhost.lan", port: Capybara.server_port) +end + +def submit_login(user, password) + fill_in 'email', with: user.email + fill_in 'password', with: password + click_link_or_button 'Log in' +end + feature "Sessions" do let(:password) { 'password123456' } @@ -47,16 +57,12 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', :with => @user.email - fill_in 'password', :with => 'blablapassword' - click_link_or_button 'Log in' + submit_login(@user, 'blablapassword') page.should have_css(".Sessions-fieldError.js-Sessions-fieldError") page.should have_css("[@data-content='Your account or your password is not ok']") - fill_in 'email', :with => @user.email - fill_in 'password', :with => @user.password - click_link_or_button 'Log in' + submit_login(@user, @user.password) page.status_code.should eq 200 page.should_not have_css(".Sessions-fieldError.js-Sessions-fieldError") @@ -132,9 +138,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', with: @user_mfa.email - fill_in 'password', with: @user_mfa.email.split('@').first - click_link_or_button 'Log in' + submit_login(@user_mfa, @user_mfa.email.split('@').first) page.status_code.should eq 200 page.body.should_not include(@user_mfa.active_multifactor_authentication.shared_secret) @@ -157,9 +161,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', with: @user_mfa.email - fill_in 'password', with: @user_mfa.email.split('@').first - click_link_or_button 'Log in' + submit_login(@user_mfa, @user_mfa.email.split('@').first) page.status_code.should eq 200 page.body.should_not include(@user_mfa.active_multifactor_authentication.shared_secret) @@ -181,9 +183,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', with: @user_mfa.email - fill_in 'password', with: @user_mfa.email.split('@').first - click_link_or_button 'Log in' + submit_login(@user_mfa, @user_mfa.email.split('@').first) page.status_code.should eq 200 page.body.should include("Verification code") @@ -200,9 +200,7 @@ feature "Sessions" do @user_mfa_setup.reload visit login_path - fill_in 'email', with: @user_mfa_setup.email - fill_in 'password', with: @user_mfa_setup.email.split('@').first - click_link_or_button 'Log in' + submit_login(@user_mfa_setup, @user_mfa_setup.email.split('@').first) page.status_code.should eq 200 page.body.should include(@user_mfa_setup.active_multifactor_authentication.shared_secret) @@ -228,9 +226,7 @@ feature "Sessions" do mfa.save! visit login_path - fill_in 'email', with: @user_mfa_setup.email - fill_in 'password', with: @user_mfa_setup.email.split('@').first - click_link_or_button 'Log in' + submit_login(@user_mfa_setup, @user_mfa_setup.email.split('@').first) page.status_code.should eq 200 page.body.should include("Verification code") @@ -255,9 +251,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', with: @user_mfa.email - fill_in 'password', with: @user_mfa.password - click_link_or_button 'Log in' + submit_login(@user_mfa, @user_mfa.password) page.status_code.should eq 200 page.body.should_not include(@user_mfa.active_multifactor_authentication.shared_secret) @@ -280,9 +274,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', with: @user_mfa.email - fill_in 'password', with: @user_mfa.password - click_link_or_button 'Log in' + submit_login(@user_mfa, @user_mfa.password) page.status_code.should eq 200 page.body.should_not include(@user_mfa.active_multifactor_authentication.shared_secret) @@ -304,9 +296,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit login_path - fill_in 'email', with: @user_mfa.email - fill_in 'password', with: @user_mfa.password - click_link_or_button 'Log in' + submit_login(@user_mfa, @user_mfa.password) page.status_code.should eq 200 page.body.should include("Verification code") @@ -323,9 +313,7 @@ feature "Sessions" do @user_mfa_setup.reload visit login_path - fill_in 'email', with: @user_mfa_setup.email - fill_in 'password', with: organization_user_password - click_link_or_button 'Log in' + submit_login(@user_mfa_setup, organization_user_password) page.status_code.should eq 200 page.body.should include(@user_mfa_setup.active_multifactor_authentication.shared_secret) @@ -351,9 +339,7 @@ feature "Sessions" do mfa.save! visit login_path - fill_in 'email', with: @user_mfa_setup.email - fill_in 'password', with: organization_user_password - click_link_or_button 'Log in' + submit_login(@user_mfa_setup, organization_user_password) page.status_code.should eq 200 page.body.should include("Verification code") @@ -371,7 +357,7 @@ feature "Sessions" do Admin::VisualizationsController.any_instance.stubs(:render).returns('') visit org_login_url(organization_user.organization) - send_login_form(organization_user) + submit_login(organization_user, organization_user.password) page.status_code.should eq 200 page.should_not have_css(".Sessions-fieldError.js-Sessions-fieldError") @@ -396,7 +382,6 @@ feature "Sessions" do end describe 'ldap login' do - before do @ldap_configuration = FactoryGirl.create(:ldap_configuration, { organization_id: organization.id }) end @@ -406,19 +391,6 @@ feature "Sessions" do page.should_not have_css('#google_signup_access_token') page.should_not have_css('#google_login_button_iframe') end - end - - end - - def org_login_url(organization) - login_url(:host => "#{organization.name}.localhost.lan", :port => Capybara.server_port) end - - def send_login_form(user) - fill_in 'email', with: user.email - fill_in 'password', with: user.password - click_link_or_button 'Log in' - end - end