GetDesktopUseCaseTests.cs 924 B

12345678910111213141516171819202122232425262728293031323334
  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 GetDesktopUseCaseTests
  6. {
  7. [Fact]
  8. public async Task Returns_Desktop()
  9. {
  10. var repo = Substitute.For<IHardwareRepository>();
  11. repo.GetByNameAsync("desk1").Returns(new Desktop { Name = "desk1" });
  12. var useCase = new GetDesktopUseCase(repo);
  13. var result = await useCase.ExecuteAsync("desk1");
  14. Assert.NotNull(result);
  15. Assert.Equal("desk1", result!.Name);
  16. }
  17. [Fact]
  18. public async Task Returns_Null_If_Not_Found()
  19. {
  20. var repo = Substitute.For<IHardwareRepository>();
  21. repo.GetByNameAsync("desk1").Returns((Hardware?)null);
  22. var useCase = new GetDesktopUseCase(repo);
  23. var result = await useCase.ExecuteAsync("desk1");
  24. Assert.Null(result);
  25. }
  26. }