From 04d07ed6f05bfe6bab15ee5b62f9a89840e8f0b8 Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Tue, 7 Jul 2020 15:48:00 -0700 Subject: [PATCH 1/2] Setup tests as comments --- .../user_edits_merge_request_spec.rb | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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 9af73240bb8bdb..a1f705f5f2c4f7 100644 --- a/spec/features/merge_request/user_edits_merge_request_spec.rb +++ b/spec/features/merge_request/user_edits_merge_request_spec.rb @@ -17,6 +17,28 @@ end describe 'Squash commits' do + it 'override MR setting if "Required" is saved' do + # set MR setting as uncheckdd + # set squash option as "Required" (checked) + # Save edit MR + # Update squash option to be "Allow" (unchecked) + # Expect edit page will display checked + end + + it 'recovers MR setting of squash false if "Required" not saved' do + # Set MR setting as unchecked + # Set squash option as "Required" (checked) + # Update squash option to be "Encouraged" (checked) + # Expect edit page will display unchecked + end + + it 'does not save "Do not allow" when save changes is clicked' do + # Set MR setting as checked + # Setin squash option as "Do no allow" (unchecked) + # User click "Save changes" button + # Expect MR setting as checked + end + 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)) -- GitLab From c17003096c59cab367247915ac81839449cdff1f Mon Sep 17 00:00:00 2001 From: Samantha Ming Date: Tue, 7 Jul 2020 16:48:19 -0700 Subject: [PATCH 2/2] Fill in feature spec --- .../user_edits_merge_request_spec.rb | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) 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 a1f705f5f2c4f7..6c5f508c8c6d00 100644 --- a/spec/features/merge_request/user_edits_merge_request_spec.rb +++ b/spec/features/merge_request/user_edits_merge_request_spec.rb @@ -18,25 +18,38 @@ describe 'Squash commits' do it 'override MR setting if "Required" is saved' do - # set MR setting as uncheckdd - # set squash option as "Required" (checked) - # Save edit MR - # Update squash option to be "Allow" (unchecked) - # Expect edit page will display checked + merge_request.update!(squash: false) + + project.project_setting.update!(squash_option: 'always') + visit(edit_project_merge_request_path(project, merge_request)) + click_button('Save changes') + + project.project_setting.update!(squash_option: 'default_off') + visit(edit_project_merge_request_path(project, merge_request)) + + expect(find("#merge_request_squash").selected?).to be(true) end - it 'recovers MR setting of squash false if "Required" not saved' do - # Set MR setting as unchecked - # Set squash option as "Required" (checked) - # Update squash option to be "Encouraged" (checked) - # Expect edit page will display unchecked + it 'recovers MR squash setting if "Required" is not saved' do + merge_request.update!(squash: false) + + project.project_setting.update!(squash_option: 'always') + visit(edit_project_merge_request_path(project, merge_request)) + + project.project_setting.update!(squash_option: 'default_on') + visit(edit_project_merge_request_path(project, merge_request)) + + expect(find("#merge_request_squash").selected?).to be(false) end - it 'does not save "Do not allow" when save changes is clicked' do - # Set MR setting as checked - # Setin squash option as "Do no allow" (unchecked) - # User click "Save changes" button - # Expect MR setting as checked + it 'does not override MR squash setting if "Do not allow" is saved' do + merge_request.update!(squash: true) + + project.project_setting.update!(squash_option: 'never') + visit(edit_project_merge_request_path(project, merge_request)) + click_button('Save changes') + + expect(merge_request.squash).to be true end it 'displays "Required in this project" for "Required" project setting squash option' do -- GitLab