refs #209 Add unit tests for Home
This commit is contained in:
parent
adc351cc2d
commit
952b874b1a
|
@ -0,0 +1,336 @@
|
||||||
|
import Home from '@/store/TimelineSpace/Contents/Home'
|
||||||
|
|
||||||
|
describe('TimelineSpace/Contents/Home', () => {
|
||||||
|
describe('mutations', () => {
|
||||||
|
let state
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('changeLazyLoading', () => {
|
||||||
|
it('should be change', () => {
|
||||||
|
Home.mutations.changeLazyLoading(state, true)
|
||||||
|
expect(state.lazyLoading).toEqual(true)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('changeHeading', () => {
|
||||||
|
it('should be change', () => {
|
||||||
|
Home.mutations.changeHeading(state, false)
|
||||||
|
expect(state.heading).toEqual(false)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('appendTimeline', () => {
|
||||||
|
describe('heading', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [5, 4, 3, 2, 1, 0],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should update timeline', () => {
|
||||||
|
Home.mutations.appendTimeline(state, 6)
|
||||||
|
expect(state.timeline).toEqual([6, 5, 4, 3, 2, 1, 0])
|
||||||
|
expect(state.unreadTimeline).toEqual([])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('not heading', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: false,
|
||||||
|
timeline: [5, 4, 3, 2, 1, 0],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should update unreadTimeline', () => {
|
||||||
|
Home.mutations.appendTimeline(state, 6)
|
||||||
|
expect(state.timeline).toEqual([5, 4, 3, 2, 1, 0])
|
||||||
|
expect(state.unreadTimeline).toEqual([6])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('mergeTimeline', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [5, 4, 3, 2, 1, 0],
|
||||||
|
unreadTimeline: [8, 7, 6],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should be merged', () => {
|
||||||
|
Home.mutations.mergeTimeline(state)
|
||||||
|
expect(state.timeline).toEqual([8, 7, 6, 5, 4, 3, 2, 1, 0])
|
||||||
|
expect(state.unreadTimeline).toEqual([])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('insertTimeline', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [5, 4, 3, 2, 1, 0],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should be inserted', () => {
|
||||||
|
Home.mutations.insertTimeline(state, [-1, -2, -3, -4])
|
||||||
|
expect(state.timeline).toEqual([5, 4, 3, 2, 1, 0, -1, -2, -3, -4])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('updateToot', () => {
|
||||||
|
describe('message is not reblogged', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
reblog: null,
|
||||||
|
text: '3rd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: '2nd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
reblog: null,
|
||||||
|
text: '1st'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
reblog: null,
|
||||||
|
text: 'zero'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should be updated', () => {
|
||||||
|
Home.mutations.updateToot(state, {
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: 'second'
|
||||||
|
})
|
||||||
|
expect(state.timeline[1]).toEqual({
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: 'second'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
describe('message is reblogged', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
reblog: null,
|
||||||
|
text: '3rd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: '2nd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
reblog: {
|
||||||
|
id: -1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'reblogged message'
|
||||||
|
},
|
||||||
|
text: null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
reblog: null,
|
||||||
|
text: 'zero'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should be updated', () => {
|
||||||
|
Home.mutations.updateToot(state, {
|
||||||
|
id: -1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'negative id'
|
||||||
|
})
|
||||||
|
expect(state.timeline[2]).toEqual({
|
||||||
|
id: 1,
|
||||||
|
reblog: {
|
||||||
|
id: -1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'negative id'
|
||||||
|
},
|
||||||
|
text: null
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('deleteToot', () => {
|
||||||
|
describe('message is not reblogged', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
reblog: null,
|
||||||
|
text: '3rd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: '2nd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'first'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
reblog: null,
|
||||||
|
text: 'zero'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should be deleted', () => {
|
||||||
|
Home.mutations.deleteToot(state, {
|
||||||
|
id: 0,
|
||||||
|
reblog: null,
|
||||||
|
text: 'zero'
|
||||||
|
})
|
||||||
|
expect(state.timeline).toEqual([
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
reblog: null,
|
||||||
|
text: '3rd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: '2nd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'first'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('message is reblogged', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
state = {
|
||||||
|
lazyLoading: false,
|
||||||
|
heading: true,
|
||||||
|
timeline: [
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
reblog: null,
|
||||||
|
text: '3rd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: '2nd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
reblog: {
|
||||||
|
id: -1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'reblogged toot'
|
||||||
|
},
|
||||||
|
text: 'first'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
reblog: null,
|
||||||
|
text: 'zero'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
unreadTimeline: [],
|
||||||
|
filter: '',
|
||||||
|
showReblogs: true,
|
||||||
|
showReplies: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
it('should be deleted', () => {
|
||||||
|
Home.mutations.deleteToot(state, {
|
||||||
|
id: -1,
|
||||||
|
reblog: null,
|
||||||
|
text: 'reblogged toot'
|
||||||
|
})
|
||||||
|
expect(state.timeline).toEqual([
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
reblog: null,
|
||||||
|
text: '3rd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
reblog: null,
|
||||||
|
text: '2nd'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
reblog: null,
|
||||||
|
text: 'zero'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
Loading…
Reference in New Issue