You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SelectionProcessesControllerTests.cs 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Diligent.WebAPI.Contracts.DTOs.SelectionProcess;
  2. using Diligent.WebAPI.Contracts.Exceptions;
  3. namespace Diligent.WebAPI.Tests.Controllers
  4. {
  5. public class SelectionProcessesControllerTests
  6. {
  7. private ISelectionProcessService _service = Substitute.For<ISelectionProcessService>();
  8. private readonly SelectionProcessResposneDto _selectionProcess;
  9. public SelectionProcessesControllerTests()
  10. {
  11. _selectionProcess = new SelectionProcessResposneDto
  12. {
  13. Id = 1,
  14. Name = "HR intervju"
  15. };
  16. }
  17. [Fact]
  18. public async Task FinishSelectionProcess_ShouldReturn_True_WhenProcessExists()
  19. {
  20. _service.FinishSelectionProcess(Arg.Any<SelectionProcessCreateDto>()).Returns(true);
  21. SelectionProcessesController controller = new(_service);
  22. var result = await controller.FinishSelectionProcess(new SelectionProcessCreateDto());
  23. (result as OkObjectResult).StatusCode.Should().Be(200);
  24. }
  25. [Fact]
  26. public async Task FinishSelectionProcess_ShouldThrowEntityNotFooundException_WhenProcessDoesnotExist()
  27. {
  28. _service.When(x => x.FinishSelectionProcess(Arg.Any<SelectionProcessCreateDto>())).Do(x => { throw new EntityNotFoundException(); });
  29. SelectionProcessesController controller = new(_service);
  30. await Assert.ThrowsAsync<EntityNotFoundException>(() => controller.FinishSelectionProcess(new SelectionProcessCreateDto()));
  31. }
  32. [Fact]
  33. public async Task FinishSelectionProcess_ShouldThrowEntityNotFooundException_WhenProcessWasInLastLevel()
  34. {
  35. _service.When(x => x.FinishSelectionProcess(Arg.Any<SelectionProcessCreateDto>())).Do(x => { throw new EntityNotFoundException(); });
  36. SelectionProcessesController controller = new(_service);
  37. await Assert.ThrowsAsync<EntityNotFoundException>(() => controller.FinishSelectionProcess(new SelectionProcessCreateDto()));
  38. }
  39. }
  40. }