public void CarroDeComprasNaoPodeSerFinalizadoSeTodosOsItensDoPedidosNaoExistemNoEstoque() { var produto = new Produto() { QuantidadeEmEstoque = 0 }; var quantidade = produto.QuantidadeEmEstoque + 1; var carroDeCompras = new CarroDeCompras(); carroDeCompras.AdicionarItemPedido(new ItemPedido() { Produto = produto, Quantidade = quantidade }); var result = carroDeCompras.CompraPodeSerFinalizada(); result.Should().BeFalse(); }
public ActionResult FinalizarCompra(CarroDeCompras carroDeCompras, string idFormaPagamento) { if (carroDeCompras.CompraPodeSerFinalizada()) { var pedido = carroDeCompras.FinalizarCompra(FormaPagamento.ObterPorId(idFormaPagamento)); _pedidoService.IncluirPedido(pedido); TempData["Mensagem"] = "Pedido realizado com sucesso."; } else { TempData["Mensagem"] = "Estoque insuficiente para sua compra."; } return RedirectToAction("Index"); }