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>
23 lines
892 B
TypeScript
23 lines
892 B
TypeScript
import { describe, it, expect, afterEach } from 'vitest'
|
|
import { DatabaseSync } from 'node:sqlite'
|
|
import { migrate } from '../../src/main/db/migrate'
|
|
import type { SqliteDb } from '../../src/main/db/types'
|
|
|
|
describe('migrate v6', () => {
|
|
let db: SqliteDb
|
|
afterEach(() => db?.close())
|
|
|
|
it('UT-MIG-06: applies v6 on fresh database', () => {
|
|
db = new DatabaseSync(':memory:')
|
|
migrate(db)
|
|
const version = db.prepare('SELECT MAX(version) AS v FROM schema_version').get() as { v: number }
|
|
expect(version.v).toBe(6)
|
|
const tables = db
|
|
.prepare("SELECT name FROM sqlite_master WHERE type='table'")
|
|
.all() as { name: string }[]
|
|
expect(tables.some((t) => t.name === 'knowledge_entries')).toBe(true)
|
|
expect(tables.some((t) => t.name === 'book_preferences')).toBe(true)
|
|
expect(tables.some((t) => t.name === 'chapter_bridge_dismiss')).toBe(true)
|
|
})
|
|
})
|