diff options
author | Phil Hughes <me@iamphill.com> | 2018-06-27 16:15:16 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-06-27 16:15:16 +0100 |
commit | 5d5579b3f5e7394ee7158a5cc462980b9a966b63 (patch) | |
tree | 2f9b6cef937f484e670af1e38dbade98cfedfaf5 /spec/javascripts/ide/stores/actions | |
parent | e815c68dcca564c7f16f68992df6cf0d2c08eec9 (diff) | |
download | gitlab-ce-5d5579b3f5e7394ee7158a5cc462980b9a966b63.tar.gz |
don't reload the full page
instead it just pushes a router & re-fetches what it needs
Diffstat (limited to 'spec/javascripts/ide/stores/actions')
-rw-r--r-- | spec/javascripts/ide/stores/actions/project_spec.js | 62 |
1 files changed, 44 insertions, 18 deletions
diff --git a/spec/javascripts/ide/stores/actions/project_spec.js b/spec/javascripts/ide/stores/actions/project_spec.js index ab8bca52093..c1f9fc4f148 100644 --- a/spec/javascripts/ide/stores/actions/project_spec.js +++ b/spec/javascripts/ide/stores/actions/project_spec.js @@ -7,9 +7,9 @@ import { getBranchData, } from '~/ide/stores/actions'; import store from '~/ide/stores'; -import projectActions from '~/ide/stores/actions/project'; import service from '~/ide/services'; import api from '~/api'; +import router from '~/ide/ide_router'; import { resetStore } from '../../helpers'; import testAction from '../../../helpers/vuex_action_helper'; @@ -124,7 +124,7 @@ describe('IDE store project actions', () => { describe('createNewBranchFromDefault', () => { it('calls API', done => { spyOn(api, 'createBranch').and.returnValue(Promise.resolve()); - spyOnDependency(projectActions, 'refreshCurrentPage'); + spyOn(router, 'push'); createNewBranchFromDefault( { @@ -136,23 +136,49 @@ describe('IDE store project actions', () => { default_branch: 'master', }, }, + dispatch() {}, }, 'new-branch-name', - ); + ) + .then(() => { + expect(api.createBranch).toHaveBeenCalledWith('project-path', { + ref: 'master', + branch: 'new-branch-name', + }); + }) + .then(done) + .catch(done.fail); + }); - setTimeout(() => { - expect(api.createBranch).toHaveBeenCalledWith('project-path', { - ref: 'master', - branch: 'new-branch-name', - }); + it('clears error message', done => { + const dispatchSpy = jasmine.createSpy('dispatch'); + spyOn(api, 'createBranch').and.returnValue(Promise.resolve()); + spyOn(router, 'push'); - done(); - }); + createNewBranchFromDefault( + { + state: { + currentProjectId: 'project-path', + }, + getters: { + currentProject: { + default_branch: 'master', + }, + }, + dispatch: dispatchSpy, + }, + 'new-branch-name', + ) + .then(() => { + expect(dispatchSpy).toHaveBeenCalledWith('setErrorMessage', null); + }) + .then(done) + .catch(done.fail); }); it('reloads window', done => { spyOn(api, 'createBranch').and.returnValue(Promise.resolve()); - const refreshSpy = spyOnDependency(projectActions, 'refreshCurrentPage'); + spyOn(router, 'push'); createNewBranchFromDefault( { @@ -164,15 +190,15 @@ describe('IDE store project actions', () => { default_branch: 'master', }, }, + dispatch() {}, }, 'new-branch-name', - ); - - setTimeout(() => { - expect(refreshSpy).toHaveBeenCalled(); - - done(); - }); + ) + .then(() => { + expect(router.push).toHaveBeenCalled(); + }) + .then(done) + .catch(done.fail); }); }); |