summaryrefslogtreecommitdiff
path: root/features/steps/project
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-01-13 16:38:42 +0100
committerRémy Coutable <remy@rymai.me>2016-01-13 17:05:54 +0100
commit5e452d3794ffa4996611ecf53c6098f4a3913d4a (patch)
treec7678ec3ef43629e17a41bb5b63b43ceb80031e3 /features/steps/project
parent5efbfa14d4666655edd6d79a3a352a134382b664 (diff)
downloadgitlab-ce-5e452d3794ffa4996611ecf53c6098f4a3913d4a.tar.gz
Improve & adds specs for Issue/MR references
- Improve specs for private Issue/MR referenced in public Issue - Add specs for private Issue/MR referenced in public MR
Diffstat (limited to 'features/steps/project')
-rw-r--r--features/steps/project/issues/references.rb101
-rw-r--r--features/steps/project/merge_requests/references.rb7
2 files changed, 8 insertions, 100 deletions
diff --git a/features/steps/project/issues/references.rb b/features/steps/project/issues/references.rb
index 9c7725e8c14..69e8b5cbde5 100644
--- a/features/steps/project/issues/references.rb
+++ b/features/steps/project/issues/references.rb
@@ -1,106 +1,7 @@
class Spinach::Features::ProjectIssuesReferences < Spinach::FeatureSteps
include SharedAuthentication
+ include SharedIssuable
include SharedNote
include SharedProject
include SharedUser
-
- step 'project "Community" has "Public Issue 01" open issue' do
- project = Project.find_by(name: 'Community')
- create(:issue,
- title: 'Public Issue 01',
- project: project,
- author: project.users.first,
- description: '# Description header'
- )
- end
-
- step 'project "Private Library" has "Fix NS-01" open merge request' do
- project = Project.find_by(name: 'Private Library')
- create(:merge_request,
- title: 'Fix NS-01',
- source_project: project,
- target_project: project,
- source_branch: 'fix',
- target_branch: 'master',
- author: project.users.first,
- description: '# Description header'
- )
- end
-
- step 'project "Private Library" has "Private Issue 01" open issue' do
- project = Project.find_by(name: 'Private Library')
- create(:issue,
- title: 'Private Issue 01',
- project: project,
- author: project.users.first,
- description: '# Description header'
- )
- end
-
- step 'I leave a comment referencing issue "Public Issue 01" from "Fix NS-01" merge request' do
- project = Project.find_by(name: 'Private Library')
- issue = Issue.find_by!(title: 'Public Issue 01')
-
- page.within(".js-main-target-form") do
- fill_in "note[note]", with: "##{issue.to_reference(project)}"
- click_button "Add Comment"
- end
- end
-
- step 'I leave a comment referencing issue "Public Issue 01" from "Private Issue 01" issue' do
- project = Project.find_by(name: 'Private Library')
- issue = Issue.find_by!(title: 'Public Issue 01')
-
- page.within(".js-main-target-form") do
- fill_in "note[note]", with: "##{issue.to_reference(project)}"
- click_button "Add Comment"
- end
- end
-
- step 'I visit merge request page "Fix NS-01"' do
- mr = MergeRequest.find_by(title: "Fix NS-01")
- visit namespace_project_merge_request_path(mr.target_project.namespace, mr.target_project, mr)
- end
-
- step 'I visit issue page "Private Issue 01"' do
- issue = Issue.find_by(title: "Private Issue 01")
- visit namespace_project_issue_path(issue.project.namespace, issue.project, issue)
- end
-
- step 'I visit issue page "Public Issue 01"' do
- issue = Issue.find_by(title: "Public Issue 01")
- visit namespace_project_issue_path(issue.project.namespace, issue.project, issue)
- end
-
- step 'I should not see any related merge requests' do
- page.within '.issue-details' do
- expect(page).not_to have_content('.merge-requests')
- end
- end
-
- step 'I should see the "Fix NS-01" related merge request' do
- page.within '.merge-requests' do
- expect(page).to have_content("1 Related Merge Request")
- expect(page).to have_content('Fix NS-01')
- end
- end
-
- step 'I should see a note linking to "Fix NS-01" merge request' do
- project = Project.find_by(name: 'Community')
- mr = MergeRequest.find_by(title: 'Fix NS-01')
- page.within('.notes') do
- expect(page).to have_content('Mary Jane')
- expect(page).to have_content("mentioned in merge request #{mr.to_reference(project)}")
- end
- end
-
- step 'I should see a note linking to "Private Issue 01" issue' do
- project = Project.find_by(name: 'Community')
- issue = Issue.find_by(title: 'Private Issue 01')
- page.within('.notes') do
- expect(page).to have_content('Mary Jane')
- expect(page).to have_content("mentioned in issue #{issue.to_reference(project)}")
- end
- end
-
end
diff --git a/features/steps/project/merge_requests/references.rb b/features/steps/project/merge_requests/references.rb
new file mode 100644
index 00000000000..ab2ae6847a2
--- /dev/null
+++ b/features/steps/project/merge_requests/references.rb
@@ -0,0 +1,7 @@
+class Spinach::Features::ProjectMergeRequestsReferences < Spinach::FeatureSteps
+ include SharedAuthentication
+ include SharedIssuable
+ include SharedNote
+ include SharedProject
+ include SharedUser
+end