public void NaoDeveExistirNoEstoqueSeQuantidadeMaiorQueQuantidadeDoProdutoNoEstoque() { var produto = new Produto() { Preco = 6.40, QuantidadeEmEstoque = 2 }; var itemPedido = new ItemPedido() { Produto = produto, Quantidade = 3 }; itemPedido.ExisteNoEstoque().Should().BeFalse(); }
public void DeveSerCapazDeDarBaixaNoEstoque() { var produto = new Produto() { Preco = 6.40, QuantidadeEmEstoque = 4}; var itemPedido = new ItemPedido() { Produto = produto, Quantidade = 3 }; itemPedido.DarBaixaNoEstoque(); produto.QuantidadeEmEstoque.Should().Be(1); }
public void DeveSerCapazDeCalcularPrecoDoItemDoPedido() { var produto = new Produto() {Preco = 6.40}; var itemPedido = new ItemPedido() { Produto = produto, Quantidade = 3}; var result = itemPedido.CalcularPreco(); result.Should().BeInRange(19.1, 19.3); }
public void CarroDeComprasPodeSerFinalizadoSeTodosOsItensDoPedidosExistemNoEstoque() { var produto = new Produto() {QuantidadeEmEstoque = 1}; var quantidade = produto.QuantidadeEmEstoque; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); var result = carroDeCompras.CompraPodeSerFinalizada(); result.Should().BeTrue(); }
public void AoFinalizarCompraDeveSerAtualizadoEstoque() { var produto = new Produto() { QuantidadeEmEstoque = 1}; var quantidade = produto.QuantidadeEmEstoque; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); var pedido = carroDeCompras.FinalizarCompra(FormaPagamento.CartaoCreditoVisa); pedido.ItensPedido[0].Produto.QuantidadeEmEstoque.Should().Be(0); }
public void AoFinalizarCompraCarrinhoDeveSerEsvaziado() { var produto = new Produto(); var quantidade = 1; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); carroDeCompras.FinalizarCompra(FormaPagamento.CartaoCreditoVisa); carroDeCompras.ItensPedido.Should().BeEmpty(); }
public void AoFinalizarCompraDeveSerGeradoUmPedido() { var produto = new Produto(); var quantidade = 1; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade}); var pedido = carroDeCompras.FinalizarCompra(FormaPagamento.CartaoCreditoVisa); pedido.ItensPedido[0].Produto.Should().Be(produto); pedido.ItensPedido[0].Quantidade.Should().Be(quantidade); pedido.FormaPagamento.Id.Should().Be(FormaPagamento.CartaoCreditoVisa.Id); }
public void DeveSerCapazDeCalcularPrecoTotal() { var produto = new Produto() { Preco = 7.5}; var quantidade = 2; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); var result = carroDeCompras.CalcularPreco(); result.Should().BeInRange(14.9, 15.1); }
public void InserirItemPedidoEmUmCarroDeComprasVazio() { var produto = new Produto(); var quantidade = 1; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); carroDeCompras.ItensPedido[0].Produto.Should().Be(produto); carroDeCompras.ItensPedido[0].Quantidade.Should().Be(quantidade); }
public void InserirItemPedidoDeUmProdutoJaExistente() { var produto = new Produto(); var quantidade = 1; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade}); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); carroDeCompras.ItensPedido.Count.Should().Be(1); carroDeCompras.ItensPedido[0].Quantidade.Should().Be(2); }
public void DeveSerCapazDeItensDePedidoPeloIdDoProduto() { var produto = new Produto() { Id = 1 }; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = 0 }); carroDeCompras.RemoverProduto(produto.Id.ToString()); carroDeCompras.ItensPedido.Should().BeEmpty(); }