Merge branch 'api-js-forked-projects' into 'master'
Added forked projects API call function See merge request gitlab-org/gitlab-ce!29841
This commit is contained in:
commit
49480d8e05
|
@ -12,6 +12,7 @@ const Api = {
|
|||
groupProjectsPath: '/api/:version/groups/:id/projects.json',
|
||||
projectsPath: '/api/:version/projects.json',
|
||||
projectPath: '/api/:version/projects/:id',
|
||||
forkedProjectsPath: '/api/:version/projects/:id/forks',
|
||||
projectLabelsPath: '/:namespace_path/:project_path/-/labels',
|
||||
projectMergeRequestsPath: '/api/:version/projects/:id/merge_requests',
|
||||
projectMergeRequestPath: '/api/:version/projects/:id/merge_requests/:mrid',
|
||||
|
@ -113,6 +114,21 @@ const Api = {
|
|||
return axios.get(url);
|
||||
},
|
||||
|
||||
/**
|
||||
* Get all projects for a forked relationship to a specified project
|
||||
* @param {string} projectPath - Path or ID of a project
|
||||
* @param {Object} params - Get request parameters
|
||||
* @returns {Promise} - Request promise
|
||||
*/
|
||||
projectForks(projectPath, params) {
|
||||
const url = Api.buildUrl(Api.forkedProjectsPath).replace(
|
||||
':id',
|
||||
encodeURIComponent(projectPath),
|
||||
);
|
||||
|
||||
return axios.get(url, { params });
|
||||
},
|
||||
|
||||
/**
|
||||
* Get all Merge Requests for a project, eventually filtering based on
|
||||
* supplied parameters
|
||||
|
|
|
@ -474,4 +474,27 @@ describe('Api', () => {
|
|||
.catch(done.fail);
|
||||
});
|
||||
});
|
||||
|
||||
describe('projectForks', () => {
|
||||
it('gets forked projects', done => {
|
||||
const dummyProjectPath = 'gitlab-org/gitlab-ce';
|
||||
const expectedUrl = `${dummyUrlRoot}/api/${dummyApiVersion}/projects/${encodeURIComponent(
|
||||
dummyProjectPath,
|
||||
)}/forks`;
|
||||
|
||||
jest.spyOn(axios, 'get');
|
||||
|
||||
mock.onGet(expectedUrl).replyOnce(200, ['fork']);
|
||||
|
||||
Api.projectForks(dummyProjectPath, { visibility: 'private' })
|
||||
.then(({ data }) => {
|
||||
expect(data).toEqual(['fork']);
|
||||
expect(axios.get).toHaveBeenCalledWith(expectedUrl, {
|
||||
params: { visibility: 'private' },
|
||||
});
|
||||
})
|
||||
.then(done)
|
||||
.catch(done.fail);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue