Cassimus

Testy

Sep 6th, 2025
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. using Microsoft.EntityFrameworkCore;
  2.  
  3. public class ProductTestIntegracji : IDisposable
  4. {
  5. private readonly AppDbContext _kontekst;
  6.  
  7. public ProductTestIntegracji()
  8. {
  9. var opcje = new DbContextOptionsBuilder<AppDbContext>()
  10. .UseInMemoryDatabase(databaseName: "BazaTestowa")
  11. .Options;
  12.  
  13. _kontekst = new AppDbContext(opcje);
  14.  
  15. _kontekst.Produkty.Add(new Produkt { Nazwa = "Testowy 1", Cena = 10.99m });
  16. _kontekst.Produkty.Add(new Produkt { Nazwa = "Testowy 2", Cena = 20.99m });
  17. _kontekst.SaveChanges();
  18. }
  19.  
  20. [Fact]
  21. public void CzyMoznaDodacProdukt()
  22. {
  23. // Przygotowanie
  24. var nowyProdukt = new Produkt { Nazwa = "Nowy Produkt", Cena = 15.99m };
  25.  
  26. //Wykonanie
  27. _kontekst.Produkty.Add(nowyProdukt);
  28. _kontekst.SaveChanges();
  29.  
  30. //Spraawdzenie
  31. var sprawdzenie = _kontekst.Produkty.SingleOrDefault
  32. (p => p.Nazwa == "Nowy Produkt");
  33. Assert.NotNull(sprawdzenie);
  34. Assert.Equal(15.99m, sprawdzenie.Cena);
  35.  
  36. }
  37.  
  38. [Fact]
  39. public void CzyMoznaOdczytac()
  40. {
  41. var produkty = _kontekst.Produkty.ToList();
  42.  
  43. Assert.Equal(2, produkty.Count);
  44. Assert.Contains(produkty, p => p.Nazwa == "Testowy 1");
  45. Assert.Contains(produkty, p => p.Nazwa == "Testowy 2");
  46. }
  47.  
  48. public void Dispose()
  49. {
  50. _kontekst.Database.EnsureDeleted();
  51. _kontekst.Dispose();
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment