diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-10-20 11:43:02 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-10-20 11:43:02 +0300 |
commit | d9ab72d6080f594d0b3cae15f14b3ef2c6c638cb (patch) | |
tree | 2341ef426af70ad1e289c38036737e04b0aa5007 /spec/features/merge_request | |
parent | d6e514dd13db8947884cd58fe2a9c2a063400a9b (diff) |
Add latest changes from gitlab-org/gitlab@14-4-stable-eev14.4.0-rc42
Diffstat (limited to 'spec/features/merge_request')
7 files changed, 58 insertions, 30 deletions
diff --git a/spec/features/merge_request/user_merges_immediately_spec.rb b/spec/features/merge_request/user_merges_immediately_spec.rb index bca6e6ceba5..3a05f35a671 100644 --- a/spec/features/merge_request/user_merges_immediately_spec.rb +++ b/spec/features/merge_request/user_merges_immediately_spec.rb @@ -36,7 +36,7 @@ RSpec.describe 'Merge requests > User merges immediately', :js do Sidekiq::Testing.fake! do click_button 'Merge immediately' - expect(find('.accept-merge-request.btn-confirm')).to have_content('Merge in progress') + expect(find('.media-body h4')).to have_content('Merging!') wait_for_requests end diff --git a/spec/features/merge_request/user_resolves_conflicts_spec.rb b/spec/features/merge_request/user_resolves_conflicts_spec.rb index 03ab42aaccd..982e75760d7 100644 --- a/spec/features/merge_request/user_resolves_conflicts_spec.rb +++ b/spec/features/merge_request/user_resolves_conflicts_spec.rb @@ -9,7 +9,7 @@ RSpec.describe 'Merge request > User resolves conflicts', :js do let(:user) { project.creator } def create_merge_request(source_branch) - create(:merge_request, source_branch: source_branch, target_branch: 'conflict-start', source_project: project, merge_status: :unchecked) do |mr| + create(:merge_request, source_branch: source_branch, target_branch: 'conflict-start', source_project: project, merge_status: :unchecked, reviewers: [user]) do |mr| mr.mark_as_unmergeable end end @@ -178,6 +178,23 @@ RSpec.describe 'Merge request > User resolves conflicts', :js do end end + context 'sidebar' do + let(:merge_request) { create_merge_request('conflict-resolvable') } + + before do + project.add_developer(user) + sign_in(user) + + visit conflicts_project_merge_request_path(project, merge_request) + end + + it 'displays reviewers' do + page.within '.issuable-sidebar' do + expect(page).to have_selector('[data-testid="reviewer"]', count: 1) + end + end + end + unresolvable_conflicts = { 'conflict-too-large' => 'when the conflicts contain a large file', 'conflict-binary-file' => 'when the conflicts contain a binary file', 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 1e547d504ef..873cc0a89c6 100644 --- a/spec/features/merge_request/user_sees_deployment_widget_spec.rb +++ b/spec/features/merge_request/user_sees_deployment_widget_spec.rb @@ -13,6 +13,8 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do let(:sha) { project.commit(ref).id } let(:pipeline) { create(:ci_pipeline, sha: sha, project: project, ref: ref) } let!(:manual) { } + let(:build) { create(:ci_build, :with_deployment, environment: environment.name, pipeline: pipeline) } + let!(:deployment) { build.deployment } before do merge_request.update!(merge_commit_sha: sha) @@ -21,8 +23,9 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do end context 'when deployment succeeded' do - let(:build) { create(:ci_build, :success, pipeline: pipeline) } - let!(:deployment) { create(:deployment, :succeed, environment: environment, sha: sha, ref: ref, deployable: build) } + before do + build.success! + end it 'displays that the environment is deployed' do visit project_merge_request_path(project, merge_request) @@ -34,9 +37,8 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do context 'when a user created a new merge request with the same SHA' do let(:pipeline2) { create(:ci_pipeline, sha: sha, project: project, ref: 'video') } - let(:build2) { create(:ci_build, :success, pipeline: pipeline2) } let(:environment2) { create(:environment, project: project) } - let!(:deployment2) { create(:deployment, environment: environment2, sha: sha, ref: 'video', deployable: build2) } + let!(:build2) { create(:ci_build, :with_deployment, :success, environment: environment2.name, pipeline: pipeline2) } it 'displays one environment which is related to the pipeline' do visit project_merge_request_path(project, merge_request) @@ -50,8 +52,9 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do end context 'when deployment failed' do - let(:build) { create(:ci_build, :failed, pipeline: pipeline) } - let!(:deployment) { create(:deployment, :failed, environment: environment, sha: sha, ref: ref, deployable: build) } + before do + build.drop! + end it 'displays that the deployment failed' do visit project_merge_request_path(project, merge_request) @@ -63,8 +66,9 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do end context 'when deployment running' do - let(:build) { create(:ci_build, :running, pipeline: pipeline) } - let!(:deployment) { create(:deployment, :running, environment: environment, sha: sha, ref: ref, deployable: build) } + before do + build.run! + end it 'displays that the running deployment' do visit project_merge_request_path(project, merge_request) @@ -76,8 +80,8 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do end context 'when deployment will happen' do - let(:build) { create(:ci_build, :created, pipeline: pipeline) } - let!(:deployment) { create(:deployment, environment: environment, sha: sha, ref: ref, deployable: build) } + let(:build) { create(:ci_build, :with_deployment, environment: environment.name, pipeline: pipeline) } + let!(:deployment) { build.deployment } it 'displays that the environment name' do visit project_merge_request_path(project, merge_request) @@ -89,8 +93,9 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do end context 'when deployment was cancelled' do - let(:build) { create(:ci_build, :canceled, pipeline: pipeline) } - let!(:deployment) { create(:deployment, :canceled, environment: environment, sha: sha, ref: ref, deployable: build) } + before do + build.cancel! + end it 'displays that the environment name' do visit project_merge_request_path(project, merge_request) @@ -102,11 +107,10 @@ RSpec.describe 'Merge request > User sees deployment widget', :js do end context 'with stop action' do - let(:build) { create(:ci_build, :success, pipeline: pipeline) } - let!(:deployment) { create(:deployment, :succeed, environment: environment, sha: sha, ref: ref, deployable: build) } let(:manual) { create(:ci_build, :manual, pipeline: pipeline, name: 'close_app') } before do + build.success! deployment.update!(on_stop: manual.name) visit project_merge_request_path(project, merge_request) wait_for_requests 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 2f7758143a1..f74b097ab3e 100644 --- a/spec/features/merge_request/user_sees_merge_widget_spec.rb +++ b/spec/features/merge_request/user_sees_merge_widget_spec.rb @@ -45,18 +45,12 @@ RSpec.describe 'Merge request > User sees merge widget', :js do let!(:environment) { create(:environment, project: project) } let(:sha) { project.commit(merge_request.source_branch).sha } let(:pipeline) { create(:ci_pipeline, status: 'success', sha: sha, project: project, ref: merge_request.source_branch) } - let(:build) { create(:ci_build, :success, pipeline: pipeline) } - - let!(:deployment) do - create(:deployment, :succeed, - environment: environment, - ref: merge_request.source_branch, - deployable: build, - sha: sha) - end + let!(:build) { create(:ci_build, :with_deployment, :success, environment: environment.name, pipeline: pipeline) } + let!(:deployment) { build.deployment } before do merge_request.update!(head_pipeline: pipeline) + deployment.update!(status: :success) visit project_merge_request_path(project, merge_request) end diff --git a/spec/features/merge_request/user_sees_suggest_pipeline_spec.rb b/spec/features/merge_request/user_sees_suggest_pipeline_spec.rb index 4bb6c3265a4..3893a9cdf28 100644 --- a/spec/features/merge_request/user_sees_suggest_pipeline_spec.rb +++ b/spec/features/merge_request/user_sees_suggest_pipeline_spec.rb @@ -6,9 +6,10 @@ RSpec.describe 'Merge request > User sees suggest pipeline', :js do let(:merge_request) { create(:merge_request) } let(:project) { merge_request.source_project } let(:user) { project.creator } + let(:suggest_pipeline_enabled) { true } before do - stub_application_setting(auto_devops_enabled: false) + stub_application_setting(suggest_pipeline_enabled: suggest_pipeline_enabled, auto_devops_enabled: false) project.add_maintainer(user) sign_in(user) visit project_merge_request_path(project, merge_request) @@ -66,4 +67,12 @@ RSpec.describe 'Merge request > User sees suggest pipeline', :js do # nudge 4 expect(page).to have_content("That's it, well done!") end + + context 'when feature setting is disabled' do + let(:suggest_pipeline_enabled) { false } + + it 'does not show the suggest pipeline widget' do + expect(page).not_to have_content('Are you adding technical debt or code vulnerabilities?') + end + end end diff --git a/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb b/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb index 275a87ca391..d2bde320c54 100644 --- a/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb +++ b/spec/features/merge_request/user_selects_branches_for_new_mr_spec.rb @@ -64,7 +64,7 @@ RSpec.describe 'Merge request > User selects branches for new MR', :js do click_button "Check out branch" - expect(page).to have_content 'git checkout -b "orphaned-branch" "origin/orphaned-branch"' + expect(page).to have_content 'git checkout -b \'orphaned-branch\' \'origin/orphaned-branch\'' end it 'allows filtering multiple dropdowns' do 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 dbc88d0cce2..690a292937a 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 @@ -159,7 +159,12 @@ RSpec.describe 'User comments on a diff', :js do wait_for_requests expect(page).to have_content('Remove from batch') - expect(page).to have_content("Apply suggestions #{index + 1}") + + if index < 1 + expect(page).to have_content("Apply suggestion") + else + expect(page).to have_content("Apply #{index + 1} suggestions") + end end end @@ -167,13 +172,12 @@ RSpec.describe 'User comments on a diff', :js do click_button('Remove from batch') wait_for_requests - expect(page).to have_content('Apply suggestion') expect(page).to have_content('Add suggestion to batch') end page.within("[id='#{files[1][:hash]}']") do expect(page).to have_content('Remove from batch') - expect(page).to have_content('Apply suggestions 1') + expect(page).to have_content('Apply suggestion') end end |