From 3db469c5e15b266f490f7fe3b817bf371c934d6a Mon Sep 17 00:00:00 2001 From: Walmyr Date: Mon, 25 Mar 2019 18:37:38 +0000 Subject: Move simplest test to the top and more complex to the bottom Also, make both `it` statments part of the same `describe`. Finally, remove duplication of strings by defining variables and re-using them. --- .../merge_request/create_merge_request_spec.rb | 56 ++++++++++++---------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb index c06f13ee204..1eada4a6c28 100644 --- a/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb +++ b/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb @@ -3,7 +3,29 @@ module QA context 'Create' do describe 'Merge request creation' do - it 'user creates a new merge request' do + it 'user creates a new merge request', :smoke do + Runtime::Browser.visit(:gitlab, Page::Main::Login) + Page::Main::Login.act { sign_in_using_credentials } + + current_project = Resource::Project.fabricate! do |project| + project.name = 'project-with-merge-request' + end + + merge_request_title = 'This is a merge request' + merge_request_description = 'Great feature' + + Resource::MergeRequest.fabricate! do |merge_request| + merge_request.title = merge_request_title + merge_request.description = merge_request_description + merge_request.project = current_project + end + + expect(page).to have_content(merge_request_title) + expect(page).to have_content(merge_request_description) + expect(page).to have_content(/Opened [\w\s]+ ago/) + end + + it 'user creates a new merge request with a milestone and label' do gitlab_account_username = "@#{Runtime::User.username}" Runtime::Browser.visit(:gitlab, Page::Main::Login) @@ -24,9 +46,12 @@ module QA label.description = 'Merge Request label' end + merge_request_title = 'This is a merge request with a milestone and a label' + merge_request_description = 'Great feature with milestone' + Resource::MergeRequest.fabricate! do |merge_request| - merge_request.title = 'This is a merge request with a milestone' - merge_request.description = 'Great feature with milestone' + merge_request.title = merge_request_title + merge_request.description = merge_request_description merge_request.project = current_project merge_request.milestone = current_milestone merge_request.assignee = 'me' @@ -34,8 +59,8 @@ module QA end Page::MergeRequest::Show.perform do |merge_request| - expect(merge_request).to have_content('This is a merge request with a milestone') - expect(merge_request).to have_content('Great feature with milestone') + expect(merge_request).to have_content(merge_request_title) + expect(merge_request).to have_content(merge_request_description) expect(merge_request).to have_content(/Opened [\w\s]+ ago/) expect(merge_request).to have_assignee(gitlab_account_username) expect(merge_request).to have_label(new_label.title) @@ -47,25 +72,4 @@ module QA end end end - - describe 'creates a merge request', :smoke do - it 'user creates a new merge request' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - current_project = Resource::Project.fabricate! do |project| - project.name = 'project-with-merge-request' - end - - Resource::MergeRequest.fabricate! do |merge_request| - merge_request.title = 'This is a merge request' - merge_request.description = 'Great feature' - merge_request.project = current_project - end - - expect(page).to have_content('This is a merge request') - expect(page).to have_content('Great feature') - expect(page).to have_content(/Opened [\w\s]+ ago/) - end - end end -- cgit v1.2.1