public void Deve_registrar_que_o_pagamento_foi_aprovado() { const string bandeiraDoCartaoEsperada = "Master"; var pagamento = PagamentoBuilder.Novo().Criar(); pagamento.Aprovar(bandeiraDoCartaoEsperada); Assert.True(pagamento.Aprovado); }
public void Deve_registrar_a_bandeira_do_cartao_ao_aprovar_pagamento() { const string bandeiraDoCartaoEsperada = "Master"; var pagamento = PagamentoBuilder.Novo().Criar(); pagamento.Aprovar(bandeiraDoCartaoEsperada); Assert.Equal(pagamento.BandeiraDoCartao, bandeiraDoCartaoEsperada); }
public void Nao_deve_alterar_o_cartao_de_credito_quando_informar_nome_invalido(string nomeNoCartaoDeCreditoInvalido) { const string mensagemDeErroEsperada = "É necessário informar o nome registrado no cartão de crédito"; var novoNumeroDoCartaoDeCredito = _faker.Random.Int(1000000).ToString(); var pagamento = PagamentoBuilder.Novo().Criar(); void Acao() => pagamento.AlterarCartaoDeCredito(novoNumeroDoCartaoDeCredito, nomeNoCartaoDeCreditoInvalido); Assert.Throws <ExcecaoDeDominio <Pagamento> >(Acao).PossuiErroComAMensagemIgualA(mensagemDeErroEsperada); }
public void Deve_alterar_o_cartao_de_credito() { var novoNumeroDoCartaoDeCredito = _faker.Random.Int(1000000).ToString(); var nomeNoCartaoDeCredito = _faker.Person.FullName; var pagamento = PagamentoBuilder.Novo().Criar(); pagamento.AlterarCartaoDeCredito(novoNumeroDoCartaoDeCredito, nomeNoCartaoDeCredito); Assert.Equal(novoNumeroDoCartaoDeCredito, pagamento.NumeroDoCartaoDeCredito); Assert.Equal(nomeNoCartaoDeCredito, pagamento.NomeNoCartaoDeCredito); }
public async Task Deve_enviar_evento_de_pagamento_negado_ao_negar_o_pagamento_de_um_cartao_no_reprocessamento_de_um_pagamento(string numeroDeCartaoDeCreditoInvalido) { var id = _faker.Random.Int(0); var nomeDoCartao = _faker.Person.FullName; var produto = _faker.Random.String2(9); var valor = _faker.Random.Decimal(); var alterouCartaoDeCreditoDoPedidoEvento = new AlterouCartaoDeCreditoDoPedidoEvento(id, nomeDoCartao, numeroDeCartaoDeCreditoInvalido, produto, valor); var pagamento = PagamentoBuilder.Novo().Criar(); _pagamentoRepositorio.Setup(pr => pr.ObterPeloIdDoPedido(id)).ReturnsAsync(pagamento); _pagamentoRepositorio.Setup(pr => pr.AtualizarPagamento(It.IsAny <Pagamento>())); _mensageria.Setup(m => m.PublishAsync(It.IsAny <PagamentoRecusadoEvento>())); await _processamentoDePagamento.ReprocessarPagamentoAsync(alterouCartaoDeCreditoDoPedidoEvento); _mensageria.Verify(m => m.PublishAsync(It.Is <PagamentoRecusadoEvento>(p => p.IdDoPedido == pagamento.IdDoPedido))); }
public async Task Deve_atualizar_informacoes_do_cartao_de_credito_ao_reprocessar_pagamento() { var id = _faker.Random.Int(0); var nomeDoCartao = _faker.Person.FullName; var numeroDeCartao = _faker.Random.Int(0).ToString(); var produto = _faker.Random.String2(9); var valor = _faker.Random.Decimal(); var alterouCartaoDeCreditoDoPedidoEvento = new AlterouCartaoDeCreditoDoPedidoEvento(id, nomeDoCartao, numeroDeCartao, produto, valor); var pagamento = PagamentoBuilder.Novo().Criar(); _pagamentoRepositorio.Setup(pr => pr.ObterPeloIdDoPedido(id)).ReturnsAsync(pagamento); _pagamentoRepositorio.Setup(pr => pr.AtualizarPagamento(It.IsAny <Pagamento>())); await _processamentoDePagamento.ReprocessarPagamentoAsync(alterouCartaoDeCreditoDoPedidoEvento); _pagamentoRepositorio.Verify(pr => pr.AtualizarPagamento(It.Is <Pagamento>(p => p.NumeroDoCartaoDeCredito == numeroDeCartao && p.NomeNoCartaoDeCredito == nomeDoCartao))); }