diff options
author | Mike Greiling <mike@pixelcog.com> | 2017-10-12 17:52:09 -0500 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2017-10-12 17:52:09 -0500 |
commit | 53e11239ce9e7f9513c890a78df41c611bcc2ae1 (patch) | |
tree | 08300d49b78dff43f95e52cc298fa8732b9a32a9 /spec/features/explore | |
parent | d8cc4540ab83c98a09b11d1654fac593c47384c8 (diff) | |
parent | 8d47e9f8e13c2ca43520b348dde0424fe6460cc9 (diff) | |
download | gitlab-ce-53e11239ce9e7f9513c890a78df41c611bcc2ae1.tar.gz |
Merge branch 'master' into sh-headless-chrome-support
* master: (104 commits)
Update licenses
fix a wrong method call in the refactor
fix a whitespace
fix for discussion
Update templates via:
Update doc accordingly to:
Cache issuable template names
Fix the format of rugged alternate directory list
Match full file path in FileDetector
Fixes from CSS refactor
Resolve "Prometheus service page shows error"
Explicit state integration deletion
Move all API authentication code to APIGuard
Shorten example translation for inclusive language
[ci-skip] add changelog
fix the merger override to remove source branch
add spec
Removed d3.js from the users and graphs bundle
Cleanup data-page attribute after each Karma test
Update template description wording
...
Diffstat (limited to 'spec/features/explore')
-rw-r--r-- | spec/features/explore/user_explores_projects_spec.rb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/spec/features/explore/user_explores_projects_spec.rb b/spec/features/explore/user_explores_projects_spec.rb new file mode 100644 index 00000000000..6ac9497b024 --- /dev/null +++ b/spec/features/explore/user_explores_projects_spec.rb @@ -0,0 +1,72 @@ +require 'spec_helper' + +describe 'User explores projects' do + set(:archived_project) { create(:project, :archived) } + set(:internal_project) { create(:project, :internal) } + set(:private_project) { create(:project, :private) } + set(:public_project) { create(:project, :public) } + + shared_examples_for 'shows public projects' do + it 'shows projects' do + expect(page).to have_content(public_project.title) + expect(page).not_to have_content(internal_project.title) + expect(page).not_to have_content(private_project.title) + expect(page).not_to have_content(archived_project.title) + end + end + + shared_examples_for 'shows public and internal projects' do + it 'shows projects' do + expect(page).to have_content(public_project.title) + expect(page).to have_content(internal_project.title) + expect(page).not_to have_content(private_project.title) + expect(page).not_to have_content(archived_project.title) + end + end + + context 'when not signed in' do + context 'when viewing public projects' do + before do + visit(explore_projects_path) + end + + include_examples 'shows public projects' + end + end + + context 'when signed in' do + set(:user) { create(:user) } + + before do + sign_in(user) + end + + context 'when viewing public projects' do + before do + visit(explore_projects_path) + end + + include_examples 'shows public and internal projects' + end + + context 'when viewing most starred projects' do + before do + visit(starred_explore_projects_path) + end + + include_examples 'shows public and internal projects' + end + + context 'when viewing trending projects' do + before do + [archived_project, public_project].each { |project| create(:note_on_issue, project: project) } + + TrendingProject.refresh! + + visit(trending_explore_projects_path) + end + + include_examples 'shows public projects' + end + end +end |