aboutsummaryrefslogtreecommitdiff
path: root/src/lib/server/services/references.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/server/services/references.test.ts')
-rw-r--r--src/lib/server/services/references.test.ts20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/lib/server/services/references.test.ts b/src/lib/server/services/references.test.ts
index fa3fc97..1f5d172 100644
--- a/src/lib/server/services/references.test.ts
+++ b/src/lib/server/services/references.test.ts
@@ -2,13 +2,15 @@ import { describe, it, expect, beforeEach } from 'vitest';
import { groceries, references } from '$lib/server/db/schema';
import { eq } from 'drizzle-orm';
import { createTestDb, type TestDb } from '$lib/server/db/test-helper';
-import { loadForGrocery, add, promote, deleteReference } from './references';
+import { ReferencesService } from './references';
describe('references service', () => {
let db: TestDb['db'];
+ let service: ReferencesService;
beforeEach(async () => {
db = (await createTestDb()).db;
+ service = new ReferencesService(db);
});
it('loadForGrocery returns refs for the given grocery', async () => {
@@ -29,7 +31,7 @@ describe('references service', () => {
{ groceryId: g2.id, reference: 'Brand B' },
]);
- const refs = await loadForGrocery(g1.id, db);
+ const refs = await service.loadForGrocery(g1.id);
expect(refs).toHaveLength(1);
expect(refs[0].reference).toBe('Brand A');
});
@@ -49,7 +51,7 @@ describe('references service', () => {
{ groceryId: g.id, reference: 'D', qualityScore: 50 },
]);
- const refs = await loadForGrocery(g.id, db);
+ const refs = await service.loadForGrocery(g.id);
expect(refs.map((r) => r.reference)).toEqual(['B', 'D', 'A', 'C']);
});
@@ -62,7 +64,7 @@ describe('references service', () => {
.values({ name: 'pasta', checked: false, createdAt: now })
.returning();
- const ref = await add(g.id, 'Barilla', 2.5, '€/kg', 85, db);
+ const ref = await service.add(g.id, 'Barilla', 2.5, '€/kg', 85);
expect(ref.reference).toBe('Barilla');
expect(ref.price).toBe(2.5);
@@ -90,12 +92,12 @@ describe('references service', () => {
.values({ groceryId: g.id, reference: 'B' })
.returning();
- await promote(b.id, db);
- let refs = await loadForGrocery(g.id, db);
+ await service.promote(b.id);
+ let refs = await service.loadForGrocery(g.id);
expect(refs.map((r) => r.reference)).toEqual(['B', 'A']);
- await promote(a.id, db);
- refs = await loadForGrocery(g.id, db);
+ await service.promote(a.id);
+ refs = await service.loadForGrocery(g.id);
expect(refs.map((r) => r.reference)).toEqual(['A', 'B']);
const rows = await db
@@ -119,7 +121,7 @@ describe('references service', () => {
.values({ groceryId: g.id, reference: 'Brand X' })
.returning();
- await deleteReference(ref.id, db);
+ await service.deleteReference(ref.id);
const rows = await db.select().from(references);
expect(rows).toHaveLength(0);