b33d2e7b34
Deliver P5 writer workflow: writing cockpit, manual knowledge CRUD with review, chapter bridge with optional AI, publish status, and stock buffer reminders. Co-authored-by: Cursor <cursoragent@cursor.com>
25 lines
834 B
TypeScript
25 lines
834 B
TypeScript
import { describe, it, expect, afterEach } from 'vitest'
|
|
import { DatabaseSync } from 'node:sqlite'
|
|
import { migrate } from '../../src/main/db/migrate'
|
|
import { KnowledgeRepository } from '../../src/main/db/repositories/knowledge.repo'
|
|
import type { SqliteDb } from '../../src/main/db/types'
|
|
|
|
describe('KnowledgeRepository', () => {
|
|
let db: SqliteDb
|
|
afterEach(() => db?.close())
|
|
|
|
it('UT-KNOW-01: CRUD and approve updates status', () => {
|
|
db = new DatabaseSync(':memory:')
|
|
migrate(db)
|
|
const repo = new KnowledgeRepository(db)
|
|
const entry = repo.create({
|
|
type: 'foreshadow',
|
|
title: '测灵石异常',
|
|
foreshadowStatus: 'buried'
|
|
})
|
|
expect(entry.status).toBe('pending')
|
|
const approved = repo.update(entry.id, { status: 'approved' })
|
|
expect(approved.status).toBe('approved')
|
|
})
|
|
})
|