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') }) })