public void AoProcessarCartaoStatusDeveSerProcessadoComNumeroEToken() { var cartaoCredito = CartaoCreditoBuilder.BuildCartaoCredito(); cartaoCredito.Processado(); Assert.AreEqual(cartaoCredito.Status.Status, StatusCartao.Processado); }
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)); }
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())); }
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); }
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); }
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()); }
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); }
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); }
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()); }
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); }
public static Transacao BuildTransacao() => new Transacao(Guid.NewGuid().ToString(), CartaoCreditoBuilder.BuildCartaoCredito().ComStatus(StatusCartao.Processado), 200);
public void AoCriarCobrancaComCartaoNaoProcessadoDeveLancarExcecao() { Assert.Throws <CartaoCreditoNaoProcessadoException>(() => new Transacao(Guid.NewGuid().ToString(), CartaoCreditoBuilder.BuildCartaoCredito(), 200)); }