Esempio n. 1
0
        public async Task NegarPagamento(PagamentoRecusadoEvento pagamentoRecusadoEvento)
        {
            var pedido = _pedidoRepositorio.ObterPedidoPeloId(pagamentoRecusadoEvento.IdDoPedido);

            pedido.NegarPagamento();
            await _pedidoRepositorio.AtualizarPedido(pedido);

            await _eventoRepositorio.Salvar(pagamentoRecusadoEvento);
        }
Esempio n. 2
0
        public async Task Deve_salvar_evennto_de_pagamentorecusado_ao_negar_pagamento()
        {
            var idDoPedido                  = _faker.Random.Int(0);
            var nomeDoDonoDoCartao          = _faker.Person.FirstName;
            var numeroDoNovoCartaoDeCredito = _faker.Random.Int(0).ToString();
            var produto = _faker.Random.Word();
            var valor   = _faker.Random.Decimal();
            var pedido  = PedidoBuilder.Novo().Criar();
            var pagamentoRecusadoEvento = new PagamentoRecusadoEvento(idDoPedido, nomeDoDonoDoCartao, numeroDoNovoCartaoDeCredito, produto, valor);

            _pedidoRepositorio.Setup(pr => pr.ObterPedidoPeloId(idDoPedido)).Returns(pedido);
            _pedidoRepositorio.Setup(pr => pr.AtualizarPedido(It.IsAny <Pedido>()));
            _eventoRepositorio.Setup(er => er.Salvar(It.IsAny <PagamentoRecusadoEvento>()));

            await _atualizacaoDePedido.NegarPagamento(pagamentoRecusadoEvento);

            _eventoRepositorio.Verify(er => er.Salvar(It.Is <PagamentoRecusadoEvento>(
                                                          evento => evento.ToExpectedObject().Matches(pagamentoRecusadoEvento))));
        }