Commit d6dd2f5f authored by Phil Hughes's avatar Phil Hughes

updated tests to use testAction helper

parent aaa7dbb4
import Vue from 'vue'; import Vue from 'vue';
import store from '~/ide/stores'; 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 service from '~/ide/services';
import router from '~/ide/ide_router'; import router from '~/ide/ide_router';
import eventHub from '~/ide/eventhub'; import eventHub from '~/ide/eventhub';
import { file, resetStore } from '../../helpers'; import { file, resetStore } from '../../helpers';
import testAction from '../../../helpers/vuex_action_helper';
describe('Multi-file store file actions', () => { describe('Multi-file store file actions', () => {
beforeEach(() => { beforeEach(() => {
...@@ -418,4 +421,28 @@ describe('Multi-file store file actions', () => { ...@@ -418,4 +421,28 @@ describe('Multi-file store file actions', () => {
.catch(done.fail); .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,
);
});
});
}); });
import * as urlUtils from '~/lib/utils/url_utility'; import * as urlUtils from '~/lib/utils/url_utility';
import store from '~/ide/stores'; 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 router from '~/ide/ide_router';
import { resetStore, file } from '../helpers'; import { resetStore, file } from '../helpers';
import testAction from '../../helpers/vuex_action_helper';
describe('Multi-file store actions', () => { describe('Multi-file store actions', () => {
beforeEach(() => { beforeEach(() => {
...@@ -191,9 +194,7 @@ describe('Multi-file store actions', () => { ...@@ -191,9 +194,7 @@ describe('Multi-file store actions', () => {
}) })
.then(f => { .then(f => {
expect(f.tempFile).toBeTruthy(); expect(f.tempFile).toBeTruthy();
expect(store.state.trees['abcproject/mybranch'].tree.length).toBe( expect(store.state.trees['abcproject/mybranch'].tree.length).toBe(1);
1,
);
done(); done();
}) })
...@@ -294,56 +295,35 @@ describe('Multi-file store actions', () => { ...@@ -294,56 +295,35 @@ describe('Multi-file store actions', () => {
describe('stageAllChanges', () => { describe('stageAllChanges', () => {
it('adds all files from changedFiles to stagedFiles', done => { it('adds all files from changedFiles to stagedFiles', done => {
const f = file(); store.state.changedFiles.push(file(), file('new'));
store.state.changedFiles.push(f);
store.state.changedFiles.push(file('new')); testAction(
actions.stageAllChanges,
store.state.changedFiles.forEach(localFile => { null,
store.state.entries[localFile.path] = localFile; store.state,
}); [
{ type: types.STAGE_CHANGE, payload: store.state.changedFiles[0].path },
store { type: types.STAGE_CHANGE, payload: store.state.changedFiles[1].path },
.dispatch('stageAllChanges') ],
.then(() => { done,
expect(store.state.stagedFiles.length).toBe(2); );
expect(store.state.stagedFiles[0]).toEqual(f);
done();
})
.catch(done.fail);
}); });
}); });
describe('unstageAllChanges', () => { 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 => { it('removes all files from stagedFiles after unstaging', done => {
store.state.stagedFiles.push(file()); store.state.stagedFiles.push(file(), file('new'));
store testAction(
.dispatch('unstageAllChanges') actions.unstageAllChanges,
.then(() => { null,
expect(store.state.stagedFiles.length).toBe(0); store.state,
[
done(); { type: types.UNSTAGE_CHANGE, payload: store.state.stagedFiles[0].path },
}) { type: types.UNSTAGE_CHANGE, payload: store.state.stagedFiles[1].path },
.catch(done.fail); ],
done,
);
}); });
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment