fix(documents): refine unread badges and mark all read

This commit is contained in:
caoxiaozhu
2026-06-03 16:46:13 +08:00
parent 513ff909f9
commit 4717ee6086
8 changed files with 201 additions and 22 deletions

View File

@@ -5,6 +5,7 @@ import {
countNewDocuments,
isNewDocument,
markDocumentViewed,
markDocumentsViewed,
readDocumentScope,
readViewedDocumentKeys,
resolveDocumentNewKey,
@@ -47,6 +48,19 @@ test('document center new state counts unseen documents and persists viewed rows
assert.deepEqual([...readViewedDocumentKeys(storage)], ['owned:claim-1'])
})
test('document center new state can mark all unread rows as viewed at once', () => {
const storage = createMemoryStorage()
const rows = [
{ source: 'owned', claimId: 'claim-1' },
{ source: 'approval', claimId: 'claim-2' },
{ source: 'archive', claimId: 'claim-3' }
]
const viewedKeys = markDocumentsViewed(rows, readViewedDocumentKeys(storage), storage)
assert.equal(countNewDocuments(rows, viewedKeys), 0)
assert.deepEqual([...readViewedDocumentKeys(storage)], ['owned:claim-1', 'approval:claim-2'])
})
test('document center archive rows are never marked as new', () => {
const viewedKeys = readViewedDocumentKeys(createMemoryStorage())
const rows = [