Removes fetchStage actions and mutations
Updates tests
This commit is contained in:
parent
cc4a0d9a47
commit
a96b9ebfbe
10 changed files with 145 additions and 327 deletions
|
@ -86,6 +86,7 @@ export default {
|
|||
'isScrollTopDisabled',
|
||||
'isScrolledToBottomBeforeReceivingTrace',
|
||||
'hasError',
|
||||
'selectedStage',
|
||||
]),
|
||||
...mapGetters([
|
||||
'headerTime',
|
||||
|
@ -121,7 +122,9 @@ export default {
|
|||
// fetch the stages for the dropdown on the sidebar
|
||||
job(newVal, oldVal) {
|
||||
if (_.isEmpty(oldVal) && !_.isEmpty(newVal.pipeline)) {
|
||||
this.fetchStages();
|
||||
this.fetchJobsForStage(
|
||||
this.job.pipeline.details.stages.find(stage => stage && stage.name === this.selectedStage),
|
||||
);
|
||||
}
|
||||
|
||||
if (newVal.archived) {
|
||||
|
@ -160,7 +163,7 @@ export default {
|
|||
'setJobEndpoint',
|
||||
'setTraceOptions',
|
||||
'fetchJob',
|
||||
'fetchStages',
|
||||
'fetchJobsForStage',
|
||||
'hideSidebar',
|
||||
'showSidebar',
|
||||
'toggleSidebar',
|
||||
|
|
|
@ -34,7 +34,7 @@ export default {
|
|||
},
|
||||
},
|
||||
computed: {
|
||||
...mapState(['job', 'stages', 'jobs', 'selectedStage', 'isLoadingStages']),
|
||||
...mapState(['job', 'stages', 'jobs', 'selectedStage']),
|
||||
coverage() {
|
||||
return `${this.job.coverage}%`;
|
||||
},
|
||||
|
@ -208,7 +208,6 @@ export default {
|
|||
/>
|
||||
|
||||
<stages-dropdown
|
||||
v-if="!isLoadingStages"
|
||||
:stages="stages"
|
||||
:pipeline="job.pipeline"
|
||||
:selected-stage="selectedStage"
|
||||
|
|
|
@ -178,23 +178,6 @@ export const receiveTraceError = ({ commit }) => {
|
|||
flash(__('An error occurred while fetching the job log.'));
|
||||
};
|
||||
|
||||
/**
|
||||
* Stages dropdown on sidebar
|
||||
*/
|
||||
export const requestStages = ({ commit }) => commit(types.REQUEST_STAGES);
|
||||
export const fetchStages = ({ state, dispatch }) => {
|
||||
dispatch('requestStages');
|
||||
dispatch('receiveStagesSuccess', state.job.pipeline.details.stages);
|
||||
const selectedStage = state.job.pipeline.details.stages.find(stage => stage.name === state.selectedStage);
|
||||
dispatch('fetchJobsForStage', selectedStage);
|
||||
};
|
||||
export const receiveStagesSuccess = ({ commit }, data) =>
|
||||
commit(types.RECEIVE_STAGES_SUCCESS, data);
|
||||
export const receiveStagesError = ({ commit }) => {
|
||||
commit(types.RECEIVE_STAGES_ERROR);
|
||||
flash(__('An error occurred while fetching stages.'));
|
||||
};
|
||||
|
||||
/**
|
||||
* Jobs list on sidebar - depend on stages dropdown
|
||||
*/
|
||||
|
|
|
@ -24,10 +24,6 @@ export const STOP_POLLING_TRACE = 'STOP_POLLING_TRACE';
|
|||
export const RECEIVE_TRACE_SUCCESS = 'RECEIVE_TRACE_SUCCESS';
|
||||
export const RECEIVE_TRACE_ERROR = 'RECEIVE_TRACE_ERROR';
|
||||
|
||||
export const REQUEST_STAGES = 'REQUEST_STAGES';
|
||||
export const RECEIVE_STAGES_SUCCESS = 'RECEIVE_STAGES_SUCCESS';
|
||||
export const RECEIVE_STAGES_ERROR = 'RECEIVE_STAGES_ERROR';
|
||||
|
||||
export const SET_SELECTED_STAGE = 'SET_SELECTED_STAGE';
|
||||
export const REQUEST_JOBS_FOR_STAGE = 'REQUEST_JOBS_FOR_STAGE';
|
||||
export const RECEIVE_JOBS_FOR_STAGE_SUCCESS = 'RECEIVE_JOBS_FOR_STAGE_SUCCESS';
|
||||
|
|
|
@ -65,6 +65,8 @@ export default {
|
|||
state.isLoading = false;
|
||||
state.job = job;
|
||||
|
||||
state.stages = job.pipeline.details.stages || [];
|
||||
|
||||
/**
|
||||
* We only update it on the first request
|
||||
* The dropdown can be changed by the user
|
||||
|
@ -101,18 +103,6 @@ export default {
|
|||
state.isScrolledToBottomBeforeReceivingTrace = toggle;
|
||||
},
|
||||
|
||||
[types.REQUEST_STAGES](state) {
|
||||
state.isLoadingStages = true;
|
||||
},
|
||||
[types.RECEIVE_STAGES_SUCCESS](state, stages) {
|
||||
state.isLoadingStages = false;
|
||||
state.stages = stages;
|
||||
},
|
||||
[types.RECEIVE_STAGES_ERROR](state) {
|
||||
state.isLoadingStages = false;
|
||||
state.stages = [];
|
||||
},
|
||||
|
||||
[types.REQUEST_JOBS_FOR_STAGE](state, stage) {
|
||||
state.isLoadingJobs = true;
|
||||
state.selectedStage = stage.name;
|
||||
|
|
|
@ -25,7 +25,6 @@ export default () => ({
|
|||
traceState: null,
|
||||
|
||||
// sidebar dropdown & list of jobs
|
||||
isLoadingStages: false,
|
||||
isLoadingJobs: false,
|
||||
selectedStage: '',
|
||||
stages: [],
|
||||
|
|
|
@ -150,44 +150,8 @@ describe('Jobs Store Mutations', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('REQUEST_STAGES', () => {
|
||||
it('sets isLoadingStages to true', () => {
|
||||
mutations[types.REQUEST_STAGES](stateCopy);
|
||||
|
||||
expect(stateCopy.isLoadingStages).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('RECEIVE_STAGES_SUCCESS', () => {
|
||||
beforeEach(() => {
|
||||
mutations[types.RECEIVE_STAGES_SUCCESS](stateCopy, [{ name: 'build' }]);
|
||||
});
|
||||
|
||||
it('sets isLoadingStages to false', () => {
|
||||
expect(stateCopy.isLoadingStages).toEqual(false);
|
||||
});
|
||||
|
||||
it('sets stages', () => {
|
||||
expect(stateCopy.stages).toEqual([{ name: 'build' }]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('RECEIVE_STAGES_ERROR', () => {
|
||||
beforeEach(() => {
|
||||
mutations[types.RECEIVE_STAGES_ERROR](stateCopy);
|
||||
});
|
||||
|
||||
it('sets isLoadingStages to false', () => {
|
||||
expect(stateCopy.isLoadingStages).toEqual(false);
|
||||
});
|
||||
|
||||
it('resets stages', () => {
|
||||
expect(stateCopy.stages).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('REQUEST_JOBS_FOR_STAGE', () => {
|
||||
it('sets isLoadingStages to true', () => {
|
||||
it('sets isLoadingJobs to true', () => {
|
||||
mutations[types.REQUEST_JOBS_FOR_STAGE](stateCopy, { name: 'deploy' });
|
||||
|
||||
expect(stateCopy.isLoadingJobs).toEqual(true);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import Vue from 'vue';
|
||||
import sidebarDetailsBlock from '~/jobs/components/sidebar.vue';
|
||||
import createStore from '~/jobs/store';
|
||||
import job, { stages, jobsInStage } from '../mock_data';
|
||||
import job, { jobsInStage } from '../mock_data';
|
||||
import { mountComponentWithStore } from '../../helpers/vue_mount_component_helper';
|
||||
import { trimText } from '../../helpers/text_helper';
|
||||
|
||||
|
@ -131,18 +131,8 @@ describe('Sidebar details block', () => {
|
|||
store.dispatch('receiveJobSuccess', job);
|
||||
});
|
||||
|
||||
describe('while fetching stages', () => {
|
||||
it('it does not render dropdown', () => {
|
||||
store.dispatch('requestStages');
|
||||
vm = mountComponentWithStore(SidebarComponent, { store });
|
||||
|
||||
expect(vm.$el.querySelector('.js-selected-stage')).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('with stages', () => {
|
||||
beforeEach(() => {
|
||||
store.dispatch('receiveStagesSuccess', stages);
|
||||
vm = mountComponentWithStore(SidebarComponent, { store });
|
||||
});
|
||||
|
||||
|
@ -156,7 +146,6 @@ describe('Sidebar details block', () => {
|
|||
describe('without jobs for stages', () => {
|
||||
beforeEach(() => {
|
||||
store.dispatch('receiveJobSuccess', job);
|
||||
store.dispatch('receiveStagesSuccess', stages);
|
||||
vm = mountComponentWithStore(SidebarComponent, { store });
|
||||
});
|
||||
|
||||
|
@ -168,7 +157,6 @@ describe('Sidebar details block', () => {
|
|||
describe('with jobs for stages', () => {
|
||||
beforeEach(() => {
|
||||
store.dispatch('receiveJobSuccess', job);
|
||||
store.dispatch('receiveStagesSuccess', stages);
|
||||
store.dispatch('receiveJobsForStageSuccess', jobsInStage.latest_statuses);
|
||||
vm = mountComponentWithStore(SidebarComponent, { store });
|
||||
});
|
||||
|
|
|
@ -3,140 +3,6 @@ import { TEST_HOST } from 'spec/test_constants';
|
|||
const threeWeeksAgo = new Date();
|
||||
threeWeeksAgo.setDate(threeWeeksAgo.getDate() - 21);
|
||||
|
||||
export default {
|
||||
id: 4757,
|
||||
name: 'test',
|
||||
build_path: '/root/ci-mock/-/jobs/4757',
|
||||
retry_path: '/root/ci-mock/-/jobs/4757/retry',
|
||||
cancel_path: '/root/ci-mock/-/jobs/4757/cancel',
|
||||
new_issue_path: '/root/ci-mock/issues/new',
|
||||
playable: false,
|
||||
created_at: threeWeeksAgo.toISOString(),
|
||||
updated_at: threeWeeksAgo.toISOString(),
|
||||
finished_at: threeWeeksAgo.toISOString(),
|
||||
queued: 9.54,
|
||||
status: {
|
||||
icon: 'status_success',
|
||||
text: 'passed',
|
||||
label: 'passed',
|
||||
group: 'success',
|
||||
has_details: true,
|
||||
details_path: `${TEST_HOST}/root/ci-mock/-/jobs/4757`,
|
||||
favicon:
|
||||
'/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png',
|
||||
action: {
|
||||
icon: 'retry',
|
||||
title: 'Retry',
|
||||
path: '/root/ci-mock/-/jobs/4757/retry',
|
||||
method: 'post',
|
||||
},
|
||||
},
|
||||
coverage: 20,
|
||||
erased_at: threeWeeksAgo.toISOString(),
|
||||
erased: false,
|
||||
duration: 6.785563,
|
||||
tags: ['tag'],
|
||||
user: {
|
||||
name: 'Root',
|
||||
username: 'root',
|
||||
id: 1,
|
||||
state: 'active',
|
||||
avatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
web_url: 'http://localhost:3000/root',
|
||||
},
|
||||
erase_path: '/root/ci-mock/-/jobs/4757/erase',
|
||||
artifacts: [null],
|
||||
runner: {
|
||||
id: 1,
|
||||
description: 'local ci runner',
|
||||
edit_path: '/root/ci-mock/runners/1/edit',
|
||||
},
|
||||
pipeline: {
|
||||
id: 140,
|
||||
user: {
|
||||
name: 'Root',
|
||||
username: 'root',
|
||||
id: 1,
|
||||
state: 'active',
|
||||
avatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
web_url: 'http://localhost:3000/root',
|
||||
},
|
||||
active: false,
|
||||
coverage: null,
|
||||
source: 'unknown',
|
||||
created_at: '2017-05-24T09:59:58.634Z',
|
||||
updated_at: '2017-06-01T17:32:00.062Z',
|
||||
path: '/root/ci-mock/pipelines/140',
|
||||
flags: {
|
||||
latest: true,
|
||||
stuck: false,
|
||||
yaml_errors: false,
|
||||
retryable: false,
|
||||
cancelable: false,
|
||||
},
|
||||
details: {
|
||||
status: {
|
||||
icon: 'status_success',
|
||||
text: 'passed',
|
||||
label: 'passed',
|
||||
group: 'success',
|
||||
has_details: true,
|
||||
details_path: '/root/ci-mock/pipelines/140',
|
||||
favicon:
|
||||
'/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png',
|
||||
},
|
||||
duration: 6,
|
||||
finished_at: '2017-06-01T17:32:00.042Z',
|
||||
},
|
||||
ref: {
|
||||
name: 'abc',
|
||||
path: '/root/ci-mock/commits/abc',
|
||||
tag: false,
|
||||
branch: true,
|
||||
},
|
||||
commit: {
|
||||
id: 'c58647773a6b5faf066d4ad6ff2c9fbba5f180f6',
|
||||
short_id: 'c5864777',
|
||||
title: 'Add new file',
|
||||
created_at: '2017-05-24T10:59:52.000+01:00',
|
||||
parent_ids: ['798e5f902592192afaba73f4668ae30e56eae492'],
|
||||
message: 'Add new file',
|
||||
author_name: 'Root',
|
||||
author_email: 'admin@example.com',
|
||||
authored_date: '2017-05-24T10:59:52.000+01:00',
|
||||
committer_name: 'Root',
|
||||
committer_email: 'admin@example.com',
|
||||
committed_date: '2017-05-24T10:59:52.000+01:00',
|
||||
author: {
|
||||
name: 'Root',
|
||||
username: 'root',
|
||||
id: 1,
|
||||
state: 'active',
|
||||
avatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
web_url: 'http://localhost:3000/root',
|
||||
},
|
||||
author_gravatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
commit_url:
|
||||
'http://localhost:3000/root/ci-mock/commit/c58647773a6b5faf066d4ad6ff2c9fbba5f180f6',
|
||||
commit_path: '/root/ci-mock/commit/c58647773a6b5faf066d4ad6ff2c9fbba5f180f6',
|
||||
},
|
||||
},
|
||||
metadata: {
|
||||
timeout_human_readable: '1m 40s',
|
||||
timeout_source: 'runner',
|
||||
},
|
||||
merge_request: {
|
||||
iid: 2,
|
||||
path: '/root/ci-mock/merge_requests/2',
|
||||
},
|
||||
raw_path: '/root/ci-mock/builds/4757/raw',
|
||||
has_trace: true,
|
||||
};
|
||||
|
||||
export const stages = [
|
||||
{
|
||||
name: 'build',
|
||||
|
@ -1043,6 +909,141 @@ export const stages = [
|
|||
},
|
||||
];
|
||||
|
||||
export default {
|
||||
id: 4757,
|
||||
name: 'test',
|
||||
build_path: '/root/ci-mock/-/jobs/4757',
|
||||
retry_path: '/root/ci-mock/-/jobs/4757/retry',
|
||||
cancel_path: '/root/ci-mock/-/jobs/4757/cancel',
|
||||
new_issue_path: '/root/ci-mock/issues/new',
|
||||
playable: false,
|
||||
created_at: threeWeeksAgo.toISOString(),
|
||||
updated_at: threeWeeksAgo.toISOString(),
|
||||
finished_at: threeWeeksAgo.toISOString(),
|
||||
queued: 9.54,
|
||||
status: {
|
||||
icon: 'status_success',
|
||||
text: 'passed',
|
||||
label: 'passed',
|
||||
group: 'success',
|
||||
has_details: true,
|
||||
details_path: `${TEST_HOST}/root/ci-mock/-/jobs/4757`,
|
||||
favicon:
|
||||
'/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png',
|
||||
action: {
|
||||
icon: 'retry',
|
||||
title: 'Retry',
|
||||
path: '/root/ci-mock/-/jobs/4757/retry',
|
||||
method: 'post',
|
||||
},
|
||||
},
|
||||
coverage: 20,
|
||||
erased_at: threeWeeksAgo.toISOString(),
|
||||
erased: false,
|
||||
duration: 6.785563,
|
||||
tags: ['tag'],
|
||||
user: {
|
||||
name: 'Root',
|
||||
username: 'root',
|
||||
id: 1,
|
||||
state: 'active',
|
||||
avatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
web_url: 'http://localhost:3000/root',
|
||||
},
|
||||
erase_path: '/root/ci-mock/-/jobs/4757/erase',
|
||||
artifacts: [null],
|
||||
runner: {
|
||||
id: 1,
|
||||
description: 'local ci runner',
|
||||
edit_path: '/root/ci-mock/runners/1/edit',
|
||||
},
|
||||
pipeline: {
|
||||
id: 140,
|
||||
user: {
|
||||
name: 'Root',
|
||||
username: 'root',
|
||||
id: 1,
|
||||
state: 'active',
|
||||
avatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
web_url: 'http://localhost:3000/root',
|
||||
},
|
||||
active: false,
|
||||
coverage: null,
|
||||
source: 'unknown',
|
||||
created_at: '2017-05-24T09:59:58.634Z',
|
||||
updated_at: '2017-06-01T17:32:00.062Z',
|
||||
path: '/root/ci-mock/pipelines/140',
|
||||
flags: {
|
||||
latest: true,
|
||||
stuck: false,
|
||||
yaml_errors: false,
|
||||
retryable: false,
|
||||
cancelable: false,
|
||||
},
|
||||
details: {
|
||||
status: {
|
||||
icon: 'status_success',
|
||||
text: 'passed',
|
||||
label: 'passed',
|
||||
group: 'success',
|
||||
has_details: true,
|
||||
details_path: '/root/ci-mock/pipelines/140',
|
||||
favicon:
|
||||
'/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png',
|
||||
},
|
||||
duration: 6,
|
||||
finished_at: '2017-06-01T17:32:00.042Z',
|
||||
stages: stages,
|
||||
},
|
||||
ref: {
|
||||
name: 'abc',
|
||||
path: '/root/ci-mock/commits/abc',
|
||||
tag: false,
|
||||
branch: true,
|
||||
},
|
||||
commit: {
|
||||
id: 'c58647773a6b5faf066d4ad6ff2c9fbba5f180f6',
|
||||
short_id: 'c5864777',
|
||||
title: 'Add new file',
|
||||
created_at: '2017-05-24T10:59:52.000+01:00',
|
||||
parent_ids: ['798e5f902592192afaba73f4668ae30e56eae492'],
|
||||
message: 'Add new file',
|
||||
author_name: 'Root',
|
||||
author_email: 'admin@example.com',
|
||||
authored_date: '2017-05-24T10:59:52.000+01:00',
|
||||
committer_name: 'Root',
|
||||
committer_email: 'admin@example.com',
|
||||
committed_date: '2017-05-24T10:59:52.000+01:00',
|
||||
author: {
|
||||
name: 'Root',
|
||||
username: 'root',
|
||||
id: 1,
|
||||
state: 'active',
|
||||
avatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
web_url: 'http://localhost:3000/root',
|
||||
},
|
||||
author_gravatar_url:
|
||||
'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
|
||||
commit_url:
|
||||
'http://localhost:3000/root/ci-mock/commit/c58647773a6b5faf066d4ad6ff2c9fbba5f180f6',
|
||||
commit_path: '/root/ci-mock/commit/c58647773a6b5faf066d4ad6ff2c9fbba5f180f6',
|
||||
},
|
||||
},
|
||||
metadata: {
|
||||
timeout_human_readable: '1m 40s',
|
||||
timeout_source: 'runner',
|
||||
},
|
||||
merge_request: {
|
||||
iid: 2,
|
||||
path: '/root/ci-mock/merge_requests/2',
|
||||
},
|
||||
raw_path: '/root/ci-mock/builds/4757/raw',
|
||||
has_trace: true,
|
||||
};
|
||||
|
||||
export const jobsInStage = {
|
||||
name: 'build',
|
||||
title: 'build: running',
|
||||
|
|
|
@ -16,10 +16,6 @@ import {
|
|||
stopPollingTrace,
|
||||
receiveTraceSuccess,
|
||||
receiveTraceError,
|
||||
requestStages,
|
||||
fetchStages,
|
||||
receiveStagesSuccess,
|
||||
receiveStagesError,
|
||||
requestJobsForStage,
|
||||
fetchJobsForStage,
|
||||
receiveJobsForStageSuccess,
|
||||
|
@ -307,107 +303,6 @@ describe('Job State actions', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('requestStages', () => {
|
||||
it('should commit REQUEST_STAGES mutation ', done => {
|
||||
testAction(requestStages, null, mockedState, [{ type: types.REQUEST_STAGES }], [], done);
|
||||
});
|
||||
});
|
||||
|
||||
describe('fetchStages', () => {
|
||||
let mock;
|
||||
|
||||
beforeEach(() => {
|
||||
mockedState.job.pipeline = {
|
||||
path: `${TEST_HOST}/endpoint`,
|
||||
};
|
||||
mockedState.selectedStage = 'deploy';
|
||||
mock = new MockAdapter(axios);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
mock.restore();
|
||||
});
|
||||
|
||||
describe('success', () => {
|
||||
it('dispatches requestStages and receiveStagesSuccess, fetchJobsForStage ', done => {
|
||||
mock
|
||||
.onGet(`${TEST_HOST}/endpoint.json`)
|
||||
.replyOnce(200, { details: { stages: [{ name: 'build' }, { name: 'deploy' }] } });
|
||||
|
||||
testAction(
|
||||
fetchStages,
|
||||
null,
|
||||
mockedState,
|
||||
[],
|
||||
[
|
||||
{
|
||||
type: 'requestStages',
|
||||
},
|
||||
{
|
||||
payload: [{ name: 'build' }, { name: 'deploy' }],
|
||||
type: 'receiveStagesSuccess',
|
||||
},
|
||||
{
|
||||
payload: { name: 'deploy' },
|
||||
type: 'fetchJobsForStage',
|
||||
},
|
||||
],
|
||||
done,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('error', () => {
|
||||
beforeEach(() => {
|
||||
mock.onGet(`${TEST_HOST}/endpoint.json`).reply(500);
|
||||
});
|
||||
|
||||
it('dispatches requestStages and receiveStagesError ', done => {
|
||||
testAction(
|
||||
fetchStages,
|
||||
null,
|
||||
mockedState,
|
||||
[],
|
||||
[
|
||||
{
|
||||
type: 'requestStages',
|
||||
},
|
||||
{
|
||||
type: 'receiveStagesError',
|
||||
},
|
||||
],
|
||||
done,
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('receiveStagesSuccess', () => {
|
||||
it('should commit RECEIVE_STAGES_SUCCESS mutation ', done => {
|
||||
testAction(
|
||||
receiveStagesSuccess,
|
||||
{},
|
||||
mockedState,
|
||||
[{ type: types.RECEIVE_STAGES_SUCCESS, payload: {} }],
|
||||
[],
|
||||
done,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('receiveStagesError', () => {
|
||||
it('should commit RECEIVE_STAGES_ERROR mutation ', done => {
|
||||
testAction(
|
||||
receiveStagesError,
|
||||
null,
|
||||
mockedState,
|
||||
[{ type: types.RECEIVE_STAGES_ERROR }],
|
||||
[],
|
||||
done,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('requestJobsForStage', () => {
|
||||
it('should commit REQUEST_JOBS_FOR_STAGE mutation ', done => {
|
||||
testAction(
|
||||
|
|
Loading…
Reference in a new issue