diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-26 12:08:47 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-02-26 12:08:47 +0300 |
commit | 66d4203791a01fdedf668a78818a229ea2c07aad (patch) | |
tree | 374fc9f6c5e709cf6ab48e257e6bfe4a504d6bbb /spec/features | |
parent | a496f41f60e12a0a5c31482b7594ad547e0ade42 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/features')
-rw-r--r-- | spec/features/issues/user_edits_issue_spec.rb | 7 | ||||
-rw-r--r-- | spec/features/profiles/active_sessions_spec.rb | 138 | ||||
-rw-r--r-- | spec/features/projects/clusters/gcp_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/snippets/create_snippet_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/snippets/spam_snippets_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/snippets/user_creates_snippet_spec.rb | 2 |
6 files changed, 72 insertions, 81 deletions
diff --git a/spec/features/issues/user_edits_issue_spec.rb b/spec/features/issues/user_edits_issue_spec.rb index ad984cf07e2..d50cf16d8ef 100644 --- a/spec/features/issues/user_edits_issue_spec.rb +++ b/spec/features/issues/user_edits_issue_spec.rb @@ -143,16 +143,11 @@ describe "Issues > User edits issue", :js do end it 'allows user to unselect themselves' do - issue2 = create(:issue, project: project, author: user) + issue2 = create(:issue, project: project, author: user, assignees: [user]) visit project_issue_path(project, issue2) page.within '.assignee' do - click_link 'Edit' - click_link user.name - - close_dropdown_menu_if_visible - page.within '.value .author' do expect(page).to have_content user.name end diff --git a/spec/features/profiles/active_sessions_spec.rb b/spec/features/profiles/active_sessions_spec.rb index bab6251a5d4..8f63ce2a197 100644 --- a/spec/features/profiles/active_sessions_spec.rb +++ b/spec/features/profiles/active_sessions_spec.rb @@ -11,81 +11,77 @@ describe 'Profile > Active Sessions', :clean_gitlab_redis_shared_state do let(:admin) { create(:admin) } - around do |example| - Timecop.freeze(Time.zone.parse('2018-03-12 09:06')) do - example.run - end - end - it 'User sees their active sessions' do - Capybara::Session.new(:session1) - Capybara::Session.new(:session2) - Capybara::Session.new(:session3) - - # note: headers can only be set on the non-js (aka. rack-test) driver - using_session :session1 do - Capybara.page.driver.header( - 'User-Agent', - 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0' - ) - - gitlab_sign_in(user) - end - - # set an additional session on another device - using_session :session2 do - Capybara.page.driver.header( - 'User-Agent', - 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B466 [FBDV/iPhone7,2]' - ) - - gitlab_sign_in(user) - end - - # set an admin session impersonating the user - using_session :session3 do - Capybara.page.driver.header( - 'User-Agent', - 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' - ) - - gitlab_sign_in(admin) - - visit admin_user_path(user) - - click_link 'Impersonate' - end - - using_session :session1 do - visit profile_active_sessions_path - - expect(page).to( - have_selector('ul.list-group li.list-group-item', { text: 'Signed in on', - count: 2 })) - - expect(page).to have_content( - '127.0.0.1 ' \ - 'This is your current session ' \ - 'Firefox on Ubuntu ' \ - 'Signed in on 12 Mar 09:06' - ) - - expect(page).to have_selector '[title="Desktop"]', count: 1 - - expect(page).to have_content( - '127.0.0.1 ' \ - 'Last accessed on 12 Mar 09:06 ' \ - 'Mobile Safari on iOS ' \ - 'Signed in on 12 Mar 09:06' - ) - - expect(page).to have_selector '[title="Smartphone"]', count: 1 - - expect(page).not_to have_content('Chrome on Windows') + Timecop.freeze(Time.zone.parse('2018-03-12 09:06')) do + Capybara::Session.new(:session1) + Capybara::Session.new(:session2) + Capybara::Session.new(:session3) + + # note: headers can only be set on the non-js (aka. rack-test) driver + using_session :session1 do + Capybara.page.driver.header( + 'User-Agent', + 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0' + ) + + gitlab_sign_in(user) + end + + # set an additional session on another device + using_session :session2 do + Capybara.page.driver.header( + 'User-Agent', + 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B466 [FBDV/iPhone7,2]' + ) + + gitlab_sign_in(user) + end + + # set an admin session impersonating the user + using_session :session3 do + Capybara.page.driver.header( + 'User-Agent', + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36' + ) + + gitlab_sign_in(admin) + + visit admin_user_path(user) + + click_link 'Impersonate' + end + + using_session :session1 do + visit profile_active_sessions_path + + expect(page).to( + have_selector('ul.list-group li.list-group-item', { text: 'Signed in on', + count: 2 })) + + expect(page).to have_content( + '127.0.0.1 ' \ + 'This is your current session ' \ + 'Firefox on Ubuntu ' \ + 'Signed in on 12 Mar 09:06' + ) + + expect(page).to have_selector '[title="Desktop"]', count: 1 + + expect(page).to have_content( + '127.0.0.1 ' \ + 'Last accessed on 12 Mar 09:06 ' \ + 'Mobile Safari on iOS ' \ + 'Signed in on 12 Mar 09:06' + ) + + expect(page).to have_selector '[title="Smartphone"]', count: 1 + + expect(page).not_to have_content('Chrome on Windows') + end end end - it 'User can revoke a session', :js, :redis_session_store do + it 'User can revoke a session', :js do Capybara::Session.new(:session1) Capybara::Session.new(:session2) diff --git a/spec/features/projects/clusters/gcp_spec.rb b/spec/features/projects/clusters/gcp_spec.rb index 0143461eadb..56ee2819bdb 100644 --- a/spec/features/projects/clusters/gcp_spec.rb +++ b/spec/features/projects/clusters/gcp_spec.rb @@ -200,7 +200,7 @@ describe 'Gcp Cluster', :js, :do_not_mock_admin_mode do end end - context 'when third party offers are disabled' do + context 'when third party offers are disabled', :clean_gitlab_redis_shared_state do let(:admin) { create(:admin) } before do diff --git a/spec/features/projects/snippets/create_snippet_spec.rb b/spec/features/projects/snippets/create_snippet_spec.rb index 33113dce620..40c54b2f873 100644 --- a/spec/features/projects/snippets/create_snippet_spec.rb +++ b/spec/features/projects/snippets/create_snippet_spec.rb @@ -9,7 +9,7 @@ describe 'Projects > Snippets > Create Snippet', :js do let_it_be(:project) { create(:project, :public) } def description_field - find('.js-description-input input,textarea') + find('.js-description-input').find('input,textarea') end def fill_form diff --git a/spec/features/snippets/spam_snippets_spec.rb b/spec/features/snippets/spam_snippets_spec.rb index dac36ba2b28..02b807ce071 100644 --- a/spec/features/snippets/spam_snippets_spec.rb +++ b/spec/features/snippets/spam_snippets_spec.rb @@ -6,7 +6,7 @@ describe 'User creates snippet', :js do let(:user) { create(:user) } def description_field - find('.js-description-input input,textarea') + find('.js-description-input').find('input,textarea') end before do diff --git a/spec/features/snippets/user_creates_snippet_spec.rb b/spec/features/snippets/user_creates_snippet_spec.rb index 7584789b99d..69a44513e7f 100644 --- a/spec/features/snippets/user_creates_snippet_spec.rb +++ b/spec/features/snippets/user_creates_snippet_spec.rb @@ -14,7 +14,7 @@ describe 'User creates snippet', :js do end def description_field - find('.js-description-input input,textarea') + find('.js-description-input').find('input,textarea') end def fill_form |