GetAccessPointUseCaseTests.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using NSubstitute;
  2. using RackPeek.Domain.Resources.Hardware;
  3. using RackPeek.Domain.Resources.Hardware.Models;
  4. using RackPeek.Domain.Resources.Hardware.AccessPoints;
  5. namespace Tests.Hardware.AccessPoints;
  6. public class GetAccessPointUseCaseTests
  7. {
  8. [Fact]
  9. public async Task ExecuteAsync_Returns_ap_when_it_exists()
  10. {
  11. // Arrange
  12. var repo = Substitute.For<IHardwareRepository>();
  13. var ap = new AccessPoint { Name = "ap01" };
  14. repo.GetByNameAsync("ap01").Returns(ap);
  15. var sut = new GetAccessPointUseCase(repo);
  16. // Act
  17. var result = await sut.ExecuteAsync("ap01");
  18. // Assert
  19. Assert.NotNull(result);
  20. Assert.Same(ap, result);
  21. }
  22. [Fact]
  23. public async Task ExecuteAsync_Returns_null_when_hardware_is_not_ap()
  24. {
  25. // Arrange
  26. var repo = Substitute.For<IHardwareRepository>();
  27. repo.GetByNameAsync("node01").Returns(new Server { Name = "node01" });
  28. var sut = new GetAccessPointUseCase(repo);
  29. // Act
  30. var result = await sut.ExecuteAsync("node01");
  31. // Assert
  32. Assert.Null(result);
  33. }
  34. }