diff options
-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 |