public void FixtureSetUp() { _apropriacaoPremio = ParcelaApropriadaBuilder.UmBuilder().Padrao() .Com(ApropriacaoBuilder.UmBuilder() .Com(PagamentoBuilder.UmBuilder().Padrao())) .Build(); }
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); }
private IAporte CriaParcela(DateTime dataPagamento, DateTime dataApropriacao, decimal valorPago) { return(AporteBuilder.UmBuilder().Padrao() .Com(PagamentoBuilder.UmBuilder() .ComDataPagamento(dataPagamento) .ComDataApropriacao(dataApropriacao) .ComValorPago(valorPago)) .Build()); }
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 DadoUmPremioComValorPagoInvalidoDeveGerarErro() { _parcela = ApropriacaoBuilder.UmBuilder().Padrao() .Com(PagamentoBuilder.UmBuilder() .ComDataPagamento(DateTime.Now) .ComDataApropriacao(DateTime.Now)) .Build(); Assert.That(() => _parcela.Validar(), GeraErro("O Valor Pago para o ItemCertificadoApolice")); }
public void DadoUmPremioDePortabilidadeComDataApropriacaoInvalidaDeveGerarErro() { _parcela = PortabilidadeBuilder.UmBuilder().Padrao() .Com(PagamentoBuilder.UmBuilder() .ComDataPagamento(DateTime.Now) .ComValorPago(IdentificadoresPadrao.ValorPago)) .Build(); Assert.That(() => _parcela.Validar(), GeraErro("A Data de Portabilidade para o ItemCertificadoApolice")); }
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); }
private IParcelaApropriada ObterContratoParcelaApropriada() { var apropriacao = ApropriacaoBuilder.UmBuilder() .Com(PagamentoBuilder.UmBuilder().Padrao()) .ComValorBuilder(ValorBuilder.UmBuilder().Padrao()) .ComVigenciaBuilder(VigenciaBuilder.UmBuilder().Padrao()) .ComParcelaBuilder(ParcelaIdBuilder.UmBuilder() .ComNumeroParcela(12).ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno)); return(ParcelaApropriadaBuilder.UmBuilder() .ComIdentificador(Guid.NewGuid()) .ComIdentificadorNegocio(_proposta.IdentificadorNegocio) .ComDataExecucaoEvento(DateTime.Now) .Com((ApropriacaoBuilder)apropriacao) .Build()); }
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))); }
private IAporteApropriado ObterAportePremio() { var cobertura = _proposta.Produtos.First().Coberturas.First(); var aporte = AporteBuilder.UmBuilder() .Com(PagamentoBuilder.UmBuilder().Padrao()) .ComValorBuilder(ValorBuilder.UmBuilder().Padrao()) .ComVigenciaBuilder(VigenciaBuilder.UmBuilder().Padrao()) .ComParcelaBuilder(ParcelaIdBuilder.UmBuilder() .ComNumeroParcela(0).ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno)); return(AporteApropriadoBuilder.UmBuilder() .ComIdentificador(Guid.NewGuid()) .ComIdentificadorNegocio(_proposta.IdentificadorNegocio) .ComDataExecucaoEvento(DateTime.Now) .Com((AporteBuilder)aporte) .Build()); }
private IPortabilidadeApropriada ObterPortabilidadeApropriada() { var cobertura = _proposta.Produtos.First().Coberturas.First(); var aporte = PortabilidadeBuilder.UmBuilder() .ComCodigoSusep(IdentificadoresPadrao.CodigoSusep) .Com(PagamentoBuilder.UmBuilder().Padrao()) .ComValorBuilder(ValorBuilder.UmBuilder().Padrao()) .ComVigenciaBuilder(VigenciaBuilder.UmBuilder().Padrao()) .ComParcelaBuilder(ParcelaIdBuilder.UmBuilder() .ComNumeroParcela(0).ComIdentificadorExternoCobertura(cobertura.IdentificadorExterno)); return(PortabilidadeApropriadaBuilder.UmBuilder() .ComIdentificador(Guid.NewGuid()) .ComIdentificadorNegocio(_proposta.IdentificadorNegocio) .ComDataExecucaoEvento(DateTime.Now) .Com((PortabilidadeBuilder)aporte) .Build()); }
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))); }
public void FixtureSetUp() { _pagamento = PagamentoBuilder.UmBuilder().Build(); }