summaryrefslogtreecommitdiff
path: root/spec/javascripts/ide/stores/modules/pipelines/actions_spec.js
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-05-14 16:30:52 +0100
committerPhil Hughes <me@iamphill.com>2018-05-22 11:11:36 +0100
commitba90742631a5e1a0d1edc546d5d49b59210642bf (patch)
tree67b8e75ae82003cf502ba7303bf6d586224949cb /spec/javascripts/ide/stores/modules/pipelines/actions_spec.js
parent50985f54baf9a4d7e840e22ce8914f0bc919f5d8 (diff)
downloadgitlab-ce-ba90742631a5e1a0d1edc546d5d49b59210642bf.tar.gz
group jobs into stageside-jobs-list
Diffstat (limited to 'spec/javascripts/ide/stores/modules/pipelines/actions_spec.js')
-rw-r--r--spec/javascripts/ide/stores/modules/pipelines/actions_spec.js51
1 files changed, 49 insertions, 2 deletions
diff --git a/spec/javascripts/ide/stores/modules/pipelines/actions_spec.js b/spec/javascripts/ide/stores/modules/pipelines/actions_spec.js
index b7f04642dcd..85fbcf8084b 100644
--- a/spec/javascripts/ide/stores/modules/pipelines/actions_spec.js
+++ b/spec/javascripts/ide/stores/modules/pipelines/actions_spec.js
@@ -182,13 +182,21 @@ describe('IDE pipelines actions', () => {
});
describe('fetchJobs', () => {
+ let page = '';
+
beforeEach(() => {
mockedState.latestPipeline = pipelines[0];
});
describe('success', () => {
beforeEach(() => {
- mock.onGet(/\/api\/v4\/projects\/(.*)\/pipelines\/(.*)\/jobs/).replyOnce(200, jobs);
+ mock.onGet(/\/api\/v4\/projects\/(.*)\/pipelines\/(.*)\/jobs/).replyOnce(() => [
+ 200,
+ jobs,
+ {
+ 'x-next-page': page,
+ },
+ ]);
});
it('dispatches request', done => {
@@ -213,12 +221,51 @@ describe('IDE pipelines actions', () => {
);
});
+ it('dispatches twice for both pages', done => {
+ page = '2';
+
+ testAction(
+ fetchJobs,
+ null,
+ mockedState,
+ [],
+ [
+ { type: 'requestJobs' },
+ { type: 'receiveJobsSuccess', payload: jobs },
+ { type: 'fetchJobs', payload: '2' },
+ { type: 'requestJobs' },
+ { type: 'receiveJobsSuccess', payload: jobs },
+ ],
+ done,
+ );
+ });
+
it('calls axios with correct URL', () => {
const apiSpy = spyOn(axios, 'get').and.callThrough();
fetchJobs({ dispatch() {}, state: mockedState, rootState: mockedState });
- expect(apiSpy).toHaveBeenCalledWith('/api/v4/projects/test%2Fproject/pipelines/1/jobs');
+ expect(apiSpy).toHaveBeenCalledWith('/api/v4/projects/test%2Fproject/pipelines/1/jobs', {
+ params: { page: '1' },
+ });
+ });
+
+ it('calls axios with page next page', () => {
+ const apiSpy = spyOn(axios, 'get').and.callThrough();
+
+ fetchJobs({ dispatch() {}, state: mockedState, rootState: mockedState });
+
+ expect(apiSpy).toHaveBeenCalledWith('/api/v4/projects/test%2Fproject/pipelines/1/jobs', {
+ params: { page: '1' },
+ });
+
+ page = '2';
+
+ fetchJobs({ dispatch() {}, state: mockedState, rootState: mockedState }, page);
+
+ expect(apiSpy).toHaveBeenCalledWith('/api/v4/projects/test%2Fproject/pipelines/1/jobs', {
+ params: { page: '2' },
+ });
});
});