public async Task AcceptOrderAsync_WithoutSpecificRobot_AssignsOrderToAnyAvailableRobot() { var fleetManagerClient = Mock.Of <IFleetManagerClient>(); var dispatcherClient = Mock.Of <IDispatcherClient>(); var dbClient = Mock.Of <ICosmosDbClient <Order> >(); var orderManager = new OrderManager(fleetManagerClient, dispatcherClient, dbClient); var robots = generateAvailableRobots(1); Mock.Get(fleetManagerClient).Setup(f => f.GetAvailableRobotsAsync()).ReturnsAsync(robots); Mock.Get(dispatcherClient).Setup(d => d.SendJobAsync(It.IsAny <Job>())).ReturnsAsync(true).Verifiable(); var order = new Order(); var processedOrder = await orderManager.AcceptOrderAsync(order); Assert.Equal(OrderStatus.InProgress, processedOrder.Status); var job = processedOrder.Jobs[0]; Mock.Get(dispatcherClient).Verify((d) => d.SendJobAsync(job), Times.Once()); }