Exemplo n.º 1
0
        public void AoProcessarCartaoStatusDeveSerProcessadoComNumeroEToken()
        {
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito();

            cartaoCredito.Processado();

            Assert.AreEqual(cartaoCredito.Status.Status, StatusCartao.Processado);
        }
Exemplo n.º 2
0
        public void AoAdicionarTransacaoCartaoNaoProcessadoDeveLancarExcecao()
        {
            var cartaoCredito        = CartaoCreditoBuilder.BuildCartaoCredito();
            var cartaoCreditoComErro = CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Erro);

            Assert.Throws <CartaoCreditoNaoProcessadoException>(() => cartaoCredito.AddTransacao(Guid.NewGuid().ToString(), 22));
            Assert.Throws <CartaoCreditoNaoProcessadoException>(() => cartaoCreditoComErro.AddTransacao(Guid.NewGuid().ToString(), 22));
        }
Exemplo n.º 3
0
        public void AoDefinirErroCartaoQuandoStatusForDiferenteProcessandoDeveLancarExcecao()
        {
            var cartaoCredito        = CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Processado);
            var cartaoCreditoComErro = CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Erro);

            Assert.Throws <ImpossivelDefinirStatusCartaoComoErroException>(() => cartaoCredito.Erro(Guid.NewGuid().ToString()));
            Assert.Throws <ImpossivelDefinirStatusCartaoComoErroException>(() => cartaoCreditoComErro.Erro(Guid.NewGuid().ToString()));
        }
Exemplo n.º 4
0
        public void AoDefinirErroCartaoStatusDeveSerErroComMensagemErro()
        {
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito();
            var mensagemErro  = Guid.NewGuid().ToString();

            cartaoCredito.Erro(mensagemErro);

            Assert.AreEqual(cartaoCredito.Status.Status, StatusCartao.Erro);
            Assert.AreEqual(cartaoCredito.Status.MensagemErro, mensagemErro);
        }
Exemplo n.º 5
0
        public void AoCriarTransacaoCartaoTodosOsCamposDeveSerSetadosCorretamente()
        {
            var idCobranca    = Guid.NewGuid().ToString();
            var valor         = 200;
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Processado);

            var transacaoCartao = TransacaoCartaoBuilder.BuildTransacao(idCobranca, cartaoCredito, valor);

            Assert.AreEqual(transacaoCartao.CobrancaId, idCobranca);
            Assert.AreEqual(transacaoCartao.Valor, valor);
        }
Exemplo n.º 6
0
        public void AoProcessarCartaoDeveAdicionarEventoACartaoCredito()
        {
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito();

            cartaoCredito.Processado();
            var cartaoCreditoEvent = cartaoCredito
                                     .Events
                                     .Where(e => e is CartaoCreditoProcessadoEvent)
                                     .Cast <CartaoCreditoProcessadoEvent>();

            Assert.AreEqual(cartaoCreditoEvent.SingleOrDefault()?.CartaoId, cartaoCredito.Id.ToString());
        }
Exemplo n.º 7
0
        public void AoAdicionarCartaoCreditoDeveAdicionarEventoCartaoCredito()
        {
            var dadosCartao        = CartaoCreditoBuilder.BuildDadosCartao();
            var cartaoCredito      = CartaoCreditoBuilder.BuildCartaoCredito(dadosCartao);
            var cartaoCreditoEvent = cartaoCredito
                                     .Events
                                     .Where(e => e is CartaoCreditoCriadoEvent)
                                     .Cast <CartaoCreditoCriadoEvent>();

            Assert.AreEqual(cartaoCreditoEvent.SingleOrDefault()?.CartaoId, cartaoCredito.Id.ToString());
            Assert.AreSame(cartaoCreditoEvent.SingleOrDefault()?.DadosCartao, dadosCartao);
        }
Exemplo n.º 8
0
        public void AoAdicionarTransacaoCobrancaDeveAdicionarCorretamenteALista()
        {
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Processado);
            var cobId         = Guid.NewGuid().ToString();
            var valorCobranca = 22;

            cartaoCredito.AddTransacao(cobId, 22);
            var transacao = cartaoCredito.Transacoes.SingleOrDefault();

            Assert.IsNotNull(transacao);
            Assert.AreEqual(transacao.CobrancaId, cobId);
            Assert.AreEqual(transacao.Valor, valorCobranca);
        }
Exemplo n.º 9
0
        public void AoDefinirErroCartaoDeveAdicionarEventoACartaoCredito()
        {
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito();
            var mensagemErro  = Guid.NewGuid().ToString();

            cartaoCredito.Erro(mensagemErro);
            var cartaoCreditoEvent = cartaoCredito
                                     .Events
                                     .Where(e => e is ErroProcessarCartaoCreditoEvent)
                                     .Cast <ErroProcessarCartaoCreditoEvent>();

            Assert.AreEqual(cartaoCreditoEvent.SingleOrDefault()?.MensagemErro, mensagemErro);
            Assert.AreEqual(cartaoCreditoEvent.SingleOrDefault()?.CartaoId, cartaoCredito.Id.ToString());
        }
Exemplo n.º 10
0
        public void AoCriarCartaoCreditoDeveSetarDadosCorretamente()
        {
            var cpfCnpjProprietario = "12345678912";
            var clienteId           = Guid.NewGuid().ToString();
            var numero        = "1234";
            var codigo        = "12345";
            var nome          = "bla";
            var vencimento    = DateTime.Today.AddDays(22);
            var dadosCartao   = CartaoCreditoBuilder.BuildDadosCartao(numero, codigo, nome, vencimento);
            var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito(cpfCnpjProprietario, dadosCartao);

            Assert.AreEqual(cartaoCredito.CpfCnpjProprietario, cpfCnpjProprietario);
            Assert.AreEqual(numero, dadosCartao.Numero);
            Assert.AreEqual(codigo, dadosCartao.CodigoSeguranca);
            Assert.AreEqual(nome, dadosCartao.NomeProprietario);
            Assert.AreEqual(vencimento, dadosCartao.Vencimento);
        }
Exemplo n.º 11
0
 public static Transacao BuildTransacao()
 => new Transacao(Guid.NewGuid().ToString(), CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Processado), 200);
Exemplo n.º 12
0
 public void AoCriarCobrancaComCartaoNaoProcessadoDeveLancarExcecao()
 {
     Assert.Throws <CartaoCreditoNaoProcessadoException>(() => new Transacao(Guid.NewGuid().ToString(), CartaoCreditoBuilder.BuildCartaoCredito(), 200));
 }