public async Task NegarPagamento(PagamentoRecusadoEvento pagamentoRecusadoEvento) { var pedido = _pedidoRepositorio.ObterPedidoPeloId(pagamentoRecusadoEvento.IdDoPedido); pedido.NegarPagamento(); await _pedidoRepositorio.AtualizarPedido(pedido); await _eventoRepositorio.Salvar(pagamentoRecusadoEvento); }
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)))); }