From c1d0b04105b34f10c1dc0c592d16228053ba39b1 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sun, 1 Jan 2017 18:10:25 +0100 Subject: [PATCH] Make minVisibleId actually dependent on visible statuses. --- src/modules/statuses.js | 2 +- test/unit/specs/modules/statuses.spec.js | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/modules/statuses.js b/src/modules/statuses.js index 1db1f1b0..b1aa404a 100644 --- 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 index 6c048372..c130cbf3 100644 --- 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]) })