Files
STCourses/packages/feature-learner/test/migrate.test.ts
T

14 lines
692 B
TypeScript

import { expect } from "bun:test";
import { runMigrations } from "../src/server/migrate";
import { forEachDb } from "./helpers";
forEachDb("learner migrations create the auth tables and are idempotent", async (db) => {
for (const t of ["auth_user", "auth_session", "auth_account", "auth_verification", "auth_sso_provider", "learner_meta", "learner_group_claims"]) {
const rows = await db.sql.unsafe(`SELECT COUNT(*) AS n FROM ${t}`);
expect(Number(rows[0].n)).toBe(0);
}
expect(await runMigrations(db)).toEqual([]);
const names = (await db.sql`SELECT name FROM schema_migrations`).map((r: { name: string }) => r.name);
expect(names).toContain("0001_learner_auth.sql");
});