修复主题恢复与勋章状态
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
const test = require('node:test')
|
||||
const assert = require('node:assert/strict')
|
||||
|
||||
const { getBadgeProgress, getBadgeCelebration } = require('../utils/badge-state')
|
||||
|
||||
const badges = [{ days: 3 }, { days: 7 }, { days: 14 }]
|
||||
|
||||
test('badge progress remains zero before the first milestone', () => {
|
||||
assert.equal(getBadgeProgress(badges, 1), 0)
|
||||
assert.equal(getBadgeProgress(badges, 2), 0)
|
||||
assert.equal(getBadgeProgress(badges, 3), 4)
|
||||
})
|
||||
|
||||
test('badge celebration keeps prior milestones seen after records are deleted', () => {
|
||||
const afterDeletion = getBadgeCelebration([3], [])
|
||||
assert.deepEqual(afterDeletion, { newly: [], seen: [3] })
|
||||
|
||||
const afterRetraining = getBadgeCelebration(afterDeletion.seen, [3])
|
||||
assert.deepEqual(afterRetraining, { newly: [], seen: [3] })
|
||||
})
|
||||
|
||||
test('badge celebration only reports milestones never seen before', () => {
|
||||
assert.deepEqual(getBadgeCelebration([3], [3, 7]), {
|
||||
newly: [7],
|
||||
seen: [3, 7]
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user