From 7d85a18867ca0fe2310218c63cfc696c0f916171 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Tue, 8 Sep 2026 09:12:25 +0200 Subject: Consolidate duplicated page CSS into app.css, share TestDb type - Move .page-header/.back-link/.input-invalid/.save-status/.btn-done (plus hover/variant rules) into app.css as shared route scaffolding; delete per-page scoped copies - Unify drifted values: page-header padding 1rem -> 1.25rem (routine page), empty-state spacing 0.75/1.5rem -> 1/2rem (grocery detail), save-status margin -0.25rem applied on both pages, back-link margin 1.5rem -> 1rem (grocery detail); routine page's large Fait button is kept via a .btn-done-lg modifier - Export TestDb from test-helper and use it in the five db/service test files to shrink duplicated fixture scaffolding --- src/lib/server/db/groceries.test.ts | 7 +++---- src/lib/server/db/ondelete.test.ts | 7 +++---- src/lib/server/db/test-helper.ts | 2 ++ src/lib/server/services/categories.test.ts | 7 +++---- src/lib/server/services/groceries.test.ts | 7 +++---- src/lib/server/services/references.test.ts | 7 +++---- 6 files changed, 17 insertions(+), 20 deletions(-) (limited to 'src/lib/server') diff --git a/src/lib/server/db/groceries.test.ts b/src/lib/server/db/groceries.test.ts index 2f8baed..143e4da 100644 --- a/src/lib/server/db/groceries.test.ts +++ b/src/lib/server/db/groceries.test.ts @@ -1,14 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import { groceries, categories } from '$lib/server/db/schema'; import { eq } from 'drizzle-orm'; -import { createTestDb } from './test-helper'; +import { createTestDb, type TestDb } from './test-helper'; describe('groceries add', () => { - let db: Awaited>['db']; + let db: TestDb['db']; beforeEach(async () => { - const testDb = await createTestDb(); - db = testDb.db; + db = (await createTestDb()).db; }); async function addItem(name: string, categoryId?: number | null) { diff --git a/src/lib/server/db/ondelete.test.ts b/src/lib/server/db/ondelete.test.ts index c2c86de..347bb92 100644 --- a/src/lib/server/db/ondelete.test.ts +++ b/src/lib/server/db/ondelete.test.ts @@ -1,14 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import { groceries, categories } from '$lib/server/db/schema'; import { eq } from 'drizzle-orm'; -import { createTestDb } from './test-helper'; +import { createTestDb, type TestDb } from './test-helper'; describe('category delete behavior', () => { - let db: Awaited>['db']; + let db: TestDb['db']; beforeEach(async () => { - const testDb = await createTestDb(); - db = testDb.db; + db = (await createTestDb()).db; }); it('sets category_id to null when a referenced category is deleted', async () => { diff --git a/src/lib/server/db/test-helper.ts b/src/lib/server/db/test-helper.ts index 5bae681..2b8c173 100644 --- a/src/lib/server/db/test-helper.ts +++ b/src/lib/server/db/test-helper.ts @@ -11,3 +11,5 @@ export async function createTestDb() { return { db, client }; } + +export type TestDb = Awaited>; diff --git a/src/lib/server/services/categories.test.ts b/src/lib/server/services/categories.test.ts index cfde1da..a89b816 100644 --- a/src/lib/server/services/categories.test.ts +++ b/src/lib/server/services/categories.test.ts @@ -1,15 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import { groceries, categories } from '$lib/server/db/schema'; import { eq } from 'drizzle-orm'; -import { createTestDb } from '$lib/server/db/test-helper'; +import { createTestDb, type TestDb } from '$lib/server/db/test-helper'; import { loadAll, add, deleteCategory } from './categories'; describe('categories service', () => { - let db: Awaited>['db']; + let db: TestDb['db']; beforeEach(async () => { - const testDb = await createTestDb(); - db = testDb.db; + db = (await createTestDb()).db; }); it('loadAll returns categories sorted by name', async () => { diff --git a/src/lib/server/services/groceries.test.ts b/src/lib/server/services/groceries.test.ts index 83f8d95..a704b57 100644 --- a/src/lib/server/services/groceries.test.ts +++ b/src/lib/server/services/groceries.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach } from 'vitest'; import { groceries, categories, references } from '$lib/server/db/schema'; import { eq } from 'drizzle-orm'; -import { createTestDb } from '$lib/server/db/test-helper'; +import { createTestDb, type TestDb } from '$lib/server/db/test-helper'; import { loadUnchecked, loadAll, @@ -11,11 +11,10 @@ import { } from './groceries'; describe('groceries service', () => { - let db: Awaited>['db']; + let db: TestDb['db']; beforeEach(async () => { - const testDb = await createTestDb(); - db = testDb.db; + db = (await createTestDb()).db; }); it('loadUnchecked returns only unchecked items', async () => { diff --git a/src/lib/server/services/references.test.ts b/src/lib/server/services/references.test.ts index c02f9e6..1ec3fdb 100644 --- a/src/lib/server/services/references.test.ts +++ b/src/lib/server/services/references.test.ts @@ -1,15 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import { groceries, references } from '$lib/server/db/schema'; import { eq } from 'drizzle-orm'; -import { createTestDb } from '$lib/server/db/test-helper'; +import { createTestDb, type TestDb } from '$lib/server/db/test-helper'; import { loadForGrocery, add, deleteReference } from './references'; describe('references service', () => { - let db: Awaited>['db']; + let db: TestDb['db']; beforeEach(async () => { - const testDb = await createTestDb(); - db = testDb.db; + db = (await createTestDb()).db; }); it('loadForGrocery returns refs for the given grocery', async () => { -- cgit v1.3