summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorRubén Dávila <ruben@gitlab.com>2015-11-24 22:41:36 -0500
committerRubén Dávila <ruben@gitlab.com>2015-12-04 10:43:33 -0500
commitaa1ba0093632a66c9c9c0eac710d63d7513ad358 (patch)
tree9fe78dfa860f1607667bd9462ff46c58df914def /features
parent238ca3e472a67d319521daa5aeab6455b4740cdb (diff)
downloadgitlab-ce-aa1ba0093632a66c9c9c0eac710d63d7513ad358.tar.gz
Ensure "Remove Source Branch" button is not shown when branch is being deleted. #3583
Diffstat (limited to 'features')
-rw-r--r--features/project/merge_requests/accept.feature17
-rw-r--r--features/steps/project/merge_requests/acceptance.rb35
2 files changed, 52 insertions, 0 deletions
diff --git a/features/project/merge_requests/accept.feature b/features/project/merge_requests/accept.feature
new file mode 100644
index 00000000000..3e6e59a3808
--- /dev/null
+++ b/features/project/merge_requests/accept.feature
@@ -0,0 +1,17 @@
+Feature: Project Merge Requests Acceptance
+ Background:
+ Given There is an open Merge Request
+ And I am signed in as a developer of the project
+
+ @javascript
+ Scenario: Accepting the Merge Request and removing the source branch
+ Given I am on the Merge Request detail page
+ When I click on "Remove source branch" option
+ And I click on Accept Merge Request
+ Then I should not see the Remove Source Branch button
+
+ @javascript
+ Scenario: Accepting the Merge Request without removing the source branch
+ Given I am on the Merge Request detail page
+ When I click on Accept Merge Request
+ Then I should see the Remove Source Branch button
diff --git a/features/steps/project/merge_requests/acceptance.rb b/features/steps/project/merge_requests/acceptance.rb
new file mode 100644
index 00000000000..6adecaa8385
--- /dev/null
+++ b/features/steps/project/merge_requests/acceptance.rb
@@ -0,0 +1,35 @@
+class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps
+ include LoginHelpers
+ include GitlabRoutingHelper
+
+ step 'I am on the Merge Request detail page' do
+ visit merge_request_path(@merge_request)
+ end
+
+ step 'I click on "Remove source branch" option' do
+ check('Remove source branch')
+ end
+
+ step 'I click on Accept Merge Request' do
+ click_button('Accept Merge Request')
+ end
+
+ step 'I should see the Remove Source Branch button' do
+ expect(page).to have_link('Remove Source Branch')
+ end
+
+ step 'I should not see the Remove Source Branch button' do
+ expect(page).not_to have_link('Remove Source Branch')
+ end
+
+ step 'There is an open Merge Request' do
+ @user = create(:user)
+ @project = create(:project, :public)
+ @project_member = create(:project_member, user: @user, project: @project, access_level: ProjectMember::DEVELOPER)
+ @merge_request = create(:merge_request, :with_diffs, :simple, source_project: @project)
+ end
+
+ step 'I am signed in as a developer of the project' do
+ login_as(@user)
+ end
+end