Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

SelectionLevelsServiceTests.cs 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using AutoMapper;
  2. using Diligent.WebAPI.Business.MappingProfiles;
  3. using Diligent.WebAPI.Business.Services;
  4. using Diligent.WebAPI.Contracts.DTOs.Applicant;
  5. using Diligent.WebAPI.Contracts.DTOs.SelectionLevel;
  6. using Diligent.WebAPI.Contracts.Exceptions;
  7. using Diligent.WebAPI.Data.Entities;
  8. namespace Diligent.WebAPI.Tests.Services
  9. {
  10. public class SelectionLevelsServiceTests
  11. {
  12. private readonly IMapper _mapper;
  13. private readonly List<SelectionLevel> _levels;
  14. private readonly SelectionLevel _selectionLevel;
  15. public SelectionLevelsServiceTests()
  16. {
  17. _selectionLevel = new SelectionLevel
  18. {
  19. Id = 1,
  20. Name = "HR intervju",
  21. SelectionProcesses = new List<SelectionProcess>()
  22. };
  23. // configure mapper
  24. var configuration = new MapperConfiguration(cfg => cfg.AddProfiles(
  25. new List<Profile>
  26. {
  27. new SelectionLevelMappingProfile(),
  28. }));
  29. _mapper = new Mapper(configuration);
  30. }
  31. [Fact]
  32. public async Task GetAll_ShouldReturnListOfLevels_Always()
  33. {
  34. var databaseContext = await Helpers<SelectionLevel>.GetDatabaseContext(_levels);
  35. SelectionLevelService service = new(databaseContext, _mapper);
  36. var result = await service.GetAllAsync();
  37. result.Should().HaveCount(4);
  38. }
  39. [Fact]
  40. public async Task GetById_ShouldReturnLevel_WhenLevelExist()
  41. {
  42. var databaseContext = await Helpers<SelectionLevel>.GetDatabaseContext(_levels);
  43. SelectionLevelService service = new(databaseContext, _mapper);
  44. var result = await service.GetByIdAsync(1);
  45. result.Should().BeEquivalentTo(_mapper.Map<SelectionLevelResposneDto>(_selectionLevel));
  46. }
  47. [Fact]
  48. public async Task GetById_ShouldThrowEntityNotFooundException_WhenLevelDoesnotExist()
  49. {
  50. var databaseContext = await Helpers<SelectionLevel>.GetDatabaseContext(_levels);
  51. SelectionLevelService service = new(databaseContext, _mapper);
  52. await Assert.ThrowsAsync<EntityNotFoundException>(async () => await service.GetByIdAsync(1000));
  53. }
  54. }
  55. }