mirror of
https://github.com/h3poteto/whalebird-desktop
synced 2025-01-24 22:49:15 +01:00
132 lines
3.8 KiB
TypeScript
132 lines
3.8 KiB
TypeScript
|
import { createLocalVue } from '@vue/test-utils'
|
||
|
import Vuex from 'vuex'
|
||
|
import { ipcMain } from '~/spec/mock/electron'
|
||
|
import Account from '@/store/Preferences/Account'
|
||
|
|
||
|
const state = () => {
|
||
|
return {
|
||
|
accounts: [],
|
||
|
accountLoading: false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const initStore = () => {
|
||
|
return {
|
||
|
namespaced: true,
|
||
|
state: state(),
|
||
|
actions: Account.actions,
|
||
|
mutations: Account.mutations
|
||
|
}
|
||
|
}
|
||
|
|
||
|
describe('Account', () => {
|
||
|
let store
|
||
|
let localVue
|
||
|
|
||
|
beforeEach(() => {
|
||
|
localVue = createLocalVue()
|
||
|
localVue.use(Vuex)
|
||
|
store = new Vuex.Store({
|
||
|
modules: {
|
||
|
Account: initStore()
|
||
|
}
|
||
|
})
|
||
|
})
|
||
|
|
||
|
describe('loadAccounts', () => {
|
||
|
it('error', async () => {
|
||
|
ipcMain.once('list-accounts', (event, _) => {
|
||
|
event.sender.send('error-list-accounts', new Error())
|
||
|
})
|
||
|
|
||
|
await store.dispatch('Account/loadAccounts')
|
||
|
.catch((err: Error) => {
|
||
|
expect(err instanceof Error).toEqual(true)
|
||
|
})
|
||
|
})
|
||
|
it('success', async () => {
|
||
|
ipcMain.once('list-accounts', (event, _) => {
|
||
|
event.sender.send('response-list-accounts', ['accounts'])
|
||
|
})
|
||
|
await store.dispatch('Account/loadAccounts')
|
||
|
expect(store.state.Account.accounts).toEqual(['accounts'])
|
||
|
})
|
||
|
})
|
||
|
|
||
|
describe('removeAccount', () => {
|
||
|
it('error', async () => {
|
||
|
ipcMain.once('remove-account', (event, _) => {
|
||
|
event.sender.send('error-remove-account', new Error())
|
||
|
})
|
||
|
await store.dispatch('Account/removeAccount', 'account')
|
||
|
.catch((err: Error) => {
|
||
|
expect(err instanceof Error).toEqual(true)
|
||
|
})
|
||
|
})
|
||
|
it('success', async () => {
|
||
|
ipcMain.once('remove-account', (event, _) => {
|
||
|
event.sender.send('response-remove-account', 1)
|
||
|
})
|
||
|
const res = await store.dispatch('Account/removeAccount', 'account')
|
||
|
expect(res).toEqual(undefined)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
describe('forwardAccount', () => {
|
||
|
it('error', async () => {
|
||
|
ipcMain.once('forward-account', (event, _) => {
|
||
|
event.sender.send('error-forward-account', new Error())
|
||
|
})
|
||
|
await store.dispatch('Account/forwardAccount', 'account')
|
||
|
.catch((err: Error) => {
|
||
|
expect(err instanceof Error).toEqual(true)
|
||
|
})
|
||
|
})
|
||
|
it('success', async () => {
|
||
|
ipcMain.once('forward-account', (event, _) => {
|
||
|
event.sender.send('response-forward-account', 1)
|
||
|
})
|
||
|
const res = await store.dispatch('Account/forwardAccount', 'account')
|
||
|
expect(res).toEqual(undefined)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
describe('backwardAccount', () => {
|
||
|
it('error', async () => {
|
||
|
ipcMain.once('backward-account', (event, _) => {
|
||
|
event.sender.send('error-backward-account', new Error())
|
||
|
})
|
||
|
await store.dispatch('Account/backwardAccount', 'account')
|
||
|
.catch((err: Error) => {
|
||
|
expect(err instanceof Error).toEqual(true)
|
||
|
})
|
||
|
})
|
||
|
it('success', async () => {
|
||
|
ipcMain.once('backward-account', (event, _) => {
|
||
|
event.sender.send('response-backward-account', 1)
|
||
|
})
|
||
|
const res = await store.dispatch('Account/backwardAccount', 'account')
|
||
|
expect(res).toEqual(undefined)
|
||
|
})
|
||
|
})
|
||
|
|
||
|
describe('removeAllAccounts', () => {
|
||
|
it('error', async () => {
|
||
|
ipcMain.once('remove-all-accounts', (event, _) => {
|
||
|
event.sender.send('error-remove-all-accounts', new Error())
|
||
|
})
|
||
|
await store.dispatch('Account/removeAllAccounts', 'account')
|
||
|
.catch((err: Error) => {
|
||
|
expect(err instanceof Error).toEqual(true)
|
||
|
})
|
||
|
})
|
||
|
it('success', async () => {
|
||
|
ipcMain.once('remove-all-accounts', (event, _) => {
|
||
|
event.sender.send('response-remove-all-accounts', 1)
|
||
|
})
|
||
|
const res = await store.dispatch('Account/removeAllAccounts', 'account')
|
||
|
expect(res).toEqual(undefined)
|
||
|
})
|
||
|
})
|
||
|
})
|