DeleteDesktopUseCaseTests.cs 1000 B

123456789101112131415161718192021222324252627282930313233343536
  1. using NSubstitute;
  2. using RackPeek.Domain.Helpers;
  3. using RackPeek.Domain.Resources.Hardware;
  4. using RackPeek.Domain.Resources.Hardware.Desktops;
  5. using RackPeek.Domain.Resources.Hardware.Models;
  6. namespace Tests.HardwareResources.Desktops;
  7. public class DeleteDesktopUseCaseTests
  8. {
  9. [Fact]
  10. public async Task Deletes_Desktop()
  11. {
  12. var host = new UsecaseTestHost();
  13. var repo = host.HardwareRepo;
  14. repo.GetByNameAsync("desk1").Returns(new Desktop { Name = "desk1" });
  15. var sut = host.Get<DeleteDesktopUseCase>();
  16. await sut.ExecuteAsync("desk1");
  17. await repo.Received().DeleteAsync("desk1");
  18. }
  19. [Fact]
  20. public async Task Throws_If_Not_Found()
  21. {
  22. var host = new UsecaseTestHost();
  23. var repo = host.HardwareRepo;
  24. repo.GetByNameAsync("desk1").Returns((Hardware?)null);
  25. var sut = host.Get<DeleteDesktopUseCase>();
  26. await Assert.ThrowsAsync<NotFoundException>(() => sut.ExecuteAsync("desk1"));
  27. }
  28. }