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

This commit is contained in:
tiagonbotelho 2016-07-11 16:05:06 +01:00
parent f0c437ca7d
commit c4dc0f52c3
5 changed files with 13 additions and 4 deletions

View file

@ -3,7 +3,7 @@
groupPath: "/api/:version/groups/:id.json"
namespacesPath: "/api/:version/namespaces.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"
licensePath: "/api/:version/licenses/:key"
gitignorePath: "/api/:version/gitignores/:key"

View file

@ -401,7 +401,6 @@ class GitLabDropdown
selected = true
# Set URL
console.log(data)
if @options.url?
url = @options.url(data)
else

View file

@ -25,7 +25,7 @@ module API
@projects = current_user.authorized_projects
@projects = filter_projects(@projects)
@projects = paginate @projects
if params["format"]
if params["simple"]
present @projects, with: Entities::BasicProjectWithAccess, user: current_user
else
present @projects, with: Entities::ProjectWithAccess, user: current_user

View file

@ -22,7 +22,7 @@ describe 'Project Title', ->
@projects_data = fixture.load('projects.json')[0]
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.resolve @projects_data
d.promise()

View file

@ -81,6 +81,16 @@ describe API::API, api: true do
expect(json_response.first.keys).not_to include('open_issues_count')
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
it 'should return searched project' do
get api('/projects', user), { search: project.name }