public async Task Deve_salvar_um_evento_de_pedido_criado_ao_criar_pedido() { var produto = _faker.Random.Word(); var quantidade = _faker.Random.Int(0); var valor = _faker.Random.Decimal(); var cartaoDeCreditoDto = new CartaoDeCreditoDto { Numero = _faker.Random.Int(0).ToString(), Nome = _faker.Person.FirstName, CVV = _faker.Random.Int(100, 999).ToString(), Expiracao = "03/27" }; var cartaoDeCredito = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDto); var pedidoDto = new PedidoDto { Produto = produto, Quantidade = quantidade, Valor = valor, CartaoDeCreditoDto = cartaoDeCreditoDto }; var pedidoCriado = PedidoBuilder.Novo().ComProduto(produto).ComQuantidade(quantidade).ComValor(valor) .ComCartaoDeCredito(cartaoDeCredito).Criar(); var eventoEsperado = new PedidoCriadoEvento(pedidoCriado.Id, pedidoCriado.CartaoDeCredito.Nome, pedidoCriado.CartaoDeCredito.Numero, pedidoCriado.Produto, pedidoCriado.Valor); await _criacaoDePedido.Criar(pedidoDto); _eventoRepositorio.Verify(pr => pr.Salvar(It.Is <PedidoCriadoEvento>(evento => evento.ToExpectedObject(ctx => ctx.Ignore(p => p.Id)).Matches(eventoEsperado)))); }
public void Deve_mapear_pedido() { var produto = _faker.Random.Word(); var quantidade = _faker.Random.Int(0); var valor = _faker.Random.Decimal(); var cartaoDeCreditoDto = new CartaoDeCreditoDto { Numero = _faker.Random.Int(0).ToString(), Nome = _faker.Person.FirstName, CVV = _faker.Random.Int(100, 999).ToString(), Expiracao = "03/27" }; var cartaoDeCredito = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDto); var pedidoDto = new PedidoDto { Produto = produto, Quantidade = quantidade, Valor = valor, CartaoDeCreditoDto = cartaoDeCreditoDto }; var pedidoEsperado = PedidoBuilder.Novo().ComProduto(produto).ComQuantidade(quantidade).ComValor(valor) .ComCartaoDeCredito(cartaoDeCredito).Criar(); var pedidoObtido = MapeadorDePedido.Mapear(pedidoDto); pedidoEsperado.ToExpectedObject(ctx => ctx.Ignore(p => p.Id)).ShouldMatch(pedidoObtido); }
public void Deve_retornar_nulo_quando_dto_for_nulo() { CartaoDeCreditoDto cartaoDeCreditoDtoInvalido = null; var cartaoDeCredito = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDtoInvalido); Assert.Null(cartaoDeCredito); }
public async Task AtualizarCartaoDeCredito(int idDoPedido, CartaoDeCreditoDto cartaoDeCreditoDto) { var novoCartaoDeCredito = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDto); var pedido = _pedidoRepositorio.ObterPedidoPeloId(idDoPedido); pedido.AtualizarCartaoDeCredito(novoCartaoDeCredito); await _pedidoRepositorio.AtualizarPedido(pedido); await NotificarAlteracaoDeCartaoDeCreditoAoServicoDePagamento(pedido, novoCartaoDeCredito); }
public void Deve_mapear_o_cartao_de_credito() { var numero = _faker.Random.Int(0).ToString(); var nome = _faker.Person.FirstName; var cvv = _faker.Random.Int(100, 999).ToString(); const string expiracao = "03/27"; var cartaoDeCreditoEsperado = CartaoDeCreditoBuilder.Novo().ComNome(nome).ComNumero(numero).ComCvv(cvv) .ComExpiracao(expiracao).Criar(); var cartaoDeCreditoDto = new CartaoDeCreditoDto { Numero = numero, Nome = nome, CVV = cvv, Expiracao = expiracao, }; var cartaoDeCreditoObtido = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDto); cartaoDeCreditoEsperado.ToExpectedObject().ShouldMatch(cartaoDeCreditoObtido); }