25 lines
990 B
TypeScript
25 lines
990 B
TypeScript
import path from "path";
|
|
import BetterSqlite3 from "better-sqlite3";
|
|
import { drizzle } from "drizzle-orm/better-sqlite3";
|
|
import { migrate } from "drizzle-orm/better-sqlite3/migrator";
|
|
import { test } from "vitest";
|
|
|
|
import { DB_CASING } from "@homarr/core/infrastructure/db/constants";
|
|
|
|
import type { Database } from "..";
|
|
import { seedDataAsync } from "../migrations/seed";
|
|
import * as sqliteSchema from "../schema/sqlite";
|
|
import { expectBundledCustomWidgetsSeeded } from "./custom-widget-seed-assertions";
|
|
|
|
test("SQLite migrations seed the five disabled bundled custom widgets", async () => {
|
|
const connection = new BetterSqlite3(":memory:");
|
|
const database = drizzle(connection, { schema: sqliteSchema, casing: DB_CASING });
|
|
|
|
migrate(database, { migrationsFolder: path.join(__dirname, "..", "migrations", "sqlite") });
|
|
await seedDataAsync(database as unknown as Database);
|
|
|
|
await expectBundledCustomWidgetsSeeded(database as unknown as Database);
|
|
|
|
connection.close();
|
|
});
|