summaryrefslogtreecommitdiff
path: root/spec/javascripts/ide/stores/actions
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-06-27 16:15:16 +0100
committerPhil Hughes <me@iamphill.com>2018-06-27 16:15:16 +0100
commit5d5579b3f5e7394ee7158a5cc462980b9a966b63 (patch)
tree2f9b6cef937f484e670af1e38dbade98cfedfaf5 /spec/javascripts/ide/stores/actions
parente815c68dcca564c7f16f68992df6cf0d2c08eec9 (diff)
downloadgitlab-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.js62
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);
});
});