feat: ship v0.8.0 with writing logs and AI knowledge extraction
Deliver P5.2 writing day logs, cockpit heatmap, streak tracking, and chapter knowledge auto-extraction with merge review. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -58,4 +58,29 @@ describe('KnowledgeService', () => {
|
||||
expect(service.batchApprove(ids)).toBe(3)
|
||||
expect(service.countPending()).toBe(0)
|
||||
})
|
||||
|
||||
it('IT-EXT-03: approveMerge updates target and rejects pending', () => {
|
||||
db = new DatabaseSync(':memory:')
|
||||
migrate(db)
|
||||
const service = new KnowledgeService(db)
|
||||
const target = service.create({
|
||||
type: 'character',
|
||||
title: '林凡',
|
||||
content: '少年',
|
||||
status: 'approved'
|
||||
})
|
||||
const pending = service.create({
|
||||
type: 'character',
|
||||
title: '林凡(更新)',
|
||||
content: '筑基期修士',
|
||||
status: 'pending'
|
||||
})
|
||||
db.prepare('UPDATE knowledge_entries SET merge_target_id = ? WHERE id = ?').run(
|
||||
target.id,
|
||||
pending.id
|
||||
)
|
||||
const updated = service.approveMerge(pending.id)
|
||||
expect(updated.content).toBe('筑基期修士')
|
||||
expect(service.list({ status: 'pending' })).toHaveLength(0)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user