예제 #1
0
        public void AoAlterarCartaoCreditoComCobrancaProcessandoDeveLancarExcecao()
        {
            var cliente = ClienteCobrancaBuilder.BuildCliente(FormaPagamento.Cartao);

            Assert.Throws <ImpossivelAlterarDadosClienteQuandoCobrancaEstaEmProcessamentoException>(()
                                                                                                    => cliente.AlterarCartaoCredito(new CartaoCreditoCobranca("bla bla", "123", Guid.NewGuid().ToString())));
        }
예제 #2
0
        public static ClienteCobranca BuildCliente(Cobranca cobranca)
        {
            var cartaoCredito = cobranca.FormaPagamentoCartao ? ClienteCobrancaBuilder.BuildCartaoCredito() : null;

            return(new ClienteCobranca(cobranca, "Bla bla", "cpf", "emailbla@email", Guid.NewGuid().ToString(),
                                       BuildTelefone(), BuildEndereco(), cartaoCredito));
        }
예제 #3
0
        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()));
        }
예제 #4
0
        public void AoAlterarCartaoClienteComCobrancaBoletoDeveLancarExcecao()
        {
            var cobranca = CobrancaBuilder.BuildCobrancaBoleto().ComTransacaoFinalizada();

            var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca);

            Assert.Throws <CobrancaBoletoNaoDeveConterCartaoNoClienteException>(() => cliente.AlterarCartaoCredito(new CartaoCreditoCobranca("bla", "bla", "bla")));
        }
예제 #5
0
        public void AoAlterarCartaoClienteComCobrancaPagaDeveLancarExcecao()
        {
            var cobranca = CobrancaBuilder.BuildCobrancaCartao().ComTransacaoFinalizada();

            var cliente = ClienteCobrancaBuilder.BuildCliente(cobranca);

            Assert.Throws <ImpossivelAlterarDadosClienteQuandoCobrancaJaEstaPagaException>(() => cliente.AlterarCartaoCredito(new CartaoCreditoCobranca("bla", "bla", "bla")));
        }
예제 #6
0
        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);
        }
예제 #7
0
        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);
        }
예제 #8
0
        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);
        }
예제 #9
0
        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));
        }
예제 #10
0
        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()));
        }