public async Task TestMethodsCalled()
        {
            var pedidoFacade = new PedidoFacade(
                _pedidoService,
                _clienteRepository,
                _pedidoRepository,
                _droneRepository,
                _pagamentoServiceFactory,
                _pedidoDroneRepository);

            var pedidos = SetupTests.GetPedidosList();

            _pedidoRepository.ObterPedidos(Arg.Any <int>())
            .Returns(pedidos);
            _clienteRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetCliente());
            _pedidoService.DroneAtendePedido(pedidos[0])
            .Returns(SetupTests.GetDroneDto());
            _droneRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetDrone());
            _pedidoRepository.FindByIdAsync(Arg.Any <string>())
            .Returns(pedidos[0]);

            await pedidoFacade.AssignDroneAsync();


            await _pedidoService.Received().DroneAtendePedido(Arg.Any <Pedido>());

            _pedidoRepository.Received().ReplaceOne(Arg.Any <Pedido>());
            await _pedidoDroneRepository.Received().AddAsync(Arg.Any <PedidoDrone>());
        }
        public async Task TestDroneNotFound()
        {
            var pedidoFacade = new PedidoFacade(
                _pedidoService,
                _clienteRepository,
                _pedidoRepository,
                _droneRepository,
                _pagamentoServiceFactory,
                _pedidoDroneRepository);

            var pedidos = SetupTests.GetPedidosList();

            _pedidoRepository.ObterPedidos(Arg.Any <int>())
            .Returns(pedidos);
            _clienteRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetCliente());

            _droneRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetDrone());
            _pedidoRepository.FindByIdAsync(Arg.Any <string>())
            .Returns(pedidos[0]);

            await pedidoFacade.AssignDroneAsync();


            _pedidoRepository.DidNotReceive().ReplaceOne(Arg.Any <Pedido>());
        }
        public async Task TestPedidoNotFound()
        {
            var pedidoFacade = new PedidoFacade(
                _pedidoService,
                _clienteRepository,
                _pedidoRepository,
                _droneRepository,
                _pagamentoServiceFactory,
                _pedidoDroneRepository);

            _clienteRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetCliente());

            _droneRepository.GetByIdAsync(Arg.Any <int>())
            .Returns(SetupTests.GetDrone());

            await pedidoFacade.AssignDroneAsync();


            await _pedidoRepository.DidNotReceive().UpdateAsync(Arg.Any <Pedido>());
        }