diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
commit | 48aff82709769b098321c738f3444b9bdaa694c6 (patch) | |
tree | e00c7c43e2d9b603a5a6af576b1685e400410dee /spec/frontend/api_spec.js | |
parent | 879f5329ee916a948223f8f43d77fba4da6cd028 (diff) | |
download | gitlab-ce-48aff82709769b098321c738f3444b9bdaa694c6.tar.gz |
Add latest changes from gitlab-org/gitlab@13-5-stable-eev13.5.0-rc42
Diffstat (limited to 'spec/frontend/api_spec.js')
-rw-r--r-- | spec/frontend/api_spec.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/spec/frontend/api_spec.js b/spec/frontend/api_spec.js index 3ae0d06162d..9924525929b 100644 --- a/spec/frontend/api_spec.js +++ b/spec/frontend/api_spec.js @@ -421,6 +421,25 @@ describe('Api', () => { }); }); + describe('addProjectIssueAsTodo', () => { + it('adds issue ID as a todo', () => { + const projectId = 1; + const issueIid = 11; + const expectedUrl = `${dummyUrlRoot}/api/${dummyApiVersion}/projects/1/issues/11/todo`; + mock.onPost(expectedUrl).reply(200, { + id: 112, + project: { + id: 1, + }, + }); + + return Api.addProjectIssueAsTodo(projectId, issueIid).then(({ data }) => { + expect(data.id).toBe(112); + expect(data.project.id).toBe(projectId); + }); + }); + }); + describe('newLabel', () => { it('creates a new label', done => { const namespace = 'some namespace'; @@ -672,6 +691,27 @@ describe('Api', () => { }); }); + describe('pipelineJobs', () => { + it('fetches the jobs for a given pipeline', done => { + const projectId = 123; + const pipelineId = 456; + const expectedUrl = `${dummyUrlRoot}/api/${dummyApiVersion}/projects/${projectId}/pipelines/${pipelineId}/jobs`; + const payload = [ + { + name: 'test', + }, + ]; + mock.onGet(expectedUrl).reply(httpStatus.OK, payload); + + Api.pipelineJobs(projectId, pipelineId) + .then(({ data }) => { + expect(data).toEqual(payload); + }) + .then(done) + .catch(done.fail); + }); + }); + describe('createBranch', () => { it('creates new branch', done => { const ref = 'master'; @@ -1152,4 +1192,44 @@ describe('Api', () => { }); }); }); + + describe('trackRedisHllUserEvent', () => { + const expectedUrl = `${dummyUrlRoot}/api/${dummyApiVersion}/usage_data/increment_unique_users`; + + const event = 'dummy_event'; + const postData = { event }; + const headers = { + 'Content-Type': 'application/json', + }; + + describe('when usage data increment unique users is called with feature flag disabled', () => { + beforeEach(() => { + gon.features = { ...gon.features, usageDataApi: false }; + }); + + it('returns null', () => { + jest.spyOn(axios, 'post'); + mock.onPost(expectedUrl).replyOnce(httpStatus.OK, true); + + expect(axios.post).toHaveBeenCalledTimes(0); + expect(Api.trackRedisHllUserEvent(event)).toEqual(null); + }); + }); + + describe('when usage data increment unique users is called', () => { + beforeEach(() => { + gon.features = { ...gon.features, usageDataApi: true }; + }); + + it('resolves the Promise', () => { + jest.spyOn(axios, 'post'); + mock.onPost(expectedUrl, { event }).replyOnce(httpStatus.OK, true); + + return Api.trackRedisHllUserEvent(event).then(({ data }) => { + expect(data).toEqual(true); + expect(axios.post).toHaveBeenCalledWith(expectedUrl, postData, { headers }); + }); + }); + }); + }); }); |