コード例 #1
0
        public async void EfetuarPagamento_DeveRetornarItem()
        {
            // Arrange
            var pagamentoService          = new Mock <IPagamentoService>();
            var pagamentoDapperRepository = new Mock <IPagamentoDapperRepository>();
            var mapper            = new Mapper(configuration);
            var unitOfWork        = new Mock <IUnitOfWork>();
            var notificador       = new Mock <INotificador>();
            var pagamentoEsperado = new Pagamento(2, 5);
            var pagamentoInputDto = new PagamentoInputDTO
            {
                ValorPagamento   = 2,
                ValorPagoCliente = 5
            };

            pagamentoService.Setup(service => service.ReceberPagamento(2, 5))
            .ReturnsAsync(pagamentoEsperado);

            notificador.Setup(n => n.TemNotificacao()).Returns(false);

            var pagamentoAppService = new PagamentoAppService(pagamentoService.Object, pagamentoDapperRepository.Object,
                                                              mapper, unitOfWork.Object, notificador.Object);

            // Act
            var pagamentoDto = await pagamentoAppService.EfetuarPagamento(pagamentoInputDto);

            // Assert
            Assert.NotNull(pagamentoDto);
        }
コード例 #2
0
        public async Task <ActionResult <PagamentoDTO> > Pagar(PagamentoInputDTO pagamentoDTO)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var troco = await _pagamentoAppService.EfetuarPagamento(pagamentoDTO);

            return(CustomResponse(troco));
        }
コード例 #3
0
        public async Task <PagamentoDTO> EfetuarPagamento(PagamentoInputDTO pagamentoInputDTO)
        {
            var pagamentoRecebido = await _pagamentoService.ReceberPagamento(pagamentoInputDTO.ValorPagamento, pagamentoInputDTO.ValorPagoCliente);

            if (!Commit())
            {
                return(null);
            }

            var retorno = _mapper.Map <PagamentoDTO>(pagamentoRecebido);

            return(retorno);
        }