Commit c4dc0f52 authored by tiagonbotelho's avatar tiagonbotelho

adds test to check json fields on simple request and changes the url request format

parent f0c437ca
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
groupPath: "/api/:version/groups/:id.json" groupPath: "/api/:version/groups/:id.json"
namespacesPath: "/api/:version/namespaces.json" namespacesPath: "/api/:version/namespaces.json"
groupProjectsPath: "/api/:version/groups/:id/projects.json" groupProjectsPath: "/api/:version/groups/:id/projects.json"
projectsPath: "/api/:version/projects.json?format=simple" projectsPath: "/api/:version/projects.json?simple=true"
labelsPath: "/api/:version/projects/:id/labels" labelsPath: "/api/:version/projects/:id/labels"
licensePath: "/api/:version/licenses/:key" licensePath: "/api/:version/licenses/:key"
gitignorePath: "/api/:version/gitignores/:key" gitignorePath: "/api/:version/gitignores/:key"
......
...@@ -401,7 +401,6 @@ class GitLabDropdown ...@@ -401,7 +401,6 @@ class GitLabDropdown
selected = true selected = true
# Set URL # Set URL
console.log(data)
if @options.url? if @options.url?
url = @options.url(data) url = @options.url(data)
else else
......
...@@ -25,7 +25,7 @@ module API ...@@ -25,7 +25,7 @@ module API
@projects = current_user.authorized_projects @projects = current_user.authorized_projects
@projects = filter_projects(@projects) @projects = filter_projects(@projects)
@projects = paginate @projects @projects = paginate @projects
if params["format"] if params["simple"]
present @projects, with: Entities::BasicProjectWithAccess, user: current_user present @projects, with: Entities::BasicProjectWithAccess, user: current_user
else else
present @projects, with: Entities::ProjectWithAccess, user: current_user present @projects, with: Entities::ProjectWithAccess, user: current_user
......
...@@ -22,7 +22,7 @@ describe 'Project Title', -> ...@@ -22,7 +22,7 @@ describe 'Project Title', ->
@projects_data = fixture.load('projects.json')[0] @projects_data = fixture.load('projects.json')[0]
spyOn(jQuery, 'ajax').and.callFake (req) => spyOn(jQuery, 'ajax').and.callFake (req) =>
expect(req.url).toBe('/api/v3/projects.json?format=simple') expect(req.url).toBe('/api/v3/projects.json?simple=true')
d = $.Deferred() d = $.Deferred()
d.resolve @projects_data d.resolve @projects_data
d.promise() d.promise()
......
...@@ -81,6 +81,16 @@ describe API::API, api: true do ...@@ -81,6 +81,16 @@ describe API::API, api: true do
expect(json_response.first.keys).not_to include('open_issues_count') expect(json_response.first.keys).not_to include('open_issues_count')
end end
context 'GET /projects?simple=true' do
let(:keys) { ["id", "http_url_to_repo", "web_url", "name", "name_with_namespace", "path", "path_with_namespace", "permissions"] }
it 'should return a simplified version of all the projects' do
get api('/projects?simple=true', user)
expect(response).to have_http_status(200)
expect(json_response).to be_an Array
expect(json_response.first.keys).to match_array keys
end
end
context 'and using search' do context 'and using search' do
it 'should return searched project' do it 'should return searched project' do
get api('/projects', user), { search: project.name } get api('/projects', user), { search: project.name }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment