commit: c1d0b04105b34f10c1dc0c592d16228053ba39b1
parent: 0db25bdca0c40a0d3e769b6b503cdadda4962126
Author: Roger Braun <roger@rogerbraun.net>
Date: Sun, 1 Jan 2017 18:10:25 +0100
Make minVisibleId actually dependent on visible statuses.
Diffstat:
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/modules/statuses.js b/src/modules/statuses.js
@@ -106,7 +106,7 @@ const mergeOrAdd = (arr, item) => {
const sortTimeline = (timeline) => {
timeline.visibleStatuses = sortBy(timeline.visibleStatuses, ({id}) => -id)
timeline.statuses = sortBy(timeline.statuses, ({id}) => -id)
- timeline.minVisibleId = (last(timeline.statuses) || {}).id
+ timeline.minVisibleId = (last(timeline.visibleStatuses) || {}).id
return timeline
}
diff --git a/test/unit/specs/modules/statuses.spec.js b/test/unit/specs/modules/statuses.spec.js
@@ -136,18 +136,21 @@ describe('The Statuses module', () => {
it('keeps a descending by id order in timeline.visibleStatuses and timeline.statuses', () => {
const state = cloneDeep(defaultState)
- const status = makeMockStatus({id: 2})
- const statusTwo = makeMockStatus({id: 1})
- const statusThree = makeMockStatus({id: 3})
+ const nonVisibleStatus = makeMockStatus({id: 1})
+ const status = makeMockStatus({id: 3})
+ const statusTwo = makeMockStatus({id: 2})
+ const statusThree = makeMockStatus({id: 4})
+
+ mutations.addNewStatuses(state, { statuses: [nonVisibleStatus], showImmediately: false, timeline: 'public' })
mutations.addNewStatuses(state, { statuses: [status], showImmediately: true, timeline: 'public' })
mutations.addNewStatuses(state, { statuses: [statusTwo], showImmediately: true, timeline: 'public' })
- expect(state.timelines.public.minVisibleId).to.equal(1)
+ expect(state.timelines.public.minVisibleId).to.equal(2)
mutations.addNewStatuses(state, { statuses: [statusThree], showImmediately: true, timeline: 'public' })
- expect(state.timelines.public.statuses).to.eql([statusThree, status, statusTwo])
+ expect(state.timelines.public.statuses).to.eql([statusThree, status, statusTwo, nonVisibleStatus])
expect(state.timelines.public.visibleStatuses).to.eql([statusThree, status, statusTwo])
})