public async Task <IActionResult> GetOne( [FromBody] GetOneRequest request, CancellationToken token) { var query = new GetOneQuery( request.AccountNumber, CorrelationContext.Get()); var response = await _mediator .Send( query, token); if (!response .ValidationResult .IsValid) { var errors = string.Empty; response .ValidationResult .Errors .ToList() .ForEach(e => { errors += $"{e}//r//n"; }); return(BadRequest(errors)); } return(Ok(new GetOneView( response.AccountName, response.AccountNumber, response.Balance))); }
public async Task <T> Handle(GetOneQuery <T> message) { var entity = _db.Set <T>().AsNoTracking(); if (message.Include != null) { entity = entity.Include(message.Include); } return(await entity.FirstOrDefaultAsync(message.Condition)); }
public async Task Handle_ReturnCorrectContractNumber_WhenProvided() { var query = new GetOneQuery { Id = 110, }; var handler = new GetOneQuery.GetOneQueryHandler(_configConstants, _mapper, _unitOfWork); var result = await handler.Handle(query, CancellationToken.None); result.TenderList[0].ContractNumber.ShouldBe("Contract Number 110"); }
public async Task Handle_ReturnCorrectVM() { var query = new GetOneQuery { Id = 110, }; var handler = new GetOneQuery.GetOneQueryHandler(_configConstants, _mapper, _unitOfWork); var result = await handler.Handle(query, CancellationToken.None); result.ShouldBeOfType <TenderVM>(); }
public void Validate_ReturnFalse_WhenDataIsInvalid() { var query = new GetOneQuery { Id = 0, }; var validator = new GetOneQueryValidator(_configConstants); var result = validator.Validate(query); result.IsValid.ShouldBeFalse(); }
public void Validate_ReturnErrorMessage_WhenDataIsInvalid() { var query = new GetOneQuery { Id = 0, }; var validator = new GetOneQueryValidator(_configConstants); var result = validator.Validate(query); result.Errors.FirstOrDefault(x => x.ErrorMessage == _configConstants.INVALID_TENDER_ID)?.ErrorMessage.ShouldBe(_configConstants.INVALID_TENDER_ID); result.IsValid.ShouldBeFalse(); }