summaryrefslogtreecommitdiff
path: root/spec/requests/api/projects_spec.rb
diff options
context:
space:
mode:
authorvanadium23 <chernoffivan@gmail.com>2017-06-29 20:20:59 +0300
committervanadium23 <chernoffivan@gmail.com>2017-07-06 08:04:54 +0300
commit8d44d5142ae8a5e00b8417d2db8a7627fea0ef57 (patch)
tree01f8665234bbb169ce44a4a955a34436b8af96fa /spec/requests/api/projects_spec.rb
parent462b1ed99d729c3ede32d00fbac042ecb32268b1 (diff)
downloadgitlab-ce-8d44d5142ae8a5e00b8417d2db8a7627fea0ef57.tar.gz
Add user projects API
Diffstat (limited to 'spec/requests/api/projects_spec.rb')
-rw-r--r--spec/requests/api/projects_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 14dec3d45b1..049daee0ece 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -475,6 +475,26 @@ describe API::Projects do
end
end
+ describe 'GET /users/:user_id/projects/' do
+ let!(:public_project) { create(:empty_project, :public, name: 'public_project', creator_id: user4.id, namespace: user4.namespace) }
+
+ it 'returns error when user not found' do
+ get api('/users/9999/projects/')
+
+ expect(response).to have_http_status(404)
+ expect(json_response['message']).to eq('404 User Not Found')
+ end
+
+ it 'returns projects filtered by user' do
+ get api("/users/#{user4.id}/projects/", user)
+
+ expect(response).to have_http_status(200)
+ expect(response).to include_pagination_headers
+ expect(json_response).to be_an Array
+ expect(json_response.map { |project| project['id'] }).to contain_exactly(public_project.id)
+ end
+ end
+
describe 'POST /projects/user/:id' do
before do
expect(project).to be_persisted