98 lines
2.3 KiB
JavaScript
98 lines
2.3 KiB
JavaScript
import {
|
|
requestReleases,
|
|
fetchReleases,
|
|
receiveReleasesSuccess,
|
|
receiveReleasesError,
|
|
} from '~/releases/store/actions';
|
|
import state from '~/releases/store/state';
|
|
import * as types from '~/releases/store/mutation_types';
|
|
import api from '~/api';
|
|
import testAction from 'spec/helpers/vuex_action_helper';
|
|
import { releases } from '../mock_data';
|
|
|
|
describe('Releases State actions', () => {
|
|
let mockedState;
|
|
|
|
beforeEach(() => {
|
|
mockedState = state();
|
|
});
|
|
|
|
describe('requestReleases', () => {
|
|
it('should commit REQUEST_RELEASES mutation', done => {
|
|
testAction(requestReleases, null, mockedState, [{ type: types.REQUEST_RELEASES }], [], done);
|
|
});
|
|
});
|
|
|
|
describe('fetchReleases', () => {
|
|
describe('success', () => {
|
|
it('dispatches requestReleases and receiveReleasesSuccess ', done => {
|
|
spyOn(api, 'releases').and.returnValue(Promise.resolve({ data: releases }));
|
|
|
|
testAction(
|
|
fetchReleases,
|
|
releases,
|
|
mockedState,
|
|
[],
|
|
[
|
|
{
|
|
type: 'requestReleases',
|
|
},
|
|
{
|
|
payload: releases,
|
|
type: 'receiveReleasesSuccess',
|
|
},
|
|
],
|
|
done,
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('error', () => {
|
|
it('dispatches requestReleases and receiveReleasesError ', done => {
|
|
spyOn(api, 'releases').and.returnValue(Promise.reject());
|
|
|
|
testAction(
|
|
fetchReleases,
|
|
null,
|
|
mockedState,
|
|
[],
|
|
[
|
|
{
|
|
type: 'requestReleases',
|
|
},
|
|
{
|
|
type: 'receiveReleasesError',
|
|
},
|
|
],
|
|
done,
|
|
);
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('receiveReleasesSuccess', () => {
|
|
it('should commit RECEIVE_RELEASES_SUCCESS mutation', done => {
|
|
testAction(
|
|
receiveReleasesSuccess,
|
|
releases,
|
|
mockedState,
|
|
[{ type: types.RECEIVE_RELEASES_SUCCESS, payload: releases }],
|
|
[],
|
|
done,
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('receiveReleasesError', () => {
|
|
it('should commit RECEIVE_RELEASES_ERROR mutation', done => {
|
|
testAction(
|
|
receiveReleasesError,
|
|
null,
|
|
mockedState,
|
|
[{ type: types.RECEIVE_RELEASES_ERROR }],
|
|
[],
|
|
done,
|
|
);
|
|
});
|
|
});
|
|
});
|