34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
import * as types from '~/import_projects/store/mutation_types';
|
|
import mutations from '~/import_projects/store/mutations';
|
|
|
|
describe('import_projects store mutations', () => {
|
|
describe(`${types.RECEIVE_IMPORT_SUCCESS}`, () => {
|
|
it('removes repoId from reposBeingImported and providerRepos, adds to importedProjects', () => {
|
|
const repoId = 1;
|
|
const state = {
|
|
reposBeingImported: [repoId],
|
|
providerRepos: [{ id: repoId }],
|
|
importedProjects: [],
|
|
};
|
|
const importedProject = { id: repoId };
|
|
|
|
mutations[types.RECEIVE_IMPORT_SUCCESS](state, { importedProject, repoId });
|
|
|
|
expect(state.reposBeingImported.includes(repoId)).toBe(false);
|
|
expect(state.providerRepos.some(repo => repo.id === repoId)).toBe(false);
|
|
expect(state.importedProjects.some(repo => repo.id === repoId)).toBe(true);
|
|
});
|
|
});
|
|
|
|
describe(`${types.RECEIVE_JOBS_SUCCESS}`, () => {
|
|
it('updates importStatus of existing importedProjects', () => {
|
|
const repoId = 1;
|
|
const state = { importedProjects: [{ id: repoId, importStatus: 'started' }] };
|
|
const updatedProjects = [{ id: repoId, importStatus: 'finished' }];
|
|
|
|
mutations[types.RECEIVE_JOBS_SUCCESS](state, updatedProjects);
|
|
|
|
expect(state.importedProjects[0].importStatus).toBe(updatedProjects[0].importStatus);
|
|
});
|
|
});
|
|
});
|