diff options
| author | taehoon <th.dev91@gmail.com> | 2019-07-25 14:17:48 -0400 |
|---|---|---|
| committer | taehoon <th.dev91@gmail.com> | 2019-07-25 14:17:48 -0400 |
| commit | a443a5203e19eb43cdff76b1e3e6502a5b917bc9 (patch) | |
| tree | 61285ce277936ff5e5a1d790b326e2d5550d36ba /test/unit | |
| parent | 65ef03931661561db0791ee7d560292dda6b7d48 (diff) | |
add more unit tests for elimination logic
Diffstat (limited to 'test/unit')
| -rw-r--r-- | test/unit/specs/components/timeline.spec.js | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/test/unit/specs/components/timeline.spec.js b/test/unit/specs/components/timeline.spec.js index b13d3e20..48796cd3 100644 --- a/test/unit/specs/components/timeline.spec.js +++ b/test/unit/specs/components/timeline.spec.js @@ -3,15 +3,28 @@ import { difference } from 'lodash' describe('Timeline', () => { describe('getExcludedStatusIdsByPinning', () => { - it('should not return unpinned status ids', () => { - const statuses = [ - { id: 1 }, - { id: 2 }, - { id: 3 }, - { id: 4 } - ] - const pinnedStatusIds = [1, 3] + const mockStatuses = (ids) => ids.map(id => ({ id })) + + it('should not return any unpinned status ids', () => { + const statuses = mockStatuses([1, 2, 3, 4]) + const pinnedStatusIds = [1, 3, 5] expect(difference(getExcludedStatusIdsByPinning(statuses, pinnedStatusIds), pinnedStatusIds)).to.eql([]) }) + + it('should not return any status ids not listed in the given statuses', () => { + const statusIds = [1, 2, 3, 4] + const statuses = mockStatuses(statusIds) + const pinnedStatusIds = [1, 3, 5] + expect(difference(getExcludedStatusIdsByPinning(statuses, pinnedStatusIds), statusIds)).to.eql([]) + }) + + it('should return ids of pinned statuses not posted before any unpinned status', () => { + const pinnedStatusIdSet1 = ['PINNED1', 'PINNED2'] + const pinnedStatusIdSet2 = ['PINNED3', 'PINNED4'] + const pinnedStatusIds = [...pinnedStatusIdSet1, ...pinnedStatusIdSet2] + const statusIds = [...pinnedStatusIdSet1, 'UNPINNED1', ...pinnedStatusIdSet2] + const statuses = mockStatuses(statusIds) + expect(getExcludedStatusIdsByPinning(statuses, pinnedStatusIds)).to.eql(pinnedStatusIdSet1) + }) }) -})
\ No newline at end of file +}) |
