72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
|
import {
|
||
|
refreshLastCommitData,
|
||
|
} from '~/ide/stores/actions';
|
||
|
import store from '~/ide/stores';
|
||
|
import service from '~/ide/services';
|
||
|
import { resetStore } from '../../helpers';
|
||
|
import testAction from '../../../helpers/vuex_action_helper';
|
||
|
|
||
|
describe('IDE store project actions', () => {
|
||
|
beforeEach(() => {
|
||
|
store.state.projects.abcproject = {};
|
||
|
});
|
||
|
|
||
|
afterEach(() => {
|
||
|
resetStore(store);
|
||
|
});
|
||
|
|
||
|
describe('refreshLastCommitData', () => {
|
||
|
beforeEach(() => {
|
||
|
store.state.currentProjectId = 'abcproject';
|
||
|
store.state.currentBranchId = 'master';
|
||
|
store.state.projects.abcproject = {
|
||
|
branches: {
|
||
|
master: {
|
||
|
commit: null,
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
});
|
||
|
|
||
|
it('calls the service', done => {
|
||
|
spyOn(service, 'getBranchData').and.returnValue(
|
||
|
Promise.resolve({
|
||
|
data: {
|
||
|
commit: { id: '123' },
|
||
|
},
|
||
|
}),
|
||
|
);
|
||
|
|
||
|
store
|
||
|
.dispatch('refreshLastCommitData', {
|
||
|
projectId: store.state.currentProjectId,
|
||
|
branchId: store.state.currentBranchId,
|
||
|
})
|
||
|
.then(() => {
|
||
|
expect(service.getBranchData).toHaveBeenCalledWith('abcproject', 'master');
|
||
|
|
||
|
done();
|
||
|
})
|
||
|
.catch(done.fail);
|
||
|
});
|
||
|
|
||
|
it('commits getBranchData', done => {
|
||
|
testAction(
|
||
|
refreshLastCommitData,
|
||
|
{},
|
||
|
{},
|
||
|
[{
|
||
|
type: 'SET_BRANCH_COMMIT',
|
||
|
payload: {
|
||
|
projectId: 'abcproject',
|
||
|
branchId: 'master',
|
||
|
commit: { id: '123' },
|
||
|
},
|
||
|
}], // mutations
|
||
|
[], // action
|
||
|
done,
|
||
|
);
|
||
|
});
|
||
|
});
|
||
|
});
|