diff options
Diffstat (limited to 'spec/frontend/import_projects/store/actions_spec.js')
-rw-r--r-- | spec/frontend/import_projects/store/actions_spec.js | 189 |
1 files changed, 34 insertions, 155 deletions
diff --git a/spec/frontend/import_projects/store/actions_spec.js b/spec/frontend/import_projects/store/actions_spec.js index 4954513715e..1f2882a2532 100644 --- a/spec/frontend/import_projects/store/actions_spec.js +++ b/spec/frontend/import_projects/store/actions_spec.js @@ -4,7 +4,6 @@ import { TEST_HOST } from 'helpers/test_constants'; import axios from '~/lib/utils/axios_utils'; import { convertObjectPropsToCamelCase } from '~/lib/utils/common_utils'; import { - SET_INITIAL_DATA, REQUEST_REPOS, RECEIVE_REPOS_SUCCESS, RECEIVE_REPOS_ERROR, @@ -14,14 +13,7 @@ import { RECEIVE_JOBS_SUCCESS, } from '~/import_projects/store/mutation_types'; import { - setInitialData, - requestRepos, - receiveReposSuccess, - receiveReposError, fetchRepos, - requestImport, - receiveImportSuccess, - receiveImportError, fetchImport, receiveJobsSuccess, fetchJobs, @@ -32,7 +24,6 @@ import state from '~/import_projects/store/state'; describe('import_projects store actions', () => { let localState; - const repoId = 1; const repos = [{ id: 1 }, { id: 2 }]; const importPayload = { newName: 'newName', targetNamespace: 'targetNamespace', repo: { id: 1 } }; @@ -40,61 +31,6 @@ describe('import_projects store actions', () => { localState = state(); }); - describe('setInitialData', () => { - it(`commits ${SET_INITIAL_DATA} mutation`, done => { - const initialData = { - reposPath: 'reposPath', - provider: 'provider', - jobsPath: 'jobsPath', - importPath: 'impapp/assets/javascripts/vue_shared/components/select2_select.vueortPath', - defaultTargetNamespace: 'defaultTargetNamespace', - ciCdOnly: 'ciCdOnly', - canSelectNamespace: 'canSelectNamespace', - }; - - testAction( - setInitialData, - initialData, - localState, - [{ type: SET_INITIAL_DATA, payload: initialData }], - [], - done, - ); - }); - }); - - describe('requestRepos', () => { - it(`requestRepos commits ${REQUEST_REPOS} mutation`, done => { - testAction( - requestRepos, - null, - localState, - [{ type: REQUEST_REPOS, payload: null }], - [], - done, - ); - }); - }); - - describe('receiveReposSuccess', () => { - it(`commits ${RECEIVE_REPOS_SUCCESS} mutation`, done => { - testAction( - receiveReposSuccess, - repos, - localState, - [{ type: RECEIVE_REPOS_SUCCESS, payload: repos }], - [], - done, - ); - }); - }); - - describe('receiveReposError', () => { - it(`commits ${RECEIVE_REPOS_ERROR} mutation`, done => { - testAction(receiveReposError, repos, localState, [{ type: RECEIVE_REPOS_ERROR }], [], done); - }); - }); - describe('fetchRepos', () => { let mock; const payload = { imported_projects: [{}], provider_repos: [{}], namespaces: [{}] }; @@ -106,39 +42,33 @@ describe('import_projects store actions', () => { afterEach(() => mock.restore()); - it('dispatches stopJobsPolling, requestRepos and receiveReposSuccess actions on a successful request', done => { + it('dispatches stopJobsPolling actions and commits REQUEST_REPOS, RECEIVE_REPOS_SUCCESS mutations on a successful request', () => { mock.onGet(`${TEST_HOST}/endpoint.json`).reply(200, payload); - testAction( + return testAction( fetchRepos, null, localState, - [], [ - { type: 'stopJobsPolling' }, - { type: 'requestRepos' }, + { type: REQUEST_REPOS }, { - type: 'receiveReposSuccess', + type: RECEIVE_REPOS_SUCCESS, payload: convertObjectPropsToCamelCase(payload, { deep: true }), }, - { - type: 'fetchJobs', - }, ], - done, + [{ type: 'stopJobsPolling' }, { type: 'fetchJobs' }], ); }); - it('dispatches stopJobsPolling, requestRepos and receiveReposError actions on an unsuccessful request', done => { + it('dispatches stopJobsPolling action and commits REQUEST_REPOS, RECEIVE_REPOS_ERROR mutations on an unsuccessful request', () => { mock.onGet(`${TEST_HOST}/endpoint.json`).reply(500); - testAction( + return testAction( fetchRepos, null, localState, - [], - [{ type: 'stopJobsPolling' }, { type: 'requestRepos' }, { type: 'receiveReposError' }], - done, + [{ type: REQUEST_REPOS }, { type: RECEIVE_REPOS_ERROR }], + [{ type: 'stopJobsPolling' }], ); }); @@ -147,72 +77,26 @@ describe('import_projects store actions', () => { localState.filter = 'filter'; }); - it('fetches repos with filter applied', done => { + it('fetches repos with filter applied', () => { mock.onGet(`${TEST_HOST}/endpoint.json?filter=filter`).reply(200, payload); - testAction( + return testAction( fetchRepos, null, localState, - [], [ - { type: 'stopJobsPolling' }, - { type: 'requestRepos' }, + { type: REQUEST_REPOS }, { - type: 'receiveReposSuccess', + type: RECEIVE_REPOS_SUCCESS, payload: convertObjectPropsToCamelCase(payload, { deep: true }), }, - { - type: 'fetchJobs', - }, ], - done, + [{ type: 'stopJobsPolling' }, { type: 'fetchJobs' }], ); }); }); }); - describe('requestImport', () => { - it(`commits ${REQUEST_IMPORT} mutation`, done => { - testAction( - requestImport, - repoId, - localState, - [{ type: REQUEST_IMPORT, payload: repoId }], - [], - done, - ); - }); - }); - - describe('receiveImportSuccess', () => { - it(`commits ${RECEIVE_IMPORT_SUCCESS} mutation`, done => { - const payload = { importedProject: { name: 'imported/project' }, repoId: 2 }; - - testAction( - receiveImportSuccess, - payload, - localState, - [{ type: RECEIVE_IMPORT_SUCCESS, payload }], - [], - done, - ); - }); - }); - - describe('receiveImportError', () => { - it(`commits ${RECEIVE_IMPORT_ERROR} mutation`, done => { - testAction( - receiveImportError, - repoId, - localState, - [{ type: RECEIVE_IMPORT_ERROR, payload: repoId }], - [], - done, - ); - }); - }); - describe('fetchImport', () => { let mock; @@ -223,56 +107,53 @@ describe('import_projects store actions', () => { afterEach(() => mock.restore()); - it('dispatches requestImport and receiveImportSuccess actions on a successful request', done => { + it('commits REQUEST_IMPORT and REQUEST_IMPORT_SUCCESS mutations on a successful request', () => { const importedProject = { name: 'imported/project' }; const importRepoId = importPayload.repo.id; mock.onPost(`${TEST_HOST}/endpoint.json`).reply(200, importedProject); - testAction( + return testAction( fetchImport, importPayload, localState, - [], [ - { type: 'requestImport', payload: importRepoId }, + { type: REQUEST_IMPORT, payload: importRepoId }, { - type: 'receiveImportSuccess', + type: RECEIVE_IMPORT_SUCCESS, payload: { importedProject: convertObjectPropsToCamelCase(importedProject, { deep: true }), repoId: importRepoId, }, }, ], - done, + [], ); }); - it('dispatches requestImport and receiveImportSuccess actions on an unsuccessful request', done => { + it('commits REQUEST_IMPORT and RECEIVE_IMPORT_ERROR on an unsuccessful request', () => { mock.onPost(`${TEST_HOST}/endpoint.json`).reply(500); - testAction( + return testAction( fetchImport, importPayload, localState, - [], [ - { type: 'requestImport', payload: importPayload.repo.id }, - { type: 'receiveImportError', payload: { repoId: importPayload.repo.id } }, + { type: REQUEST_IMPORT, payload: importPayload.repo.id }, + { type: RECEIVE_IMPORT_ERROR, payload: importPayload.repo.id }, ], - done, + [], ); }); }); describe('receiveJobsSuccess', () => { - it(`commits ${RECEIVE_JOBS_SUCCESS} mutation`, done => { - testAction( + it(`commits ${RECEIVE_JOBS_SUCCESS} mutation`, () => { + return testAction( receiveJobsSuccess, repos, localState, [{ type: RECEIVE_JOBS_SUCCESS, payload: repos }], [], - done, ); }); }); @@ -293,21 +174,20 @@ describe('import_projects store actions', () => { afterEach(() => mock.restore()); - it('dispatches requestJobs and receiveJobsSuccess actions on a successful request', done => { + it('commits RECEIVE_JOBS_SUCCESS mutation on a successful request', async () => { mock.onGet(`${TEST_HOST}/endpoint.json`).reply(200, updatedProjects); - testAction( + await testAction( fetchJobs, null, localState, - [], [ { - type: 'receiveJobsSuccess', + type: RECEIVE_JOBS_SUCCESS, payload: convertObjectPropsToCamelCase(updatedProjects, { deep: true }), }, ], - done, + [], ); }); @@ -316,21 +196,20 @@ describe('import_projects store actions', () => { localState.filter = 'filter'; }); - it('fetches realtime changes with filter applied', done => { + it('fetches realtime changes with filter applied', () => { mock.onGet(`${TEST_HOST}/endpoint.json?filter=filter`).reply(200, updatedProjects); - testAction( + return testAction( fetchJobs, null, localState, - [], [ { - type: 'receiveJobsSuccess', + type: RECEIVE_JOBS_SUCCESS, payload: convertObjectPropsToCamelCase(updatedProjects, { deep: true }), }, ], - done, + [], ); }); }); |