DeleteDesktopUseCaseTests.cs 899 B

12345678910111213141516171819202122232425262728293031
  1. using NSubstitute;
  2. using RackPeek.Domain.Resources.Hardware;
  3. using RackPeek.Domain.Resources.Hardware.Desktop;
  4. using RackPeek.Domain.Resources.Hardware.Models;
  5. public class DeleteDesktopUseCaseTests
  6. {
  7. [Fact]
  8. public async Task Deletes_Desktop()
  9. {
  10. var repo = Substitute.For<IHardwareRepository>();
  11. repo.GetByNameAsync("desk1").Returns(new Desktop { Name = "desk1" });
  12. var useCase = new DeleteDesktopUseCase(repo);
  13. await useCase.ExecuteAsync("desk1");
  14. await repo.Received().DeleteAsync("desk1");
  15. }
  16. [Fact]
  17. public async Task Throws_If_Not_Found()
  18. {
  19. var repo = Substitute.For<IHardwareRepository>();
  20. repo.GetByNameAsync("desk1").Returns((Hardware?)null);
  21. var useCase = new DeleteDesktopUseCase(repo);
  22. await Assert.ThrowsAsync<InvalidOperationException>(() => useCase.ExecuteAsync("desk1"));
  23. }
  24. }