Let's now try to test our Vuex store. The most critical parts of our store to test are our actions and mutations because they can actually mutate the store's state. Let's start with the mutations. Create the mutations.spec.js
file in the test
folder and import mutations.js
:
// test/mutations.spec.js import mutations from '~/store/mutations'
We are ready to write unit tests for our mutation functions.
Mutations are very simple functions that receive a state object and set some of its attribute to the given value. Thus, testing mutations is fairly easy—we have just to mock the state object and pass it to the mutation we want to test with a value we want to set. In the end, we have to check whether the value has been actually set. Let's, for example, test the mutation setWorkingPomodoro
. This is what our mutation looks like:
// store/mutations.js setWorkingPomodoro (state, workingPomodoro) { state.config.workingPomodoro = workingPomodoro }
In our test...