aboutsummaryrefslogtreecommitdiff
path: root/test/unit
diff options
context:
space:
mode:
authortaehoon <th.dev91@gmail.com>2019-07-25 14:17:48 -0400
committertaehoon <th.dev91@gmail.com>2019-07-25 14:17:48 -0400
commita443a5203e19eb43cdff76b1e3e6502a5b917bc9 (patch)
tree61285ce277936ff5e5a1d790b326e2d5550d36ba /test/unit
parent65ef03931661561db0791ee7d560292dda6b7d48 (diff)
add more unit tests for elimination logic
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/specs/components/timeline.spec.js31
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
+})