You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
taskbot/tests/unit/db/migrations.allowed-groups.t...

29 lines
918 B
TypeScript

import { describe, it, expect } from 'bun:test';
import Database from 'bun:sqlite';
import { initializeDatabase } from '../../../src/db';
describe('Migración v9 - allowed_groups', () => {
it('crea la tabla allowed_groups', () => {
const memdb = new Database(':memory:');
expect(() => initializeDatabase(memdb)).not.toThrow();
const row = memdb
.query(`SELECT name FROM sqlite_master WHERE type='table' AND name='allowed_groups'`)
.get() as any;
expect(row?.name).toBe('allowed_groups');
});
it('enforce CHECK de status', () => {
const memdb = new Database(':memory:');
initializeDatabase(memdb);
expect(() =>
memdb.exec(`
INSERT INTO allowed_groups (group_id, status, discovered_at, updated_at)
VALUES ('123@g.us', 'invalid-status', strftime('%Y-%m-%d %H:%M:%f','now'), strftime('%Y-%m-%d %H:%M:%f','now'));
`)
).toThrow();
});
});