kstack-better-auth
Installation
SKILL.md
kstack-better-auth
better-auth を使うアプリをテストするときの規約。理由を理解した上で適用すること。DB を in-memory に差し替える手順は kstack-drizzle-orm の SKILL を参照。
テスト用 instance と DB のライフサイクルを 1 つの class に閉じ込める
testUtils() plugin を足したテスト用の better-auth instance と、それが使う DB を TestAuthDatabase class にまとめる。spec ファイルからはライフサイクルの呼び出しと、user を作る API だけが見える形にする。
// Bad: spec ごとに DB と instance を組み立て、片付けも各所に散る
test.beforeAll(async () => {
client = new PGlite();
db = drizzle({ client, schema });
await (await pushSchema(schema, db)).apply();
auth = betterAuth({ ...config, database: drizzleAdapter(db, { provider: "pg", schema }) });
});