* Create an in-memory (or temp-file) chat DB with schema and one member so * sender_id FK joins work.
(filePath?: string)
| 34 | * sender_id FK joins work. |
| 35 | */ |
| 36 | function makeTestDb(filePath?: string): Database.Database { |
| 37 | const db = new Database(filePath ?? ':memory:', { nativeBinding }) |
| 38 | db.exec(CHAT_DB_SCHEMA) |
| 39 | // Insert a system member and a regular member |
| 40 | db.prepare( |
| 41 | `INSERT INTO member (platform_id, account_name, group_nickname, avatar, roles) |
| 42 | VALUES (?, ?, ?, NULL, '[]')` |
| 43 | ).run('sys', '系统消息', null) |
| 44 | db.prepare( |
| 45 | `INSERT INTO member (platform_id, account_name, group_nickname, avatar, roles) |
| 46 | VALUES (?, ?, ?, NULL, '[]')` |
| 47 | ).run('u1', 'Alice', 'Alice') |
| 48 | return db |
| 49 | } |
| 50 | |
| 51 | function insertMessage(db: Database.Database, senderId: number, ts: number): void { |
| 52 | db.prepare('INSERT INTO message (sender_id, ts, type, content) VALUES (?, ?, 0, ?)').run(senderId, ts, `msg at ${ts}`) |
no test coverage detected