diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-06-29 15:43:10 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-06-29 15:43:10 -0400 |
commit | 007dc6ac15fd8d615bd06dfa8411487a0bbbe3c5 (patch) | |
tree | 87966a8cc747ca4796f520fbbdaa93c43525753b | |
parent | 1161c93661f4630185289844965fb701df902642 (diff) | |
download | gitlab-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.rb | 34 | ||||
-rw-r--r-- | spec/features/merge_requests/guest_views_merge_request_spec.rb | 34 |
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 |