示例#1
0
        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)));
        }
示例#2
0
        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));
        }
示例#3
0
        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");
        }
示例#4
0
        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>();
        }
示例#5
0
        public void Validate_ReturnFalse_WhenDataIsInvalid()
        {
            var query = new GetOneQuery
            {
                Id = 0,
            };

            var validator = new GetOneQueryValidator(_configConstants);
            var result    = validator.Validate(query);

            result.IsValid.ShouldBeFalse();
        }
示例#6
0
        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();
        }