From 6438df3a1e0fb944485cebf07976160184697d72 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 20 Jan 2021 13:34:23 -0600 Subject: Add latest changes from gitlab-org/gitlab@13-8-stable-ee --- ...user_closes_reopens_merge_request_state_spec.rb | 2 +- .../user_interacts_with_batched_mr_diffs_spec.rb | 3 +- ...lves_diff_notes_and_discussions_resolve_spec.rb | 1 + .../user_scrolls_to_note_on_load_spec.rb | 9 +++-- .../user_sees_merge_request_pipelines_spec.rb | 22 +++++------ .../merge_request/user_sees_merge_widget_spec.rb | 46 +++++++++++++++------- .../merge_request/user_sees_pipelines_spec.rb | 10 +++-- .../merge_request/user_sees_versions_spec.rb | 4 +- .../user_suggests_changes_on_diff_spec.rb | 3 ++ .../merge_request/user_uses_quick_actions_spec.rb | 1 + 10 files changed, 65 insertions(+), 36 deletions(-) (limited to 'spec/features/merge_request') diff --git a/spec/features/merge_request/user_closes_reopens_merge_request_state_spec.rb b/spec/features/merge_request/user_closes_reopens_merge_request_state_spec.rb index 6376f9ab5fd..2b94c072c8b 100644 --- a/spec/features/merge_request/user_closes_reopens_merge_request_state_spec.rb +++ b/spec/features/merge_request/user_closes_reopens_merge_request_state_spec.rb @@ -55,7 +55,7 @@ RSpec.describe 'User closes/reopens a merge request', :js do end end - describe 'when closed' do + describe 'when closed', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/297500' do context 'when clicking the top `Reopen merge request` link', :aggregate_failures do let(:closed_merge_request) { create(:merge_request, source_project: project, target_project: project, state: 'closed') } diff --git a/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb b/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb index 782a7e3bfb6..ac0c66524f0 100644 --- a/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb +++ b/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb @@ -69,7 +69,8 @@ RSpec.describe 'Batch diffs', :js do end context 'which is in at least page 2 of the batched pages of diffs' do - it 'scrolls to the correct discussion' do + it 'scrolls to the correct discussion', + quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/293814' } do page.within('.diff-file.file-holder:last-of-type') do click_link('just now') end diff --git a/spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb b/spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb index cb7c952dfe4..b86586d53e2 100644 --- a/spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb +++ b/spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb @@ -228,6 +228,7 @@ RSpec.describe 'Merge request > User resolves diff notes and threads', :js do page.find('.discussion-next-btn').click end + expect(page).to have_button('Resolve thread', visible: true) expect(page.evaluate_script("window.pageYOffset")).to be > 0 end diff --git a/spec/features/merge_request/user_scrolls_to_note_on_load_spec.rb b/spec/features/merge_request/user_scrolls_to_note_on_load_spec.rb index d9950f5504b..56517a97716 100644 --- a/spec/features/merge_request/user_scrolls_to_note_on_load_spec.rb +++ b/spec/features/merge_request/user_scrolls_to_note_on_load_spec.rb @@ -17,15 +17,16 @@ RSpec.describe 'Merge request > User scrolls to note on load', :js do it 'scrolls note into view' do visit "#{project_merge_request_path(project, merge_request)}#{fragment_id}" - wait_for_requests + wait_for_all_requests + + expect(page).to have_selector("#{fragment_id}") - page_height = page.current_window.size[1] page_scroll_y = page.evaluate_script("window.scrollY") - fragment_position_top = page.evaluate_script("Math.round($('#{fragment_id}').offset().top)") + fragment_position_top = page.evaluate_script("Math.round(document.querySelector('#{fragment_id}').getBoundingClientRect().top + window.pageYOffset)") expect(find(fragment_id).visible?).to eq true expect(fragment_position_top).to be >= page_scroll_y - expect(fragment_position_top).to be < (page_scroll_y + page_height) + expect(page.evaluate_script("window.pageYOffset")).to be > 0 end it 'renders un-collapsed notes with diff' do diff --git a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb index 6647a4e9291..d9743f6f330 100644 --- a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb +++ b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb @@ -62,7 +62,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request', it 'sees branch pipelines and detached merge request pipelines in correct order' do page.within('.ci-table') do expect(page).to have_selector('.ci-pending', count: 2) - expect(first('.js-pipeline-url-link')).to have_content("##{detached_merge_request_pipeline.id}") + expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}") end end @@ -97,16 +97,16 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request', page.within('.ci-table') do expect(page).to have_selector('.ci-pending', count: 4) - expect(all('.js-pipeline-url-link')[0]) + expect(all('[data-testid="pipeline-url-link"]')[0]) .to have_content("##{detached_merge_request_pipeline_2.id}") - expect(all('.js-pipeline-url-link')[1]) + expect(all('[data-testid="pipeline-url-link"]')[1]) .to have_content("##{detached_merge_request_pipeline.id}") - expect(all('.js-pipeline-url-link')[2]) + expect(all('[data-testid="pipeline-url-link"]')[2]) .to have_content("##{push_pipeline_2.id}") - expect(all('.js-pipeline-url-link')[3]) + expect(all('[data-testid="pipeline-url-link"]')[3]) .to have_content("##{push_pipeline.id}") end end @@ -197,7 +197,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request', it 'sees a branch pipeline in pipeline tab' do page.within('.ci-table') do expect(page).to have_selector('.ci-pending', count: 1) - expect(first('.js-pipeline-url-link')).to have_content("##{push_pipeline.id}") + expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{push_pipeline.id}") end end @@ -246,7 +246,7 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request', it 'sees branch pipelines and detached merge request pipelines in correct order' do page.within('.ci-table') do expect(page).to have_selector('.ci-pending', count: 2) - expect(first('.js-pipeline-url-link')).to have_content("##{detached_merge_request_pipeline.id}") + expect(first('[data-testid="pipeline-url-link"]')).to have_content("##{detached_merge_request_pipeline.id}") end end @@ -287,16 +287,16 @@ RSpec.describe 'Merge request > User sees pipelines triggered by merge request', page.within('.ci-table') do expect(page).to have_selector('.ci-pending', count: 4) - expect(all('.js-pipeline-url-link')[0]) + expect(all('[data-testid="pipeline-url-link"]')[0]) .to have_content("##{detached_merge_request_pipeline_2.id}") - expect(all('.js-pipeline-url-link')[1]) + expect(all('[data-testid="pipeline-url-link"]')[1]) .to have_content("##{detached_merge_request_pipeline.id}") - expect(all('.js-pipeline-url-link')[2]) + expect(all('[data-testid="pipeline-url-link"]')[2]) .to have_content("##{push_pipeline_2.id}") - expect(all('.js-pipeline-url-link')[3]) + expect(all('[data-testid="pipeline-url-link"]')[3]) .to have_content("##{push_pipeline.id}") end end diff --git a/spec/features/merge_request/user_sees_merge_widget_spec.rb b/spec/features/merge_request/user_sees_merge_widget_spec.rb index 0e8012f161f..c2b2ada47be 100644 --- a/spec/features/merge_request/user_sees_merge_widget_spec.rb +++ b/spec/features/merge_request/user_sees_merge_widget_spec.rb @@ -605,11 +605,14 @@ RSpec.describe 'Merge request > User sees merge widget', :js do within(".js-report-section-container") do click_button 'addTest' - - expect(page).to have_content('6.66') - expect(page).to have_content(sample_java_failed_message.gsub(/\s+/, ' ').strip) end end + + within("#modal-mrwidget-reports") do + expect(page).to have_content('addTest') + expect(page).to have_content('6.66') + expect(page).to have_content(sample_java_failed_message.gsub(/\s+/, ' ').strip) + end end end end @@ -650,11 +653,14 @@ RSpec.describe 'Merge request > User sees merge widget', :js do within(".js-report-section-container") do click_button 'Test#sum when a is 1 and b is 3 returns summary' - - expect(page).to have_content('2.22') - expect(page).to have_content(sample_rspec_failed_message.gsub(/\s+/, ' ').strip) end end + + within("#modal-mrwidget-reports") do + expect(page).to have_content('Test#sum when a is 1 and b is 3 returns summary') + expect(page).to have_content('2.22') + expect(page).to have_content(sample_rspec_failed_message.gsub(/\s+/, ' ').strip) + end end end end @@ -694,10 +700,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do within(".js-report-section-container") do click_button 'addTest' - - expect(page).to have_content('5.55') end end + + within("#modal-mrwidget-reports") do + expect(page).to have_content('addTest') + expect(page).to have_content('5.55') + end end end end @@ -738,10 +747,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do within(".js-report-section-container") do click_button 'addTest' - - expect(page).to have_content('8.88') end end + + within("#modal-mrwidget-reports") do + expect(page).to have_content('addTest') + expect(page).to have_content('8.88') + end end end end @@ -782,10 +794,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do within(".js-report-section-container") do click_button 'Test#sum when a is 4 and b is 4 returns summary' - - expect(page).to have_content('4.44') end end + + within("#modal-mrwidget-reports") do + expect(page).to have_content('Test#sum when a is 4 and b is 4 returns summary') + expect(page).to have_content('4.44') + end end end end @@ -825,10 +840,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do within(".js-report-section-container") do click_button 'addTest' - - expect(page).to have_content('5.55') end end + + within("#modal-mrwidget-reports") do + expect(page).to have_content('addTest') + expect(page).to have_content('5.55') + end end end end diff --git a/spec/features/merge_request/user_sees_pipelines_spec.rb b/spec/features/merge_request/user_sees_pipelines_spec.rb index 107fc002ebd..77d2cb77ae3 100644 --- a/spec/features/merge_request/user_sees_pipelines_spec.rb +++ b/spec/features/merge_request/user_sees_pipelines_spec.rb @@ -184,7 +184,7 @@ RSpec.describe 'Merge request > User sees pipelines', :js do page.within(first('.commit')) do page.within('.pipeline-tags') do - expect(page.find('.js-pipeline-url-link')[:href]).to include(expected_project.full_path) + expect(page.find('[data-testid="pipeline-url-link"]')[:href]).to include(expected_project.full_path) expect(page).to have_content('detached') end page.within('.pipeline-triggerer') do @@ -238,11 +238,15 @@ RSpec.describe 'Merge request > User sees pipelines', :js do threads = [] threads << Thread.new do - @merge_request = MergeRequests::CreateService.new(project, user, merge_request_params).execute + Sidekiq::Worker.skipping_transaction_check do + @merge_request = MergeRequests::CreateService.new(project, user, merge_request_params).execute + end end threads << Thread.new do - @pipeline = Ci::CreatePipelineService.new(project, user, build_push_data).execute(:push) + Sidekiq::Worker.skipping_transaction_check do + @pipeline = Ci::CreatePipelineService.new(project, user, build_push_data).execute(:push) + end end threads.each { |thr| thr.join } diff --git a/spec/features/merge_request/user_sees_versions_spec.rb b/spec/features/merge_request/user_sees_versions_spec.rb index 8930c55a28c..8999c4d6656 100644 --- a/spec/features/merge_request/user_sees_versions_spec.rb +++ b/spec/features/merge_request/user_sees_versions_spec.rb @@ -191,7 +191,7 @@ RSpec.describe 'Merge request > User sees versions', :js do find('.btn-default').click click_link 'version 1' end - expect(page).to have_content '0 files' + expect(page).to have_content 'No changes between version 1 and version 1' end end @@ -217,7 +217,7 @@ RSpec.describe 'Merge request > User sees versions', :js do expect(page).to have_content 'version 1' end - expect(page).to have_content '0 files' + expect(page).to have_content 'No changes between version 1 and version 1' end end diff --git a/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb b/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb index 1e1888cd826..a2ec34335ec 100644 --- a/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb +++ b/spec/features/merge_request/user_suggests_changes_on_diff_spec.rb @@ -87,6 +87,7 @@ RSpec.describe 'User comments on a diff', :js do expect(page).not_to have_content('Applied') click_button('Apply suggestion') + click_button('Apply') wait_for_requests expect(page).to have_content('Applied') @@ -338,6 +339,7 @@ RSpec.describe 'User comments on a diff', :js do expect(page).not_to have_content('Applied') click_button('Apply suggestion') + click_button('Apply') wait_for_requests expect(page).to have_content('Applied') @@ -349,6 +351,7 @@ RSpec.describe 'User comments on a diff', :js do expect(page).not_to have_content('Unresolve thread') click_button('Apply suggestion') + click_button('Apply') wait_for_requests expect(page).to have_content('Unresolve thread') diff --git a/spec/features/merge_request/user_uses_quick_actions_spec.rb b/spec/features/merge_request/user_uses_quick_actions_spec.rb index 04a2e046f42..b48659353ec 100644 --- a/spec/features/merge_request/user_uses_quick_actions_spec.rb +++ b/spec/features/merge_request/user_uses_quick_actions_spec.rb @@ -41,5 +41,6 @@ RSpec.describe 'Merge request > User uses quick actions', :js do end it_behaves_like 'merge quick action' + it_behaves_like 'rebase quick action' end end -- cgit v1.2.1