Merge pull request #833 from h3poteto/iss-209
refs #209 Add tests for Jump modal
This commit is contained in:
commit
7b4908c056
|
@ -0,0 +1,101 @@
|
|||
import { createLocalVue } from '@vue/test-utils'
|
||||
import Vuex from 'vuex'
|
||||
import i18n from '~/src/config/i18n'
|
||||
import router from '@/router'
|
||||
import Jump from '~/src/renderer/store/TimelineSpace/Modals/Jump'
|
||||
|
||||
const state = {
|
||||
modalOpen: true,
|
||||
channel: '',
|
||||
defaultChannelList: [
|
||||
{
|
||||
name: i18n.t('side_menu.home'),
|
||||
path: 'home'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.notification'),
|
||||
path: 'notifications'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.favourite'),
|
||||
path: 'favourites'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.local'),
|
||||
path: 'local'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.public'),
|
||||
path: 'public'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.hashtag'),
|
||||
path: 'hashtag'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.search'),
|
||||
path: 'search'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.direct'),
|
||||
path: 'direct-messages'
|
||||
}
|
||||
],
|
||||
listChannelList: [],
|
||||
tagChannelList: [],
|
||||
selectedChannel: {
|
||||
name: i18n.t('side_menu.home'),
|
||||
path: 'home'
|
||||
}
|
||||
}
|
||||
|
||||
const initState = {
|
||||
namespaced: true,
|
||||
state: state,
|
||||
actions: Jump.actions,
|
||||
mutations: Jump.mutations
|
||||
}
|
||||
|
||||
const timelineState = {
|
||||
namespaced: true,
|
||||
state: {
|
||||
account: {
|
||||
_id: '0'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
describe('Jump', () => {
|
||||
let store
|
||||
let localVue
|
||||
|
||||
beforeEach(() => {
|
||||
localVue = createLocalVue()
|
||||
localVue.use(Vuex)
|
||||
store = new Vuex.Store({
|
||||
modules: {
|
||||
Jump: initState,
|
||||
TimelineSpace: timelineState
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
describe('jumpCurrentSelected', () => {
|
||||
it('should be changed', () => {
|
||||
store.dispatch('Jump/jumpCurrentSelected')
|
||||
expect(store.state.Jump.modalOpen).toEqual(false)
|
||||
expect(router.push).toHaveBeenCalledWith({ path: '/0/home' })
|
||||
})
|
||||
})
|
||||
|
||||
describe('jump', () => {
|
||||
it('should be changed', () => {
|
||||
store.dispatch('Jump/jump', {
|
||||
name: 'public',
|
||||
path: 'public'
|
||||
})
|
||||
expect(store.state.Jump.modalOpen).toEqual(false)
|
||||
expect(router.push).toHaveBeenCalledWith({ path: '/0/public' })
|
||||
})
|
||||
})
|
||||
})
|
|
@ -0,0 +1,112 @@
|
|||
import i18n from '~/src/config/i18n'
|
||||
import Jump from '@/store/TimelineSpace/Modals/Jump'
|
||||
|
||||
describe('TimelineSpace/Modals/Jump', () => {
|
||||
describe('mutations', () => {
|
||||
let state
|
||||
beforeEach(() => {
|
||||
state = {
|
||||
modalOpen: true,
|
||||
channel: '',
|
||||
defaultChannelList: [
|
||||
{
|
||||
name: i18n.t('side_menu.home'),
|
||||
path: 'home'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.notification'),
|
||||
path: 'notifications'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.favourite'),
|
||||
path: 'favourites'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.local'),
|
||||
path: 'local'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.public'),
|
||||
path: 'public'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.hashtag'),
|
||||
path: 'hashtag'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.search'),
|
||||
path: 'search'
|
||||
},
|
||||
{
|
||||
name: i18n.t('side_menu.direct'),
|
||||
path: 'direct-messages'
|
||||
}
|
||||
],
|
||||
listChannelList: [],
|
||||
tagChannelList: [],
|
||||
selectedChannel: {
|
||||
name: i18n.t('side_menu.home'),
|
||||
path: 'home'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
describe('updateListChannel', () => {
|
||||
it('should be updated', () => {
|
||||
const channelList = [
|
||||
{
|
||||
id: '0',
|
||||
title: 'admin'
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
title: 'engineer'
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
title: 'designer'
|
||||
}
|
||||
]
|
||||
Jump.mutations.updateListChannel(state, channelList)
|
||||
expect(state.listChannelList).toEqual([
|
||||
{
|
||||
path: 'lists/0',
|
||||
name: '#admin'
|
||||
},
|
||||
{
|
||||
path: 'lists/1',
|
||||
name: '#engineer'
|
||||
},
|
||||
{
|
||||
path: 'lists/2',
|
||||
name: '#designer'
|
||||
}
|
||||
])
|
||||
})
|
||||
})
|
||||
|
||||
describe('updateTagChannel', () => {
|
||||
it('should be updated', () => {
|
||||
const channelList = [
|
||||
{
|
||||
tagName: 'whalebird'
|
||||
},
|
||||
{
|
||||
tagName: 'tqrk'
|
||||
}
|
||||
]
|
||||
Jump.mutations.updateTagChannel(state, channelList)
|
||||
expect(state.tagChannelList).toEqual([
|
||||
{
|
||||
name: '#whalebird',
|
||||
path: 'hashtag/whalebird'
|
||||
},
|
||||
{
|
||||
name: '#tqrk',
|
||||
path: 'hashtag/tqrk'
|
||||
}
|
||||
])
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
Loading…
Reference in New Issue