The test project no longer compiled: recent feature commits changed
interfaces and DTOs without updating the test doubles/call sites, so the
whole suite (and therefore CI) was failing to build.
- NoOpInventoryService: add IInventoryService.GetPurchasesSummaryAsync and
the new string? userId param on AdjustAsync.
- NoOpLoyaltyService: add ILoyaltyService.RedeemOnOrderAsync.
- NoOpOrderNotificationService: add NotifyCallWaiterAsync.
- New NoOpAbuseProtectionService and NoOpMediaStorageService test doubles.
- QrMenuTests: ReviewService/PublicService gained IAbuseProtectionService +
IHttpContextAccessor (and ReviewService an IMediaStorageService); wire the
new no-op doubles + a real HttpContextAccessor.
- PrintingTests: OrderDto gained a DisplayNumber int between CreatedAt and
Items; pass it.
- DiscoverFilterTests: add missing `using Xunit;` and the new openNow arg on
DiscoverFilterParams.FromQuery.
Result: dotnet test -> Passed: 81, Failed: 0.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>