public void AoCriarCobrancaCartaoOsValoresDevemSerSetadosCorretamente() { var valor = 20; var vencimento = DateTime.Today.AddDays(10); var tenantIdCliente = Guid.NewGuid().ToString(); var cartaoCreditoId = Guid.NewGuid().ToString(); var configuracaoEmissaoId = Guid.NewGuid().ToString(); var nomeCliente = "Nome cliente teste 123"; var cpfCnpjCliente = "123457822333"; var emailCliente = "*****@*****.**"; var telefoneCliente = new Telefone("ddd", "4477885522"); var cartaoCreditoCliente = new CartaoCreditoCobranca("Nome clçiente 12313213", "numero 4455888", cartaoCreditoId); var descricao = "Teste Desc"; var novaCobranca = CobrancaBuilder.BuildCobrancaCartao(descricao, valor, vencimento, configuracaoEmissaoId, nomeCliente, cpfCnpjCliente, emailCliente, telefoneCliente, cartaoCreditoCliente, tenantIdCliente); Assert.AreEqual(novaCobranca.Valor, valor); Assert.AreEqual(novaCobranca.Descricao, descricao); Assert.AreEqual(novaCobranca.Vencimento, vencimento); Assert.AreEqual(novaCobranca.ClienteCobranca.TenantId, tenantIdCliente); Assert.AreEqual(novaCobranca.ClienteCobranca.CartaoCreditoCobranca.TenantId, cartaoCreditoId); Assert.AreEqual(novaCobranca.ClienteCobranca.Telefone.Ddd, telefoneCliente.Ddd); Assert.AreEqual(novaCobranca.ClienteCobranca.Telefone.Numero, telefoneCliente.Numero); Assert.AreEqual(novaCobranca.ClienteCobranca.CartaoCreditoCobranca.Nome, cartaoCreditoCliente.Nome); Assert.AreEqual(novaCobranca.ClienteCobranca.CartaoCreditoCobranca.Numero, cartaoCreditoCliente.Numero); Assert.AreEqual(novaCobranca.ClienteCobranca.CartaoCreditoCobranca.TenantId, cartaoCreditoCliente.TenantId); Assert.AreEqual(novaCobranca.ConfiguracaoEmissaoId, configuracaoEmissaoId); }
public void AoCriarClienteSemCartaoCreditoECobrancaDeCartaoDeveLancarExcecao() { var cobrancaCartao = CobrancaBuilder.BuildCobrancaCartao(); Assert.Throws <CobrancasComCartaoDevemPossuirClienteComCartaoCreditoVinculadoException>(() => new ClienteCobranca(cobrancaCartao, "Bla bla", "cpf", "emailbla@email", Guid.NewGuid().ToString(), ClienteCobrancaBuilder.BuildTelefone(), ClienteCobrancaBuilder.BuildEndereco(), null)); }
public void AoAlterarClienteComCobrancaProcessandoDeveLancarExcecao() { var cobranca = CobrancaBuilder.BuildCobrancaCartao(); var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca); Assert.Throws <ImpossivelAlterarDadosClienteQuandoCobrancaEstaEmProcessamentoException>(() => cliente.Alterar(Guid.NewGuid().ToString(), "teste", "1234", "*****@*****.**", ClienteCobrancaBuilder.BuildTelefone(), ClienteCobrancaBuilder.BuildEndereco())); }
public void AoAlterarCartaoClienteComCobrancaBoletoDeveLancarExcecao() { var cobranca = CobrancaBuilder.BuildCobrancaBoleto().ComTransacaoFinalizada(); var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca); Assert.Throws <CobrancaBoletoNaoDeveConterCartaoNoClienteException>(() => cliente.AlterarCartaoCredito(new CartaoCreditoCobranca("bla", "bla", "bla"))); }
public void AoAlterarCartaoClienteComCobrancaPagaDeveLancarExcecao() { var cobranca = CobrancaBuilder.BuildCobrancaCartao().ComTransacaoFinalizada(); var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca); Assert.Throws <ImpossivelAlterarDadosClienteQuandoCobrancaJaEstaPagaException>(() => cliente.AlterarCartaoCredito(new CartaoCreditoCobranca("bla", "bla", "bla"))); }
public void AoCriarClienteComCartaoCreditoECobrancaNaoCartaoDeveLancarExcecao() { var cobrancaCartao = CobrancaBuilder.BuildCobrancaBoleto(); Assert.Throws <CobrancaBoletoNaoDeveConterCartaoNoClienteException>(() => new ClienteCobranca(cobrancaCartao, "Bla bla", "cpf", "emailbla@email", Guid.NewGuid().ToString(), ClienteCobrancaBuilder.BuildTelefone(), ClienteCobrancaBuilder.BuildEndereco(), ClienteCobrancaBuilder.BuildCartaoCredito())); }
public void Setup() { _cobrancaBoleto = CobrancaBuilder.BuildCobrancaBoleto(); _cobrancaCartao = CobrancaBuilder.BuildCobrancaCartao(); _cobrancaBoletoFormaPagamentoFinalizada = CobrancaBuilder .BuildCobrancaBoleto() .ComTransacaoFinalizada(); }
public static ClienteCobranca BuildCliente(FormaPagamento formaPagamentoCobranca) { var cobranca = formaPagamentoCobranca == FormaPagamento.Boleto ? CobrancaBuilder.BuildCobrancaBoleto() : CobrancaBuilder.BuildCobrancaCartao(); var cartaoCredito = cobranca.FormaPagamentoCartao ? ClienteCobrancaBuilder.BuildCartaoCredito() : null; return(new ClienteCobranca(cobranca, "Bla bla", "cpf", "emailbla@email", Guid.NewGuid().ToString(), BuildTelefone(), BuildEndereco(), cartaoCredito)); }
public void AoCriarUmaCobrancaDeveCriarEventoNaCobranca() { var novaCobranca = CobrancaBuilder.BuildCobrancaCartao(); var cobrancaEvent = novaCobranca.Events .Where(e => e is CobrancaCriadaEvent) .Cast <CobrancaCriadaEvent>().SingleOrDefault(); Assert.AreEqual(cobrancaEvent.CobrancaId, novaCobranca.Id.ToString()); }
public void AoAlterarCartaoClienteDeveSetarCartaoCorretamente() { var cobranca = CobrancaBuilder.BuildCobrancaCartao().ComErroTransacao(); var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca); var novoCartaoCredito = ClienteCobrancaBuilder.BuildCartaoCredito(); cliente.AlterarCartaoCredito(novoCartaoCredito); Assert.AreSame(cliente.CartaoCreditoCobranca, novoCartaoCredito); }
public void AoAlterarCobrancaCartaoNaoDeveRegerarTransacao() { var cobrancaCartao = CobrancaBuilder.BuildCobrancaCartao().ComErroTransacao(); var transacaoBoletoReprocessadaEvent = cobrancaCartao.Events.Where(e => e is TransacaoCobrancaReprocessandodoEvent) .Cast <TransacaoCobrancaReprocessandodoEvent>(); Assert.IsNull(transacaoBoletoReprocessadaEvent.SingleOrDefault()); cobrancaCartao.AlterarCobranca(22, DateTime.Today, Guid.NewGuid().ToString()); Assert.IsNull(transacaoBoletoReprocessadaEvent.SingleOrDefault()); }
public void StatusProcessamentoDeveSerIgualDeAcordoComSolicitado([Values(StatusTransacao.Processando, StatusTransacao.Processado, StatusTransacao.Erro)] StatusTransacao statusTransacao) { var cobranca = _cobrancaBoleto; if (statusTransacao == StatusTransacao.Processando) { cobranca = CobrancaBuilder.BuildCobrancaCartao(); } else if (statusTransacao == StatusTransacao.Processado) { _cobrancaBoleto.FinalizaProcessamentoFormaPagamento(); } else if (statusTransacao == StatusTransacao.Erro) { _cobrancaBoleto.ErroCriarTransacao(); } Assert.AreEqual(cobranca.Transacao.Status, statusTransacao); }
public void AoAlterarClienteDeveSetarDadosCorretamente() { var cobranca = CobrancaBuilder.BuildCobrancaCartao().ComErroTransacao(); var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca); var tenantId = Guid.NewGuid().ToString(); var nome = Guid.NewGuid().ToString(); var email = Guid.NewGuid().ToString(); var cpfCnpj = Guid.NewGuid().ToString(); var telefone = ClienteCobrancaBuilder.BuildTelefone(); var endereco = ClienteCobrancaBuilder.BuildEndereco(); cliente.Alterar(tenantId, nome, cpfCnpj, email, telefone, endereco); Assert.AreEqual(tenantId, cliente.TenantId); Assert.AreEqual(nome, cliente.Nome); Assert.AreEqual(cpfCnpj, cliente.CpfCnpj); Assert.AreEqual(email, cliente.Email); Assert.AreSame(telefone, cliente.Telefone); Assert.AreSame(endereco, cliente.Endereco); }
public void AoCriarClienteDeveSetarValoresCorretamente() { var cobrancaCartao = CobrancaBuilder.BuildCobrancaCartao(); var telefone = ClienteCobrancaBuilder.BuildTelefone(); var endereco = ClienteCobrancaBuilder.BuildEndereco(); var nome = Guid.NewGuid().ToString(); var cpfCnpj = Guid.NewGuid().ToString(); var email = Guid.NewGuid().ToString(); var tenantId = Guid.NewGuid().ToString(); var cartaoCredito = ClienteCobrancaBuilder.BuildCartaoCredito(); var cliente = new ClienteCobranca(cobrancaCartao, nome, cpfCnpj, email, tenantId, telefone, endereco, cartaoCredito); Assert.AreEqual(cliente.Nome, nome); Assert.AreEqual(cliente.CpfCnpj, cpfCnpj); Assert.AreEqual(cliente.Email, email); Assert.AreEqual(cliente.TenantId, tenantId); Assert.AreSame(cliente.Telefone, telefone); Assert.AreSame(cliente.Endereco, endereco); Assert.AreEqual(cliente.CartaoCreditoCobranca.TenantId, cartaoCredito.TenantId); Assert.AreEqual(cliente.CartaoCreditoCobranca.Nome, cartaoCredito.Nome); Assert.AreEqual(cliente.CartaoCreditoCobranca.Numero, cartaoCredito.Numero); }
public void ConsigoCriarCobrancaDeBoleto() { Assert.DoesNotThrow(() => CobrancaBuilder.BuildCobrancaBoleto()); }