DeleteDesktopUseCaseTests.cs 949 B

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