public ResumoPedidoDto MontarPedido(MontagemPedidoDto montagemPedido) { var tamanhoPizza = _tamanhosPizzaRepository.GetAll() .FirstOrDefault(x => x.Tamanho.ToUpper() == montagemPedido.TamanhoPizza.ToUpper()); if (tamanhoPizza == null) { throw new Exception($"O tamanho de pizza { montagemPedido.TamanhoPizza } informado não esta cadastrado!"); } var saborPizza = _saboresPizzaRepository.GetAll() .FirstOrDefault(x => x.Sabor.ToUpper() == montagemPedido.SaborPizza.ToUpper()); if (saborPizza == null) { throw new Exception($"O sabor de pizza { montagemPedido.SaborPizza } informado não esta cadastrado!"); } var pedido = new Pedidos { TamanhosPizza = tamanhoPizza, SaboresPizza = saborPizza, Total = tamanhoPizza.Valor, Tempo = tamanhoPizza.Tempo + saborPizza.TempoAdicional ?? 0, Finalizado = false }; _pedidoRepository.Add(pedido); var resumoPedido = _mapper.Map <ResumoPedidoDto>(pedido); return(resumoPedido); }
public void Deve_Montar_Um_Pedido_Quando_Informado_Tamanho_E_Sabor_Pizza_Existentes() { tamanhosPizzaRepository.GetAll().Returns(new List <TamanhosPizza> { tamanhoPizza }); saboresPizzaRepository.GetAll().Returns(new List <SaboresPizza> { saborPizza }); new MontagemPedidoBusiness(pedidoRepository, saboresPizzaRepository, tamanhosPizzaRepository, mapper).MontarPedido(montagemPedidoDto); tamanhosPizzaRepository.ReceivedWithAnyArgs(1).GetAll(); saboresPizzaRepository.ReceivedWithAnyArgs(1).GetAll(); pedidoRepository.ReceivedWithAnyArgs(1).Add(Arg.Any <Pedidos>()); mapper.ReceivedWithAnyArgs(1).Map <ResumoPedidoDto>(Arg.Any <Pedidos>()); }