public BusinessController(IDataRepository dataRepository, IConfiguration config) { _dataRepository = dataRepository; _config = config; _business = new AltTrackBusiness(_dataRepository, config["TimeLimit"]); }
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 void TimeLimitTest() { var options = new DbContextOptionsBuilder <AltTrackDataContext>() .UseInMemoryDatabase(databaseName: "dummy") .Options; AltTrackDataRepository dataRepository = new AltTrackDataRepository(new AltTrackDataContext(options)); AltTrackBusiness business = new AltTrackBusiness(dataRepository, "40"); string actual = business.CheckStatus(DateTimeOffset.Now.Subtract(new TimeSpan(0, 30, 0))); //Status should be empty because it does not pass time limit Assert.Equal(string.Empty, actual); }
public void TimeLimitPassTest() { var options = new DbContextOptionsBuilder <AltTrackDataContext>() .UseInMemoryDatabase(databaseName: "dummy") .Options; AltTrackDataRepository dataRepository = new AltTrackDataRepository(new AltTrackDataContext(options)); AltTrackBusiness business = new AltTrackBusiness(dataRepository, "10"); string actual = business.CheckStatus(DateTimeOffset.Now.Subtract(new TimeSpan(0, 30, 0))); //Status should be disconnected because it passes 30 minutes over config's 10 value Assert.Equal("Disconnected", actual); }