public async Task ConnectedVehicleCountTest() { var options = new DbContextOptionsBuilder <AltTrackDataContext>() .UseInMemoryDatabase(databaseName: "dummy") .Options; AltTrackDataRepository dataRepository = new AltTrackDataRepository(new AltTrackDataContext(options)); AltTrackBusiness business = new AltTrackBusiness(dataRepository, "10"); //This should be update all 7 vehicles as Connected var result = await business.GetAllTrackingInfo(async vehicleId => { return(await MockStatus("Connected")); }); var actualStatusCount = 0; //Check the exact connected count var check = result.Select(c => { actualStatusCount += c.Vehicles.Where(v => v.Vehicle.LastStatus == "Connected").Select(v => v.Vehicle).ToList().Count; return(c); }).ToList(); //In dummy data there is 7 total vehicles, so expected also 7 //Let's check actual methods result Assert.Equal(7, actualStatusCount); }
public async Task <ActionResult <IEnumerable <Customer> > > GetAll() { IEnumerable <Customer> response = null; try { response = await _business.GetAllTrackingInfo(async vehicleId => { return(await GetLastStatus(vehicleId)); }); } catch (Exception ex) { return(BadRequest($"Unexpected error: {ex.Message}")); } return(Ok(response)); }