Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2017-10-13 01:52:09 +0300
committerMike Greiling <mike@pixelcog.com>2017-10-13 01:52:09 +0300
commit53e11239ce9e7f9513c890a78df41c611bcc2ae1 (patch)
tree08300d49b78dff43f95e52cc298fa8732b9a32a9 /spec/features/explore
parentd8cc4540ab83c98a09b11d1654fac593c47384c8 (diff)
parent8d47e9f8e13c2ca43520b348dde0424fe6460cc9 (diff)
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.rb72
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