Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-03-29 17:16:19 +0300
committerPhil Hughes <me@iamphill.com>2018-03-29 17:16:19 +0300
commitd6dd2f5f70685e35cf6d0f2738059fe44e1054a3 (patch)
tree7b97644cd014975681d75b8c683f52e7b27293dc
parentaaa7dbb4b6cd1ac7a9a5d4eddcd3ecb23ef870ac (diff)
updated tests to use testAction helper
-rw-r--r--spec/javascripts/ide/stores/actions/file_spec.js27
-rw-r--r--spec/javascripts/ide/stores/actions_spec.js76
2 files changed, 55 insertions, 48 deletions
diff --git a/spec/javascripts/ide/stores/actions/file_spec.js b/spec/javascripts/ide/stores/actions/file_spec.js
index 5b7c8365641..5de09f1faae 100644
--- a/spec/javascripts/ide/stores/actions/file_spec.js
+++ b/spec/javascripts/ide/stores/actions/file_spec.js
@@ -1,9 +1,12 @@
import Vue from 'vue';
import store from '~/ide/stores';
+import * as actions from '~/ide/stores/actions/file';
+import * as types from '~/ide/stores/mutation_types';
import service from '~/ide/services';
import router from '~/ide/ide_router';
import eventHub from '~/ide/eventhub';
import { file, resetStore } from '../../helpers';
+import testAction from '../../../helpers/vuex_action_helper';
describe('Multi-file store file actions', () => {
beforeEach(() => {
@@ -418,4 +421,28 @@ describe('Multi-file store file actions', () => {
.catch(done.fail);
});
});
+
+ describe('stageChange', () => {
+ it('calls STAGE_CHANGE with file path', done => {
+ testAction(
+ actions.stageChange,
+ 'path',
+ null,
+ [{ type: types.STAGE_CHANGE, payload: 'path' }],
+ done,
+ );
+ });
+ });
+
+ describe('unstageChange', () => {
+ it('calls UNSTAGE_CHANGE with file path', done => {
+ testAction(
+ actions.unstageChange,
+ 'path',
+ null,
+ [{ type: types.UNSTAGE_CHANGE, payload: 'path' }],
+ done,
+ );
+ });
+ });
});
diff --git a/spec/javascripts/ide/stores/actions_spec.js b/spec/javascripts/ide/stores/actions_spec.js
index 5b5846f93df..ce8d11c9c69 100644
--- a/spec/javascripts/ide/stores/actions_spec.js
+++ b/spec/javascripts/ide/stores/actions_spec.js
@@ -1,7 +1,10 @@
import * as urlUtils from '~/lib/utils/url_utility';
import store from '~/ide/stores';
+import * as actions from '~/ide/stores/actions';
+import * as types from '~/ide/stores/mutation_types';
import router from '~/ide/ide_router';
import { resetStore, file } from '../helpers';
+import testAction from '../../helpers/vuex_action_helper';
describe('Multi-file store actions', () => {
beforeEach(() => {
@@ -191,9 +194,7 @@ describe('Multi-file store actions', () => {
})
.then(f => {
expect(f.tempFile).toBeTruthy();
- expect(store.state.trees['abcproject/mybranch'].tree.length).toBe(
- 1,
- );
+ expect(store.state.trees['abcproject/mybranch'].tree.length).toBe(1);
done();
})
@@ -294,56 +295,35 @@ describe('Multi-file store actions', () => {
describe('stageAllChanges', () => {
it('adds all files from changedFiles to stagedFiles', done => {
- const f = file();
- store.state.changedFiles.push(f);
- store.state.changedFiles.push(file('new'));
-
- store.state.changedFiles.forEach(localFile => {
- store.state.entries[localFile.path] = localFile;
- });
-
- store
- .dispatch('stageAllChanges')
- .then(() => {
- expect(store.state.stagedFiles.length).toBe(2);
- expect(store.state.stagedFiles[0]).toEqual(f);
-
- done();
- })
- .catch(done.fail);
+ store.state.changedFiles.push(file(), file('new'));
+
+ testAction(
+ actions.stageAllChanges,
+ null,
+ store.state,
+ [
+ { type: types.STAGE_CHANGE, payload: store.state.changedFiles[0].path },
+ { type: types.STAGE_CHANGE, payload: store.state.changedFiles[1].path },
+ ],
+ done,
+ );
});
});
describe('unstageAllChanges', () => {
- let f;
-
- beforeEach(() => {
- f = {
- ...file(),
- type: 'blob',
- staged: true,
- };
-
- store.state.changedFiles.push({
- ...f,
- });
-
- store.state.changedFiles.forEach(localFile => {
- store.state.entries[localFile.path] = localFile;
- });
- });
-
it('removes all files from stagedFiles after unstaging', done => {
- store.state.stagedFiles.push(file());
-
- store
- .dispatch('unstageAllChanges')
- .then(() => {
- expect(store.state.stagedFiles.length).toBe(0);
-
- done();
- })
- .catch(done.fail);
+ store.state.stagedFiles.push(file(), file('new'));
+
+ testAction(
+ actions.unstageAllChanges,
+ null,
+ store.state,
+ [
+ { type: types.UNSTAGE_CHANGE, payload: store.state.stagedFiles[0].path },
+ { type: types.UNSTAGE_CHANGE, payload: store.state.stagedFiles[1].path },
+ ],
+ done,
+ );
});
});