summaryrefslogtreecommitdiff
path: root/spec/javascripts/helpers/vuex_action_helper.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/javascripts/helpers/vuex_action_helper.js')
-rw-r--r--spec/javascripts/helpers/vuex_action_helper.js102
1 files changed, 0 insertions, 102 deletions
diff --git a/spec/javascripts/helpers/vuex_action_helper.js b/spec/javascripts/helpers/vuex_action_helper.js
deleted file mode 100644
index c5de31a4138..00000000000
--- a/spec/javascripts/helpers/vuex_action_helper.js
+++ /dev/null
@@ -1,102 +0,0 @@
-const noop = () => {};
-
-/**
- * Helper for testing action with expected mutations inspired in
- * https://vuex.vuejs.org/en/testing.html
- *
- * @param {Function} action to be tested
- * @param {Object} payload will be provided to the action
- * @param {Object} state will be provided to the action
- * @param {Array} [expectedMutations=[]] mutations expected to be committed
- * @param {Array} [expectedActions=[]] actions expected to be dispatched
- * @param {Function} [done=noop] to be executed after the tests
- * @return {Promise}
- *
- * @example
- * testAction(
- * actions.actionName, // action
- * { }, // mocked payload
- * state, //state
- * // expected mutations
- * [
- * { type: types.MUTATION}
- * { type: types.MUTATION_1, payload: jasmine.any(Number)}
- * ],
- * // expected actions
- * [
- * { type: 'actionName', payload: {param: 'foobar'}},
- * { type: 'actionName1'}
- * ]
- * done,
- * );
- *
- * @example
- * testAction(
- * actions.actionName, // action
- * { }, // mocked payload
- * state, //state
- * [ { type: types.MUTATION} ], // expected mutations
- * [], // expected actions
- * ).then(done)
- * .catch(done.fail);
- */
-export default (
- action,
- payload,
- state,
- expectedMutations = [],
- expectedActions = [],
- done = noop,
-) => {
- const mutations = [];
- const actions = [];
-
- // mock commit
- const commit = (type, mutationPayload) => {
- const mutation = { type };
-
- if (typeof mutationPayload !== 'undefined') {
- mutation.payload = mutationPayload;
- }
-
- mutations.push(mutation);
- };
-
- // mock dispatch
- const dispatch = (type, actionPayload) => {
- const dispatchedAction = { type };
-
- if (typeof actionPayload !== 'undefined') {
- dispatchedAction.payload = actionPayload;
- }
-
- actions.push(dispatchedAction);
- };
-
- const validateResults = () => {
- expect({
- mutations,
- actions,
- }).toEqual({
- mutations: expectedMutations,
- actions: expectedActions,
- });
- done();
- };
-
- const result = action(
- { commit, state, dispatch, rootState: state, rootGetters: state, getters: state },
- payload,
- );
-
- return new Promise(setImmediate)
- .then(() => result)
- .catch(error => {
- validateResults();
- throw error;
- })
- .then(data => {
- validateResults();
- return data;
- });
-};