lists.spec.js (2938B)
- import { cloneDeep } from 'lodash'
- import { defaultState, mutations, getters } from '../../../../src/modules/lists.js'
- describe('The lists module', () => {
- describe('mutations', () => {
- it('updates array of all lists', () => {
- const state = cloneDeep(defaultState)
- const list = { id: '1', title: 'testList' }
- mutations.setLists(state, [list])
- expect(state.allLists).to.have.length(1)
- expect(state.allLists).to.eql([list])
- })
- it('adds a new list with a title, updating the title for existing lists', () => {
- const state = cloneDeep(defaultState)
- const list = { id: '1', title: 'testList' }
- const modList = { id: '1', title: 'anotherTestTitle' }
- mutations.setList(state, { listId: list.id, title: list.title })
- expect(state.allListsObject[list.id]).to.eql({ title: list.title, accountIds: [] })
- expect(state.allLists).to.have.length(1)
- expect(state.allLists[0]).to.eql(list)
- mutations.setList(state, { listId: modList.id, title: modList.title })
- expect(state.allListsObject[modList.id]).to.eql({ title: modList.title, accountIds: [] })
- expect(state.allLists).to.have.length(1)
- expect(state.allLists[0]).to.eql(modList)
- })
- it('adds a new list with an array of IDs, updating the IDs for existing lists', () => {
- const state = cloneDeep(defaultState)
- const list = { id: '1', accountIds: ['1', '2', '3'] }
- const modList = { id: '1', accountIds: ['3', '4', '5'] }
- mutations.setListAccounts(state, { listId: list.id, accountIds: list.accountIds })
- expect(state.allListsObject[list.id]).to.eql({ accountIds: list.accountIds })
- mutations.setListAccounts(state, { listId: modList.id, accountIds: modList.accountIds })
- expect(state.allListsObject[modList.id]).to.eql({ accountIds: modList.accountIds })
- })
- it('deletes a list', () => {
- const state = {
- allLists: [{ id: '1', title: 'testList' }],
- allListsObject: {
- 1: { title: 'testList', accountIds: ['1', '2', '3'] }
- }
- }
- const listId = '1'
- mutations.deleteList(state, { listId })
- expect(state.allLists).to.have.length(0)
- expect(state.allListsObject).to.eql({})
- })
- })
- describe('getters', () => {
- it('returns list title', () => {
- const state = {
- allLists: [{ id: '1', title: 'testList' }],
- allListsObject: {
- 1: { title: 'testList', accountIds: ['1', '2', '3'] }
- }
- }
- const id = '1'
- expect(getters.findListTitle(state)(id)).to.eql('testList')
- })
- it('returns list accounts', () => {
- const state = {
- allLists: [{ id: '1', title: 'testList' }],
- allListsObject: {
- 1: { title: 'testList', accountIds: ['1', '2', '3'] }
- }
- }
- const id = '1'
- expect(getters.findListAccounts(state)(id)).to.eql(['1', '2', '3'])
- })
- })
- })