Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

28 lines
888B

  1. using CartWise.Application.DTOs;
  2. using CartWise.Application.Interfaces;
  3. namespace CartWise.Application.Tests;
  4. internal sealed class FakeProductDataProvider : IProductDataProvider
  5. {
  6. private readonly Dictionary<string, ProductLookupResult> _byBarcode;
  7. public FakeProductDataProvider(Dictionary<string, ProductLookupResult> byBarcode, string name = "OpenFoodFacts")
  8. {
  9. _byBarcode = byBarcode;
  10. Name = name;
  11. }
  12. public string Name { get; }
  13. public Task<ProductLookupResult?> FindByBarcodeAsync(string barcode, CancellationToken cancellationToken = default)
  14. {
  15. return Task.FromResult(_byBarcode.GetValueOrDefault(barcode));
  16. }
  17. public Task<IReadOnlyList<ProductSearchResult>> SearchAsync(string query, CancellationToken cancellationToken = default)
  18. {
  19. return Task.FromResult<IReadOnlyList<ProductSearchResult>>([]);
  20. }
  21. }

Powered by TurnKey Linux.