public async Task TestMethodsCalled() { var pedidoFacade = new PedidoFacade(_dataContext, _pedidoService, _clienteRepository, _pedidoRepository, _droneRepository); var pedidos = SetupTests.GetPedidosList(); _pedidoRepository.ObterPedidos(Arg.Any <int>()) .Returns(pedidos); _clienteRepository.GetCliente(Arg.Any <int>()) .Returns(SetupTests.GetCliente()); _pedidoService.DroneAtendePedido(pedidos[0]) .Returns(SetupTests.GetDroneDto()); _droneRepository.GetDrone(Arg.Any <int>()) .Returns(SetupTests.GetDrone()); _pedidoRepository.GetPedido(Arg.Any <int>()) .Returns(pedidos[0]); await pedidoFacade.AssignDrone(_pedidoRepository); await _pedidoService.Received().DroneAtendePedido(Arg.Any <felipe.DTO.Models.Pedido>()); _dataContext.Pedido.Received().Update(Arg.Any <felipe.DTO.Models.Pedido>()); _dataContext.PedidoDrones.Received().Add(Arg.Any <PedidoDrone>()); }
public List <PedidoDrone> RetornaPedidosEmAberto() { List <PedidoDrone> pedidoDrones = new List <PedidoDrone>(); var busca = _context.PedidoDrones.Where(FiltroPedidosEmAberto()).ToList(); if (busca.Count > 0) { foreach (var b in busca) { var pedido = _pedidoRepository.GetPedido(b.PedidoId); var cliente = _clienteRepository.GetCliente(pedido.ClienteId); pedido.Cliente = cliente; PedidoDrone pedidoDrone = new PedidoDrone { Id = b.Id, DataHoraFinalizacao = b.DataHoraFinalizacao, DroneId = b.DroneId, PedidoId = b.PedidoId, Distancia = b.Distancia, StatusEnvio = b.StatusEnvio, Pedido = pedido, Drone = _droneRepository.GetDrone(b.DroneId), }; pedidoDrones.Add(pedidoDrone); } } return(pedidoDrones); }
private async Task AdicionarPedidoDrone(Pedido pedido, DTO.DroneDto drone) { var newDrone = _droneRepository.GetDrone(drone.DroneStatus.Drone.Id); var newPedido = _pedidoRepository.GetPedido(pedido.Id); var pedidoDrone = new PedidoDrone() { Distancia = drone.Distancia, Drone = newDrone, DroneId = drone.DroneStatus.Drone.Id, Pedido = newPedido, PedidoId = pedido.Id, StatusEnvio = (int)StatusEnvio.AGUARDANDO }; _dataContext.PedidoDrones.Add(pedidoDrone); await _dataContext.SaveChangesAsync(); }