Merge branch 'worktree-agent-a9a8b0dc' into Develop

# Conflicts:
#	.planning/REQUIREMENTS.md
#	.planning/ROADMAP.md
#	.planning/STATE.md
#	drizzle-pg/meta/0000_snapshot.json
#	drizzle-pg/meta/_journal.json
#	src/db/schema.ts
#	src/db/seed.ts
#	src/server/middleware/auth.ts
#	src/server/services/auth.service.ts
#	src/server/services/category.service.ts
#	src/server/services/oauth.service.ts
#	tests/helpers/db.ts
This commit is contained in:
2026-04-05 10:38:29 +02:00
16 changed files with 770 additions and 259 deletions

View File

@@ -1,17 +1,40 @@
import { PGlite } from "@electric-sql/pglite";
import { drizzle } from "drizzle-orm/pglite";
import { migrate } from "drizzle-orm/pglite/migrator";
import * as schema from "../../src/db/schema.ts";
export async function createTestDb() {
const db = drizzle({ schema });
type Db = ReturnType<typeof drizzle<typeof schema>>;
// Apply migrations from the new PostgreSQL migration directory
export async function createTestDb() {
const client = new PGlite();
const db = drizzle(client, { schema });
// Apply all migrations to create tables
await migrate(db, { migrationsFolder: "./drizzle-pg" });
// Seed default Uncategorized category
// Seed a test user
const [user] = await db
.insert(schema.users)
.values({ logtoSub: "test-user-sub" })
.returning();
// Seed per-user Uncategorized category
await db
.insert(schema.categories)
.values({ name: "Uncategorized", icon: "package" });
.values({ name: "Uncategorized", icon: "package", userId: user.id });
return db;
return { db, userId: user.id };
}
export async function createSecondTestUser(db: Db) {
const [user] = await db
.insert(schema.users)
.values({ logtoSub: "test-user-2-sub" })
.returning();
await db
.insert(schema.categories)
.values({ name: "Uncategorized", icon: "package", userId: user.id });
return user.id;
}