summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Frye <joshfng@gmail.com>2016-01-19 09:53:40 -0500
committerJosh Frye <joshfng@gmail.com>2016-01-19 09:57:00 -0500
commitae6080c791ee8b6aedd7091e2a321f5fe41f0978 (patch)
treea296f5c59539d6b269729cafc20dbdf20ff0ec7b
parent11797df1af483156b8cf11290c49c3f4d6089d99 (diff)
downloadgitlab-ce-ae6080c791ee8b6aedd7091e2a321f5fe41f0978.tar.gz
Add specs. Adjust filter.
-rw-r--r--app/models/project.rb2
-rw-r--r--spec/requests/api/projects_spec.rb23
2 files changed, 24 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 56db0ce6cf6..60729d93187 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -273,7 +273,7 @@ class Project < ActiveRecord::Base
end
def search_by_visibility(level)
- where(visibility_level: visibility_levels[level.capitalize])
+ where(visibility_level: Gitlab::VisibilityLevel.const_get(level.upcase))
end
def search_by_title(query)
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 6f4c336b66c..2a310f3834d 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -90,6 +90,29 @@ describe API::API, api: true do
end
end
+ context 'and using the visibility filter' do
+ it 'should filter based on private visibility param' do
+ get api('/projects', user), { visibility: 'private' }
+ expect(response.status).to eq(200)
+ expect(json_response).to be_an Array
+ expect(json_response.length).to eq(user.namespace.projects.where(visibility_level: Gitlab::VisibilityLevel::PRIVATE).count)
+ end
+
+ it 'should filter based on internal visibility param' do
+ get api('/projects', user), { visibility: 'internal' }
+ expect(response.status).to eq(200)
+ expect(json_response).to be_an Array
+ expect(json_response.length).to eq(user.namespace.projects.where(visibility_level: Gitlab::VisibilityLevel::INTERNAL).count)
+ end
+
+ it 'should filter based on public visibility param' do
+ get api('/projects', user), { visibility: 'public' }
+ expect(response.status).to eq(200)
+ expect(json_response).to be_an Array
+ expect(json_response.length).to eq(user.namespace.projects.where(visibility_level: Gitlab::VisibilityLevel::PUBLIC).count)
+ end
+ end
+
context 'and using sorting' do
before do
project2