コード例 #1
0
        public async Task PagamentoEmAnalise()
        {
            IPagamentoRepository pagamentoRepository = Substitute.For <IPagamentoRepository>();

            pagamentoRepository.GetPagamentosEmAnaliseAsync().Returns(new List <dronedelivery.core.domain.Entities.Pagamento> {
                _pagamento
            });

            var listPagamentos = await pagamentoRepository.GetPagamentosEmAnaliseAsync();

            Assert.True(listPagamentos.Count == 1);
            Assert.True(listPagamentos.First().StatusPagamento == EStatusPagamento.EM_ANALISE);
        }
コード例 #2
0
        public async Task <IEnumerable <PagamentoStatusDto> > VerificarStatusPagamentos()
        {
            var pagamentosResult = await _pagamentoRepository.GetPagamentosEmAnaliseAsync();

            List <PagamentoStatusDto> pagamentos = new List <PagamentoStatusDto>();

            foreach (var pagamento in pagamentosResult)
            {
                var status = RandomPagamento();

                var pagamentoStatusDto = new PagamentoStatusDto
                {
                    IdPagamento = pagamento.Id,
                    Status      = status,
                    Descricao   = pagamento.Descricao
                };

                pagamentos.Add(pagamentoStatusDto);

                AtualizarStatusPagamento(status, pagamento);
            }

            if (await _pagamentoIntegration.ReportarResultadoAnalise(pagamentos))
            {
                await _pagamentoRepository.SavePagamentoAsync();
            }
            else
            {
                pagamentos = null;
            }

            return(pagamentos);
        }
        public PagamentoControllerTest()
        {
            var pagamento = new dronedelivery.core.domain.Entities.Pagamento
            {
                Id              = 0,
                DataCriacao     = DateTime.Now,
                Descricao       = "Pagamento Teste",
                TipoPagamento   = ETipoPagamento.CARTAO,
                StatusPagamento = EStatusPagamento.EM_ANALISE,
                DadosPagamentos = new System.Collections.Generic.List <DadosPagamento> {
                    new DadosPagamento {
                        Id = 0, Dados = "4220456798763234"
                    }
                }
            };

            _pagamentoRepository = Substitute.For <IPagamentoRepository>();
            _pagamentoRepository.GetPagamentosEmAnaliseAsync().Returns(new List <dronedelivery.core.domain.Entities.Pagamento> {
                pagamento
            });


            var pagamentoStatusDto = new PagamentoStatusDto
            {
                IdPagamento = pagamento.Id,
                Status      = EStatusPagamento.APROVADO,
                Descricao   = pagamento.Descricao
            };

            _listPagamentoStatusDto = new List <PagamentoStatusDto> {
                pagamentoStatusDto
            };

            _pagamentoIntegration = Substitute.For <IPagamentoIntegration>();
            _pagamentoIntegration.ReportarResultadoAnalise(Arg.Is <List <PagamentoStatusDto> >(x => x.First().IdPagamento == 0)).Returns(true);

            _pagamentofacade = new PagamentoFacade(_pagamentoRepository, _pagamentoIntegration);
        }