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.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/server/services/references.test.ts b/src/lib/server/services/references.test.ts
index 49c5c94..bcefbd0 100644
--- a/src/lib/server/services/references.test.ts
+++ b/src/lib/server/services/references.test.ts
@@ -34,6 +34,25 @@ describe('references service', () => {
expect(refs[0].reference).toBe('Brand A');
});
+ it('loadForGrocery orders refs by score desc, then insertion', async () => {
+ const now = Temporal.Now.instant().toString({
+ smallestUnit: 'millisecond',
+ });
+ const [g] = await db
+ .insert(groceries)
+ .values({ name: 'coffee', checked: false, createdAt: now })
+ .returning();
+ await db.insert(references).values([
+ { groceryId: g.id, reference: 'A' },
+ { groceryId: g.id, reference: 'B', qualityScore: 50 },
+ { groceryId: g.id, reference: 'C' },
+ { groceryId: g.id, reference: 'D', qualityScore: 50 },
+ ]);
+
+ const refs = await loadForGrocery(g.id, db);
+ expect(refs.map((r) => r.reference)).toEqual(['B', 'D', 'A', 'C']);
+ });
+
it('add creates a reference', async () => {
const now = Temporal.Now.instant().toString({
smallestUnit: 'millisecond',