Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

ScreeningTestControllerTests.cs 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using Diligent.WebAPI.Contracts.Models;
  2. using NSubstitute.ReturnsExtensions;
  3. namespace Diligent.WebAPI.Tests.Controllers
  4. {
  5. public class ScreeningTestControllerTests
  6. {
  7. private IScreeningTestService _service = Substitute.For<IScreeningTestService>();
  8. private readonly List<TestMicroserviceRequest> tests;
  9. public ScreeningTestControllerTests()
  10. {
  11. tests = new List<TestMicroserviceRequest>
  12. {
  13. new TestMicroserviceRequest{ Id = 1, Name = "Intership .NET"},
  14. new TestMicroserviceRequest{ Id = 2, Name = "Junior .NET"},
  15. new TestMicroserviceRequest{ Id = 3, Name = "Senior .NET"}
  16. };
  17. }
  18. [Fact]
  19. public async Task Get_ShouldReturn_200OKAndListOfTests()
  20. {
  21. var baseResult = new Contracts.Models.BaseResult<IEnumerable<TestMicroserviceRequest>>
  22. {
  23. DataObject = tests
  24. };
  25. _service.GetScreening().Returns(baseResult);
  26. ScreeningTestController controller = new(_service);
  27. var result = await controller.Get();
  28. (result as OkObjectResult).StatusCode.Should().Be(200);
  29. }
  30. [Fact]
  31. public async Task Post_ShouldReturnBadRequest_WhenErrorIsPresent()
  32. {
  33. _service.When(x => x.SendTest(Arg.Any<TestMicroserviceInviteRequest>())).ReturnsNull();
  34. ScreeningTestController controller = new(_service);
  35. var result = await controller.Post(new TestMicroserviceInviteRequest());
  36. (result as BadRequestResult).StatusCode.Should().Be(400);
  37. }
  38. [Fact]
  39. public async Task Post_ShouldReturn_200OK()
  40. {
  41. _service.SendTest(Arg.Any<TestMicroserviceInviteRequest>()).Returns(true);
  42. ScreeningTestController controller = new(_service);
  43. var result = await controller.Post(new TestMicroserviceInviteRequest());
  44. (result as OkResult).StatusCode.Should().Be(200);
  45. }
  46. }
  47. }