feat(cooked): „Heute gekocht" räumt Wunschliste für das Rezept
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m18s
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m18s
Wenn ein Rezept heute gekocht wurde, ist der Wunsch eingelöst — raus damit aus der Wunschliste aller Profile. Server tut das beim POST in einem Rutsch (removeFromWishlistForAll) und meldet removed_from_wishlist in der Response zurück. Der Client räumt daraufhin den lokalen wishlistProfileIds-State und refresht den Badge-Zähler, damit der Wunschliste-Button und das Header-Badge sofort passen — kein Reload nötig. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import { insertRecipe } from '../../src/lib/server/recipes/repository';
|
||||
import {
|
||||
addToWishlist,
|
||||
removeFromWishlist,
|
||||
removeFromWishlistForAll,
|
||||
listWishlist,
|
||||
listWishlistProfileIds,
|
||||
isOnMyWishlist,
|
||||
@@ -129,4 +130,14 @@ describe('per-user wishlist', () => {
|
||||
addToWishlist(db, r2, a.id);
|
||||
expect(countWishlistRecipes(db)).toBe(2);
|
||||
});
|
||||
|
||||
it('removeFromWishlistForAll drops every profile', () => {
|
||||
const r1 = insertRecipe(db, recipe('R1'));
|
||||
const a = createProfile(db, 'A');
|
||||
const b = createProfile(db, 'B');
|
||||
addToWishlist(db, r1, a.id);
|
||||
addToWishlist(db, r1, b.id);
|
||||
removeFromWishlistForAll(db, r1);
|
||||
expect(listWishlistProfileIds(db, r1)).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user