From 566ea8543d971c4b811b2939b0677c5db52feab3 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Fri, 25 Sep 2015 18:09:08 +0200 Subject: Tests: extract a merge_request_path helper --- features/steps/shared/paths.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'features') diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb index 6432a786bfc..f7812a707c4 100644 --- a/features/steps/shared/paths.rb +++ b/features/steps/shared/paths.rb @@ -388,13 +388,11 @@ module SharedPaths end step 'I visit merge request page "Bug NS-04"' do - mr = MergeRequest.find_by(title: "Bug NS-04") - visit namespace_project_merge_request_path(mr.target_project.namespace, mr.target_project, mr) + visit merge_request_path("Bug NS-04") end step 'I visit merge request page "Bug NS-05"' do - mr = MergeRequest.find_by(title: "Bug NS-05") - visit namespace_project_merge_request_path(mr.target_project.namespace, mr.target_project, mr) + visit merge_request_path("Bug NS-05") end step 'I visit merge request page "Bug CO-01"' do @@ -503,6 +501,11 @@ module SharedPaths Project.find_by!(name: 'Shop') end + def merge_request_path(title) + mr = MergeRequest.find_by(title: title) + namespace_project_merge_request_path(mr.target_project.namespace, mr.target_project, mr) + end + # ---------------------------------------- # Errors # ---------------------------------------- -- cgit v1.2.1 From 543845f7efe0b70926ea699eaf1e413fa878b285 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Thu, 4 Feb 2016 19:23:58 +0100 Subject: Indicate how much an MR branch diverges from the target branch --- features/project/merge_requests.feature | 10 ++++++++++ features/steps/project/merge_requests.rb | 29 ++++++++++++++++++++++++++++- features/steps/shared/paths.rb | 8 ++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) (limited to 'features') diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature index 495f25f28e7..a69089f00c4 100644 --- a/features/project/merge_requests.feature +++ b/features/project/merge_requests.feature @@ -26,6 +26,16 @@ Feature: Project Merge Requests When I visit project "Shop" merge requests page Then I should see "other_branch" branch + Scenario: I should not see the numbers of diverged commits if the branch is rebased on the target + Given project "Shop" have "Bug NS-07" open merge request with rebased branch + When I visit merge request page "Bug NS-07" + Then I should not see the diverged commits count + + Scenario: I should see the numbers of diverged commits if the branch diverged from the target + Given project "Shop" have "Bug NS-08" open merge request with diverged branch + When I visit merge request page "Bug NS-08" + Then I should see the diverged commits count + Scenario: I should see rejected merge requests Given I click link "Closed" Then I should see "Feature NS-03" in merge requests diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index dde864f5180..8bf423cc64b 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -60,7 +60,6 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps expect(page).not_to have_content "Feature NS-03" end - step 'I should not see "Bug NS-04" in merge requests' do expect(page).not_to have_content "Bug NS-04" end @@ -121,6 +120,22 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps author: project.users.first) end + step 'project "Shop" have "Bug NS-07" open merge request with rebased branch' do + create(:merge_request, :rebased, + title: "Bug NS-07", + source_project: project, + target_project: project, + author: project.users.first) + end + + step 'project "Shop" have "Bug NS-08" open merge request with diverged branch' do + create(:merge_request, :diverged, + title: "Bug NS-08", + source_project: project, + target_project: project, + author: project.users.first) + end + step 'project "Shop" have "Feature NS-03" closed merge request' do create(:closed_merge_request, title: "Feature NS-03", @@ -490,6 +505,18 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps end end + step 'I should see the diverged commits count' do + page.within ".mr-source-target" do + expect(page).to have_content /([0-9]+ commits behind)/ + end + end + + step 'I should not see the diverged commits count' do + page.within ".mr-source-target" do + expect(page).not_to have_content /([0-9]+ commit[s]? behind)/ + end + end + step 'I should see "Bug NS-05" at the top' do expect(page.find('ul.content-list.mr-list li.merge-request:first-child')).to have_content("Bug NS-05") end diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb index f7812a707c4..da9d1503ebc 100644 --- a/features/steps/shared/paths.rb +++ b/features/steps/shared/paths.rb @@ -395,6 +395,14 @@ module SharedPaths visit merge_request_path("Bug NS-05") end + step 'I visit merge request page "Bug NS-07"' do + visit merge_request_path("Bug NS-07") + end + + step 'I visit merge request page "Bug NS-08"' do + visit merge_request_path("Bug NS-08") + end + step 'I visit merge request page "Bug CO-01"' do mr = MergeRequest.find_by(title: "Bug CO-01") visit namespace_project_merge_request_path(mr.target_project.namespace, mr.target_project, mr) -- cgit v1.2.1