summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2015-06-29 15:43:10 -0400
committerRobert Speicher <rspeicher@gmail.com>2015-06-29 15:43:10 -0400
commit007dc6ac15fd8d615bd06dfa8411487a0bbbe3c5 (patch)
tree87966a8cc747ca4796f520fbbdaa93c43525753b
parent1161c93661f4630185289844965fb701df902642 (diff)
downloadgitlab-ce-rs-dev-issue-2155.tar.gz
Add feature specs for a Guest viewing public issues/merge requestsrs-dev-issue-2155
Closes internal https://dev.gitlab.org/gitlab/gitlabhq/issues/2155
-rw-r--r--spec/features/issues/guest_views_issue_spec.rb34
-rw-r--r--spec/features/merge_requests/guest_views_merge_request_spec.rb34
2 files changed, 68 insertions, 0 deletions
diff --git a/spec/features/issues/guest_views_issue_spec.rb b/spec/features/issues/guest_views_issue_spec.rb
new file mode 100644
index 00000000000..1a47c76aef8
--- /dev/null
+++ b/spec/features/issues/guest_views_issue_spec.rb
@@ -0,0 +1,34 @@
+require 'rails_helper'
+
+feature 'Guest views issue', feature: true do
+ scenario 'when issue belongs to public project' do
+ project = create(:empty_project, :public)
+ issue = create(:issue, project: project)
+
+ visit_issue(project, issue)
+
+ expect(page).to have_content(issue.title)
+ end
+
+ scenario 'when issue belongs to internal project' do
+ project = create(:empty_project, :internal)
+ issue = create(:issue, project: project)
+
+ visit_issue(project, issue)
+
+ expect(page).not_to have_content(issue.title)
+ end
+
+ scenario 'when issue belongs to private project' do
+ project = create(:empty_project, :private)
+ issue = create(:issue, project: project)
+
+ visit_issue(project, issue)
+
+ expect(page).not_to have_content(issue.title)
+ end
+
+ def visit_issue(project, issue)
+ visit namespace_project_issue_path(project.namespace, project, issue)
+ end
+end
diff --git a/spec/features/merge_requests/guest_views_merge_request_spec.rb b/spec/features/merge_requests/guest_views_merge_request_spec.rb
new file mode 100644
index 00000000000..3484c3578f4
--- /dev/null
+++ b/spec/features/merge_requests/guest_views_merge_request_spec.rb
@@ -0,0 +1,34 @@
+require 'rails_helper'
+
+feature 'Guest views merge request', feature: true do
+ scenario 'when merge request belongs to public project' do
+ project = create(:project, :public)
+ merge_request = create(:merge_request, :simple, source_project: project)
+
+ visit_merge_request(project, merge_request)
+
+ expect(page).to have_content(merge_request.title)
+ end
+
+ scenario 'when merge request belongs to internal project' do
+ project = create(:project, :internal)
+ merge_request = create(:merge_request, :simple, source_project: project)
+
+ visit_merge_request(project, merge_request)
+
+ expect(page).not_to have_content(merge_request.title)
+ end
+
+ scenario 'when merge request belongs to private project' do
+ project = create(:project, :private)
+ merge_request = create(:merge_request, :simple, source_project: project)
+
+ visit_merge_request(project, merge_request)
+
+ expect(page).not_to have_content(merge_request.title)
+ end
+
+ def visit_merge_request(project, merge_request)
+ visit namespace_project_merge_request_path(project.namespace, project, merge_request)
+ end
+end