static void Main(string[] args) { IPedidoRepositorio pedidoRepositorio = new PedidoRepositorio(); IProdutoRepositorio produtoRepositorio = new ProdutoRepositorio(); IClienteRepositorio clienteRepositorio = new ClienteRepositorio(); Cliente cliente = clienteRepositorio.BuscarClientePorId(1); var pedido = new Pedido(cliente); Produto produtoParaAdicionar = produtoRepositorio.BuscarProdutoPorId(1); int quantidadeDesejada = 1; pedido.AdicionarProduto(produtoParaAdicionar, quantidadeDesejada); PedidoServico pedidoServico = ServicoInjecaoDependencia.CriarServicoPedido(); pedidoServico.FecharPedido(pedido); }
public void DeveFecharOPedidoEDebitarItensDoEstoque() { IClienteRepositorio clienteRepositorio = new ClienteRepositorioMock(); IProdutoRepositorio produtoRepositorio = new ProdutoRepositorioMock(); IPedidoRepositorio pedidoRepositorio = new PedidoRepositorioMock(); IServicoEmail servicoEmail = new ServicoEmailMock(); var pedidoServico = new PedidoServico(pedidoRepositorio, servicoEmail); Cliente cliente = clienteRepositorio.BuscarClientePorId(1); Produto espadaMagica = produtoRepositorio.BuscarProdutoPorId(1); Pedido pedido = new Pedido(cliente); pedido.AdicionarProduto(espadaMagica, 1); int quantidadeAtualDeEstoque = espadaMagica.QuantidadeEstoque; pedidoServico.FecharPedido(pedido); Assert.AreEqual(4, espadaMagica.QuantidadeEstoque); }