diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 14:33:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 14:33:21 +0300 |
commit | 7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch) | |
tree | 5bdc2229f5198d516781f8d24eace62fc7e589e9 /spec/features/merge_request | |
parent | 185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff) |
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'spec/features/merge_request')
8 files changed, 324 insertions, 82 deletions
diff --git a/spec/features/merge_request/user_accepts_merge_request_spec.rb b/spec/features/merge_request/user_accepts_merge_request_spec.rb index 159306b28d8..b50e6779e07 100644 --- a/spec/features/merge_request/user_accepts_merge_request_spec.rb +++ b/spec/features/merge_request/user_accepts_merge_request_spec.rb @@ -18,6 +18,8 @@ RSpec.describe 'User accepts a merge request', :js, :sidekiq_might_not_need_inli click_button('Merge') + puts merge_request.short_merged_commit_sha + expect(page).to have_content("Changes merged into #{merge_request.target_branch} with #{merge_request.short_merged_commit_sha}") end diff --git a/spec/features/merge_request/user_edits_assignees_sidebar_spec.rb b/spec/features/merge_request/user_edits_assignees_sidebar_spec.rb index 0dd87ac3e24..59b5923b2a1 100644 --- a/spec/features/merge_request/user_edits_assignees_sidebar_spec.rb +++ b/spec/features/merge_request/user_edits_assignees_sidebar_spec.rb @@ -88,7 +88,7 @@ RSpec.describe 'Merge request > User edits assignees sidebar', :js do end context 'when GraphQL assignees widget feature flag is enabled' do - let(:sidebar_assignee_dropdown_item) { sidebar_assignee_block.find(".dropdown-item", text: assignee.username ) } + let(:sidebar_assignee_dropdown_item) { sidebar_assignee_block.find(".dropdown-item", text: assignee.username) } let(:sidebar_assignee_dropdown_tooltip) { sidebar_assignee_dropdown_item['title'] } context 'when user is an owner' do diff --git a/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb b/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb index 21f96299958..abf916c72b3 100644 --- a/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb +++ b/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb @@ -151,7 +151,7 @@ RSpec.describe 'Merge request > User merges when pipeline succeeds', :js do # Wait for the `ci_status` and `merge_check` requests wait_for_requests - page.within('.mr-section-container') do + page.within('.mr-state-widget') do expect(page).to have_content('Something went wrong. Try again.') end end @@ -170,7 +170,7 @@ RSpec.describe 'Merge request > User merges when pipeline succeeds', :js do # Wait for the `ci_status` and `merge_check` requests wait_for_requests - page.within('.mr-section-container') do + page.within('.mr-state-widget') do expect(page).to have_content('Something went wrong. Try again.') end 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 60ea168940a..cf4875a7a25 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 @@ -19,7 +19,7 @@ RSpec.describe 'Merge request > User scrolls to note on load', :js do wait_for_all_requests - expect(page).to have_selector("#{fragment_id}") + expect(page).to have_selector(fragment_id.to_s) page_scroll_y = page.evaluate_script("window.scrollY") fragment_position_top = page.evaluate_script("Math.round(document.querySelector('#{fragment_id}').getBoundingClientRect().top + window.pageYOffset)") diff --git a/spec/features/merge_request/user_sees_deployment_widget_spec.rb b/spec/features/merge_request/user_sees_deployment_widget_spec.rb index 63ac7862b06..6f8ecf5f5c2 100644 --- a/spec/features/merge_request/user_sees_deployment_widget_spec.rb +++ b/spec/features/merge_request/user_sees_deployment_widget_spec.rb @@ -18,6 +18,11 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do let(:build) { create(:ci_build, :with_deployment, environment: environment.name, pipeline: pipeline) } let!(:deployment) { build.deployment } + def assert_env_widget(text, env_name) + expect(find('.js-deploy-env-name')[:title]).to have_text(env_name) + expect(page).to have_content(text) + end + before do merge_request.update!(merge_commit_sha: sha) project.add_member(user, role) @@ -33,7 +38,7 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do visit project_merge_request_path(project, merge_request) wait_for_requests - expect(page).to have_content("Deployed to #{environment.name}") + assert_env_widget("Deployed to", environment.name) expect(find('.js-deploy-time')['title']).to eq(deployment.created_at.to_time.in_time_zone.to_s(:medium)) end @@ -47,8 +52,8 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do wait_for_requests expect(page).to have_selector('.js-deployment-info', count: 1) - expect(page).to have_content("#{environment.name}") - expect(page).not_to have_content("#{environment2.name}") + expect(find('.js-deploy-env-name')[:title]).to have_text(environment.name) + expect(find('.js-deploy-env-name')[:title]).not_to have_text(environment2.name) end end end @@ -62,7 +67,7 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do visit project_merge_request_path(project, merge_request) wait_for_requests - expect(page).to have_content("Failed to deploy to #{environment.name}") + assert_env_widget("Failed to deploy to", environment.name) expect(page).not_to have_css('.js-deploy-time') end end @@ -76,7 +81,7 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do visit project_merge_request_path(project, merge_request) wait_for_requests - expect(page).to have_content("Deploying to #{environment.name}") + assert_env_widget("Deploying to", environment.name) expect(page).not_to have_css('.js-deploy-time') end end @@ -89,7 +94,7 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do visit project_merge_request_path(project, merge_request) wait_for_requests - expect(page).to have_content("Will deploy to #{environment.name}") + assert_env_widget("Will deploy to", environment.name) expect(page).not_to have_css('.js-deploy-time') end end @@ -103,7 +108,7 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do visit project_merge_request_path(project, merge_request) wait_for_requests - expect(page).to have_content("Canceled deployment to #{environment.name}") + assert_env_widget("Canceled deployment to", environment.name) expect(page).not_to have_css('.js-deploy-time') end end diff --git a/spec/features/merge_request/user_sees_diff_spec.rb b/spec/features/merge_request/user_sees_diff_spec.rb index 2e65183d26f..0bae019793c 100644 --- a/spec/features/merge_request/user_sees_diff_spec.rb +++ b/spec/features/merge_request/user_sees_diff_spec.rb @@ -38,6 +38,20 @@ RSpec.describe 'Merge request > User sees diff', :js do end end + context 'when linking to a line' do + let(:note) { create :diff_note_on_merge_request, project: project, noteable: merge_request } + let(:line) { note.diff_file.highlighted_diff_lines.last } + let(:line_code) { line.line_code } + + before do + visit "#{diffs_project_merge_request_path(project, merge_request)}##{line_code}" + end + + it 'shows the linked line' do + expect(page).to have_selector("[id='#{line_code}']", visible: true, obscured: false) + end + end + context 'when merge request has overflow' do it 'displays warning' do allow(Commit).to receive(:max_diff_options).and_return(max_files: 3) diff --git a/spec/features/merge_request/user_sees_discussions_navigation_spec.rb b/spec/features/merge_request/user_sees_discussions_navigation_spec.rb new file mode 100644 index 00000000000..9fbe7662fc0 --- /dev/null +++ b/spec/features/merge_request/user_sees_discussions_navigation_spec.rb @@ -0,0 +1,222 @@ +# frozen_string_literal: true + +require 'spec_helper' + +RSpec.describe 'Merge request > User sees discussions navigation', :js do + let_it_be(:project) { create(:project, :public, :repository) } + let_it_be(:user) { project.creator } + let_it_be(:merge_request) { create(:merge_request, source_project: project) } + + before do + # FIXME: before removing this please fix discussions navigation with this flag enabled + stub_feature_flags(moved_mr_sidebar: false) + project.add_maintainer(user) + sign_in(user) + end + + describe 'Code discussions' do + let!(:position) do + build(:text_diff_position, :added, + file: "files/images/wm.svg", + new_line: 1, + diff_refs: merge_request.diff_refs + ) + end + + let!(:first_discussion) do + create(:diff_note_on_merge_request, + noteable: merge_request, + project: project, + position: position + ).to_discussion + end + + let!(:second_discussion) do + create(:diff_note_on_merge_request, + noteable: merge_request, + project: project, + position: position + ).to_discussion + end + + let(:first_discussion_selector) { ".discussion[data-discussion-id='#{first_discussion.id}']" } + let(:second_discussion_selector) { ".discussion[data-discussion-id='#{second_discussion.id}']" } + + shared_examples 'a page with a thread navigation' do + context 'with active threads' do + it 'navigates to the first thread' do + goto_next_thread + expect(page).to have_selector(first_discussion_selector, obscured: false) + end + + it 'navigates to the last thread' do + goto_previous_thread + expect(page).to have_selector(second_discussion_selector, obscured: false) + end + + it 'navigates through active threads' do + goto_next_thread + goto_next_thread + expect(page).to have_selector(second_discussion_selector, obscured: false) + end + + it 'cycles back to the first thread' do + goto_next_thread + goto_next_thread + goto_next_thread + expect(page).to have_selector(first_discussion_selector, obscured: false) + end + + it 'cycles back to the last thread' do + goto_previous_thread + goto_previous_thread + goto_previous_thread + expect(page).to have_selector(second_discussion_selector, obscured: false) + end + end + + context 'with resolved threads' do + let!(:resolved_discussion) do + create(:diff_note_on_merge_request, + noteable: merge_request, + project: project, + position: position + ).to_discussion + end + + let(:resolved_discussion_selector) { ".discussion[data-discussion-id='#{resolved_discussion.id}']" } + + before do + # :resolved attr doesn't actually resolve the thread but just collapses it + page.within(resolved_discussion_selector) do + click_button text: 'Resolve thread' + end + page.execute_script("window.scrollTo(0,0)") + end + + it 'excludes resolved threads during navigation' do + goto_next_thread + goto_next_thread + goto_next_thread + expect(page).to have_selector(first_discussion_selector, obscured: false) + end + end + end + + describe "Overview page discussions navigation" do + before do + visit project_merge_request_path(project, merge_request) + end + + it_behaves_like 'a page with a thread navigation' + + context 'with collapsed threads' do + before do + page.within(first_discussion_selector) do + click_button 'Hide thread' + end + end + + it 'expands threads during navigation' do + goto_next_thread + expect(page).to have_selector "#note_#{first_discussion.first_note.id}" + end + end + end + + describe "Changes page discussions navigation" do + before do + visit diffs_project_merge_request_path(project, merge_request) + end + + it_behaves_like 'a page with a thread navigation' + end + end + + describe 'Merge request discussions' do + shared_examples 'a page with no code discussions' do + let!(:first_discussion) do + create(:discussion_note_on_merge_request, + noteable: merge_request, + project: project + ).to_discussion + end + + let!(:second_discussion) do + create(:discussion_note_on_merge_request, + noteable: merge_request, + project: project + ).to_discussion + end + + let(:first_discussion_selector) { ".discussion[data-discussion-id='#{first_discussion.id}']" } + let(:second_discussion_selector) { ".discussion[data-discussion-id='#{second_discussion.id}']" } + + describe "Changes page discussions navigation" do + it 'navigates to the first discussion on the Overview page' do + goto_next_thread + expect(page).to have_selector(first_discussion_selector, obscured: false) + end + + it 'navigates to the last discussion on the Overview page' do + goto_previous_thread + expect(page).to have_selector(second_discussion_selector, obscured: false) + end + end + end + + context 'on changes page' do + before do + visit diffs_project_merge_request_path(project, merge_request) + end + + it_behaves_like 'a page with no code discussions' + end + + context 'on commits page' do + before do + # we can't go directly to the commits page since it doesn't load discussions + visit project_merge_request_path(project, merge_request) + click_link 'Commits' + end + + it_behaves_like 'a page with no code discussions' + end + + context 'on pipelines page' do + before do + visit project_merge_request_path(project, merge_request) + click_link 'Pipelines' + end + + it_behaves_like 'a page with no code discussions' + end + end + + def goto_next_thread + begin + # this is required when moved_mr_sidebar is enabled + page.within('.issue-sticky-header') do + click_button 'Go to next unresolved thread' + end + rescue StandardError + click_button 'Go to next unresolved thread' + end + wait_for_scroll_end + end + + def goto_previous_thread + begin + page.within('.issue-sticky-header') do + click_button 'Go to previous unresolved thread' + end + rescue StandardError + click_button 'Go to previous unresolved thread' + end + wait_for_scroll_end + end + + def wait_for_scroll_end + sleep(1) + 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 77ac6fac22f..c4a29c1fb07 100644 --- a/spec/features/merge_request/user_sees_merge_widget_spec.rb +++ b/spec/features/merge_request/user_sees_merge_widget_spec.rb @@ -14,15 +14,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do let(:merge_request_in_only_mwps_project) { create(:merge_request, source_project: project_only_mwps) } def click_expand_button - find('[data-testid="report-section-expand-button"]').click + find('[data-testid="toggle-button"]').click end before do project.add_maintainer(user) project_only_mwps.add_maintainer(user) sign_in(user) - - stub_feature_flags(refactor_mr_widget_test_summary: false) end context 'new merge request', :sidekiq_might_not_need_inline do @@ -64,7 +62,8 @@ RSpec.describe 'Merge request > User sees merge widget', :js do wait_for_requests page.within('.js-pre-deployment') do - expect(page).to have_content("Deployed to #{environment.name}") + expect(find('.js-deploy-env-name')[:title]).to have_text(environment.name) + expect(page).to have_content("Deployed to") expect(find('.js-deploy-url')[:href]).to include(environment.formatted_external_url) end end @@ -343,7 +342,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do # Wait for the `ci_status` and `merge_check` requests wait_for_requests - page.within('.mr-section-container') do + page.within('.mr-state-widget') do expect(page).to have_content('Something went wrong.') end end @@ -364,7 +363,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do # Wait for the `ci_status` and `merge_check` requests wait_for_requests - page.within('.mr-section-container') do + page.within('.mr-state-widget') do expect(page).to have_content('Something went wrong.') end end @@ -399,9 +398,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do it 'updates the MR widget', :sidekiq_might_not_need_inline do click_button 'Merge' - page.within('.mr-widget-body') do - expect(page).to have_content('An error occurred while merging') - end + expect(page).to have_content('An error occurred while merging') end end @@ -531,7 +528,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows parsing status' do - expect(page).to have_content('Test summary results are being parsed') + expect(page).to have_content('Test summary results are loading') end end @@ -546,7 +543,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows parsed results' do - expect(page).to have_content('Test summary contained') + expect(page).to have_content('Test summary:') end end @@ -560,7 +557,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows the error state' do - expect(page).to have_content('Test summary failed loading results') + expect(page).to have_content('Test summary failed to load results') end end @@ -607,13 +604,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the new failure' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 1 failed out of 2 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found no changed test results out of 1 total test') - expect(page).to have_content('junit found 1 failed out of 1 total test') + expect(page).to have_content('Test summary: 1 failed, 2 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: no changed test results, 1 total test') + expect(page).to have_content('junit: 1 failed, 1 total test') expect(page).to have_content('New') expect(page).to have_content('addTest') end @@ -622,15 +619,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do context 'when user clicks the new failure' do it 'shows the test report detail' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - within(".js-report-section-container") do - click_button 'addTest' + within('[data-testid="widget-extension-collapsed-section"]') do + click_link 'addTest' end end - within("#modal-mrwidget-reports") do + within('[data-testid="test-case-details-modal"]') 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) @@ -655,13 +652,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the existing failure' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 1 failed out of 2 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found 1 failed out of 1 total test') - expect(page).to have_content('junit found no changed test results out of 1 total test') + expect(page).to have_content('Test summary: 1 failed, 2 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: 1 failed, 1 total test') + expect(page).to have_content('junit: no changed test results, 1 total test') expect(page).to have_content('Test#sum when a is 1 and b is 3 returns summary') end end @@ -669,15 +666,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do context 'when user clicks the existing failure' do it 'shows test report detail of it' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - within(".js-report-section-container") do - click_button 'Test#sum when a is 1 and b is 3 returns summary' + within('[data-testid="widget-extension-collapsed-section"]') do + click_link 'Test#sum when a is 1 and b is 3 returns summary' end end - within("#modal-mrwidget-reports") do + within('[data-testid="test-case-details-modal"]') 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) @@ -702,13 +699,14 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the resolved failure' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 1 fixed test result out of 2 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found no changed test results out of 1 total test') - expect(page).to have_content('junit found 1 fixed test result out of 1 total test') + expect(page).to have_content('Test summary: 1 fixed test result, 2 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: no changed test results, 1 total test') + expect(page).to have_content('junit: 1 fixed test result, 1 total test') + expect(page).to have_content('Fixed') expect(page).to have_content('addTest') end end @@ -716,15 +714,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do context 'when user clicks the resolved failure' do it 'shows test report detail of it' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - within(".js-report-section-container") do - click_button 'addTest' + within('[data-testid="widget-extension-collapsed-section"]') do + click_link 'addTest' end end - within("#modal-mrwidget-reports") do + within('[data-testid="test-case-details-modal"]') do expect(page).to have_content('addTest') expect(page).to have_content('5.55') end @@ -748,13 +746,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the new error' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 1 error out of 2 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found no changed test results out of 1 total test') - expect(page).to have_content('junit found 1 error out of 1 total test') + expect(page).to have_content('Test summary: 1 error, 2 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: no changed test results, 1 total test') + expect(page).to have_content('junit: 1 error, 1 total test') expect(page).to have_content('New') expect(page).to have_content('addTest') end @@ -763,15 +761,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do context 'when user clicks the new error' do it 'shows the test report detail' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - within(".js-report-section-container") do - click_button 'addTest' + within('[data-testid="widget-extension-collapsed-section"]') do + click_link 'addTest' end end - within("#modal-mrwidget-reports") do + within('[data-testid="test-case-details-modal"]') do expect(page).to have_content('addTest') expect(page).to have_content('8.88') end @@ -795,13 +793,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the existing error' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 1 error out of 2 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found 1 error out of 1 total test') - expect(page).to have_content('junit found no changed test results out of 1 total test') + expect(page).to have_content('Test summary: 1 error, 2 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: 1 error, 1 total test') + expect(page).to have_content('junit: no changed test results, 1 total test') expect(page).to have_content('Test#sum when a is 4 and b is 4 returns summary') end end @@ -809,15 +807,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do context 'when user clicks the existing error' do it 'shows test report detail of it' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - within(".js-report-section-container") do - click_button 'Test#sum when a is 4 and b is 4 returns summary' + within('[data-testid="widget-extension-collapsed-section"]') do + click_link 'Test#sum when a is 4 and b is 4 returns summary' end end - within("#modal-mrwidget-reports") do + within('[data-testid="test-case-details-modal"]') 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 @@ -841,13 +839,14 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the resolved error' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 1 fixed test result out of 2 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found no changed test results out of 1 total test') - expect(page).to have_content('junit found 1 fixed test result out of 1 total test') + expect(page).to have_content('Test summary: 1 fixed test result, 2 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: no changed test results, 1 total test') + expect(page).to have_content('junit: 1 fixed test result, 1 total test') + expect(page).to have_content('Fixed') expect(page).to have_content('addTest') end end @@ -855,15 +854,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do context 'when user clicks the resolved error' do it 'shows test report detail of it' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - within(".js-report-section-container") do - click_button 'addTest' + within('[data-testid="widget-extension-collapsed-section"]') do + click_link 'addTest' end end - within("#modal-mrwidget-reports") do + within('[data-testid="test-case-details-modal"]') do expect(page).to have_content('addTest') expect(page).to have_content('5.55') end @@ -895,13 +894,13 @@ RSpec.describe 'Merge request > User sees merge widget', :js do end it 'shows test reports summary which includes the resolved failure' do - within(".js-reports-container") do + within('[data-testid="widget-extension"]') do click_expand_button - expect(page).to have_content('Test summary contained 20 failed out of 20 total tests') - within(".js-report-section-container") do - expect(page).to have_content('rspec found 10 failed out of 10 total tests') - expect(page).to have_content('junit found 10 failed out of 10 total tests') + expect(page).to have_content('Test summary: 20 failed, 20 total tests') + within('[data-testid="widget-extension-collapsed-section"]') do + expect(page).to have_content('rspec: 10 failed, 10 total tests') + expect(page).to have_content('junit: 10 failed, 10 total tests') expect(page).to have_content('Test#sum when a is 1 and b is 3 returns summary', count: 2) end |