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',
|
groupProjectsPath: '/api/:version/groups/:id/projects.json',
|
||||||
projectsPath: '/api/:version/projects.json',
|
projectsPath: '/api/:version/projects.json',
|
||||||
projectPath: '/api/:version/projects/:id',
|
projectPath: '/api/:version/projects/:id',
|
||||||
|
forkedProjectsPath: '/api/:version/projects/:id/forks',
|
||||||
projectLabelsPath: '/:namespace_path/:project_path/-/labels',
|
projectLabelsPath: '/:namespace_path/:project_path/-/labels',
|
||||||
projectMergeRequestsPath: '/api/:version/projects/:id/merge_requests',
|
projectMergeRequestsPath: '/api/:version/projects/:id/merge_requests',
|
||||||
projectMergeRequestPath: '/api/:version/projects/:id/merge_requests/:mrid',
|
projectMergeRequestPath: '/api/:version/projects/:id/merge_requests/:mrid',
|
||||||
|
@ -113,6 +114,21 @@ const Api = {
|
||||||
return axios.get(url);
|
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
|
* Get all Merge Requests for a project, eventually filtering based on
|
||||||
* supplied parameters
|
* supplied parameters
|
||||||
|
|
|
@ -474,4 +474,27 @@ describe('Api', () => {
|
||||||
.catch(done.fail);
|
.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