public async Task HandleGetAllRequirementTypesQuery_ShouldReturnNonVoidedRequirementTypesOnly_WhenNotGettingVoided() { using (var context = new PreservationContext(_dbContextOptions, _plantProvider, _eventDispatcher, _currentUserProvider)) { var dut = new GetAllRequirementTypesQueryHandler(context); var result = await dut.Handle(new GetAllRequirementTypesQuery(false), default); var requirementTypes = result.Data.ToList(); var requirementTypeDto = requirementTypes.Single(rt => rt.Id == _reqType1.Id); var requirementDefinitionDtoForAll = requirementTypeDto.RequirementDefinitions.Single(rd => rd.Id == _reqDefForAll.Id); var fields = requirementDefinitionDtoForAll.Fields.ToList(); Assert.AreEqual(_reqType1.Code, requirementTypeDto.Code); Assert.AreEqual(_reqType1.Title, requirementTypeDto.Title); Assert.IsFalse(requirementTypeDto.IsVoided); AssertReqDef(_reqDefForAll, requirementDefinitionDtoForAll); AssertReqDef(_reqDefForOther, requirementTypeDto.RequirementDefinitions.Single(rd => rd.Id == _reqDefForOther.Id)); AssertReqDef(_reqDefForSupplier, requirementTypeDto.RequirementDefinitions.Single(rd => rd.Id == _reqDefForSupplier.Id)); var fieldDto = fields[0]; Assert.AreEqual(_numberLabel, fieldDto.Label); Assert.AreEqual(_numberUnit, fieldDto.Unit); Assert.AreEqual(FieldType.Number, fieldDto.FieldType); Assert.IsTrue(fieldDto.ShowPrevious.HasValue); Assert.IsTrue(fieldDto.ShowPrevious.Value); Assert.IsFalse(fieldDto.IsVoided); } }
public async Task HandleGetAllRequirementTypesQuery_ShouldReturnRequirementTypesSortedBySortKey() { using (var context = new PreservationContext(_dbContextOptions, _plantProvider, _eventDispatcher, _currentUserProvider)) { var dut = new GetAllRequirementTypesQueryHandler(context); var result = await dut.Handle(new GetAllRequirementTypesQuery(true), default); var dtos = result.Data.ToList(); Assert.AreEqual(4, dtos.Count); Assert.AreEqual(1, dtos[0].SortKey); Assert.AreEqual(7, dtos[1].SortKey); Assert.AreEqual(999, dtos[2].SortKey); Assert.AreEqual(10000, dtos[3].SortKey); } }
public async Task HandleGetAllRequirementTypesQuery_ShouldlncludeVoidedRequirementTypes_WhenGettingVoided() { using (var context = new PreservationContext(_dbContextOptions, _plantProvider, _eventDispatcher, _currentUserProvider)) { var dut = new GetAllRequirementTypesQueryHandler(context); var result = await dut.Handle(new GetAllRequirementTypesQuery(true), default); var requirementTypes = result.Data.ToList(); var requirementDefinitions = requirementTypes.First(rt => rt.Id == _reqType1.Id).RequirementDefinitions.ToList(); var fields = requirementDefinitions.First(rd => rd.Id == _reqDefForAll.Id).Fields.ToList(); Assert.AreEqual(4, requirementTypes.Count); Assert.IsTrue(requirementTypes.Any(j => j.IsVoided)); Assert.AreEqual(4, requirementDefinitions.Count); Assert.IsTrue(requirementDefinitions.Any(j => j.IsVoided)); Assert.AreEqual(2, fields.Count); Assert.IsTrue(fields.Any(j => j.IsVoided)); } }