diff --git a/app/views/shared/issuable/form/_merge_params.html.haml b/app/views/shared/issuable/form/_merge_params.html.haml index 6523e733e44685c8a570b6a0491618a814169762..6f1023474a19e0e08c5b9c2b55280d0c0a1136b3 100644 --- a/app/views/shared/issuable/form/_merge_params.html.haml +++ b/app/views/shared/issuable/form/_merge_params.html.haml @@ -26,3 +26,6 @@ = label_tag 'merge_request[squash]', class: 'form-check-label' do Squash commits when merge request is accepted. = link_to icon('question-circle'), help_page_path('user/project/merge_requests/squash_and_merge'), target: '_blank' + - if project.squash_always? + .gl-text-gray-600 + = _('Required in this project.') diff --git a/spec/features/merge_request/user_edits_merge_request_spec.rb b/spec/features/merge_request/user_edits_merge_request_spec.rb index 84ecd6537dccfc2843305a4f5ce42278605ba895..9af73240bb8bdbe94acdd4f58891833394fa635e 100644 --- a/spec/features/merge_request/user_edits_merge_request_spec.rb +++ b/spec/features/merge_request/user_edits_merge_request_spec.rb @@ -16,6 +16,40 @@ visit(edit_project_merge_request_path(project, merge_request)) end + describe 'Squash commits' do + it 'displays "Required in this project" for "Required" project setting squash option' do + project.project_setting.update!(squash_option: 'always') + visit(edit_project_merge_request_path(project, merge_request)) + + expect(page).to have_content('Squash commits when merge request is accepted.') + expect(page).to have_content("Required in this project") + end + + it 'does not display message for "Allow" project setting squash option' do + project.project_setting.update!(squash_option: 'default_off') + visit(edit_project_merge_request_path(project, merge_request)) + + expect(page).to have_content('Squash commits when merge request is accepted.') + expect(page).not_to have_content("Required in this project") + end + + it 'does not display message for "Encourage" project setting squash option' do + project.project_setting.update!(squash_option: 'default_on') + visit(edit_project_merge_request_path(project, merge_request)) + + expect(page).to have_content('Squash commits when merge request is accepted.') + expect(page).not_to have_content("Required in this project") + end + + it 'is hidden for "Do not allow" project setting squash option' do + project.project_setting.update!(squash_option: 'never') + visit(edit_project_merge_request_path(project, merge_request)) + + expect(page).not_to have_content('Squash commits when merge request is accepted.') + expect(page).not_to have_css('#merge_request_squash') + end + end + it 'changes the target branch' do expect(page).to have_content('From master into feature')