Add new API method: projectUsers
The new API method projectUsers gets all the users added to a particular project.
This commit is contained in:
parent
f7f91e84f7
commit
cf88f9dda1
3 changed files with 42 additions and 0 deletions
|
@ -14,6 +14,7 @@ const Api = {
|
|||
projectPath: '/api/:version/projects/:id',
|
||||
forkedProjectsPath: '/api/:version/projects/:id/forks',
|
||||
projectLabelsPath: '/:namespace_path/:project_path/-/labels',
|
||||
projectUsersPath: '/api/:version/projects/:id/users',
|
||||
projectMergeRequestsPath: '/api/:version/projects/:id/merge_requests',
|
||||
projectMergeRequestPath: '/api/:version/projects/:id/merge_requests/:mrid',
|
||||
projectMergeRequestChangesPath: '/api/:version/projects/:id/merge_requests/:mrid/changes',
|
||||
|
@ -108,6 +109,20 @@ const Api = {
|
|||
});
|
||||
},
|
||||
|
||||
projectUsers(projectPath, query = '', options = {}) {
|
||||
const url = Api.buildUrl(this.projectUsersPath).replace(':id', encodeURIComponent(projectPath));
|
||||
|
||||
return axios
|
||||
.get(url, {
|
||||
params: {
|
||||
search: query,
|
||||
per_page: 20,
|
||||
...options,
|
||||
},
|
||||
})
|
||||
.then(({ data }) => data);
|
||||
},
|
||||
|
||||
// Return single project
|
||||
project(projectPath) {
|
||||
const url = Api.buildUrl(Api.projectPath).replace(':id', encodeURIComponent(projectPath));
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: 'Add new API method in Api.js: projectUsers'
|
||||
merge_request: 31801
|
||||
author:
|
||||
type: other
|
|
@ -151,6 +151,28 @@ describe('Api', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('projectUsers', () => {
|
||||
it('fetches all users of a particular project', done => {
|
||||
const query = 'dummy query';
|
||||
const options = { unused: 'option' };
|
||||
const projectPath = 'gitlab-org%2Fgitlab-ce';
|
||||
const expectedUrl = `${dummyUrlRoot}/api/${dummyApiVersion}/projects/${projectPath}/users`;
|
||||
mock.onGet(expectedUrl).reply(200, [
|
||||
{
|
||||
name: 'test',
|
||||
},
|
||||
]);
|
||||
|
||||
Api.projectUsers('gitlab-org/gitlab-ce', query, options)
|
||||
.then(response => {
|
||||
expect(response.length).toBe(1);
|
||||
expect(response[0].name).toBe('test');
|
||||
})
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
});
|
||||
});
|
||||
|
||||
describe('projectMergeRequests', () => {
|
||||
const projectPath = 'abc';
|
||||
const expectedUrl = `${dummyUrlRoot}/api/${dummyApiVersion}/projects/${projectPath}/merge_requests`;
|
||||
|
|
Loading…
Reference in a new issue