diff options
Diffstat (limited to 'src/lib/server/services/groceries.test.ts')
| -rw-r--r-- | src/lib/server/services/groceries.test.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/server/services/groceries.test.ts b/src/lib/server/services/groceries.test.ts index d12111f..dbf46b7 100644 --- a/src/lib/server/services/groceries.test.ts +++ b/src/lib/server/services/groceries.test.ts @@ -77,6 +77,30 @@ describe('groceries service', () => { expect(result.items[0].bestRef?.reference).toBe('Brand A'); }); + it('bestRef prefers the promoted ref over a higher score', async () => { + const now = Temporal.Now.instant().toString({ + smallestUnit: 'millisecond', + }); + const [g] = await db + .insert(groceries) + .values({ name: 'coffee', checked: false, createdAt: now }) + .returning(); + const [, b] = await db + .insert(references) + .values([ + { groceryId: g.id, reference: 'Brand A', qualityScore: 80 }, + { groceryId: g.id, reference: 'Brand B', qualityScore: 20 }, + ]) + .returning(); + await db + .update(references) + .set({ isPrimary: true }) + .where(eq(references.id, b.id)); + + const result = await loadAll(db); + expect(result.items[0].bestRef?.reference).toBe('Brand B'); + }); + it('toggle flips checked state', async () => { const now = Temporal.Now.instant().toString({ smallestUnit: 'millisecond', |
