public void Test_Trivial_String_Props(string propName) { var queryParams = new LodgingQueryParamsModel(); var prop = queryParams.GetType().GetProperty(propName); prop.SetValue(queryParams, "test"); Assert.Equal("test", prop.GetValue(queryParams)); }
public void Test_GenerateOrderByFunc_InvalidKey() { var queryParams = new LodgingQueryParamsModel(); queryParams.SortKey = "missing"; var orderByFunc = LodgingRepository.GenerateOrderByFunc(queryParams); Assert.Null(orderByFunc); }
public void Test_GenerateOrderByFunc(string sortKey) { var queryParams = new LodgingQueryParamsModel(); queryParams.SortKey = sortKey; var orderByFunc = LodgingRepository.GenerateOrderByFunc(queryParams); Assert.NotNull(orderByFunc); }
public async Task <IActionResult> Get([FromQuery] LodgingQueryParamsModel queryParams, int id) { var obj = await _unitOfWork.Lodging.GetAsync(id, queryParams); if (obj == null) { return(NotFound()); } return(Ok(obj)); }
public void Test_GenerateFilterFuncs() { var queryParams = new LodgingQueryParamsModel(); queryParams.HasBedType = "King"; queryParams.HasAmenity = "Coffee"; queryParams.City = "test"; var funcs = LodgingRepository.GenerateFilterFuncs(queryParams); // 4 filters are always added, +3 more based on params. Assert.Equal(7, funcs.Count); }
public void Test_Clamped_Props_Double(string propName, double min, double max) { var queryParams = new LodgingQueryParamsModel(); var prop = queryParams.GetType().GetProperty(propName); prop.SetValue(queryParams, -99999999); Assert.Equal(min, prop.GetValue(queryParams)); if (min != max) { prop.SetValue(queryParams, 99999999); Assert.Equal(max, prop.GetValue(queryParams)); } }
public async void Test_LodgingRepo_GetAsync_IncludeImages() { var dbOptions = await NewDb(); using (var ctx = new LodgingContext(dbOptions)) { await ctx.Database.EnsureCreatedAsync(); await ctx.SaveChangesAsync(); } using (var ctx = new LodgingContext(dbOptions)) { var repo = new LodgingRepository(ctx); var queryParams = new LodgingQueryParamsModel(); queryParams.IncludeImages = true; var actual = await repo.GetAsync(queryParams); Assert.Empty(actual); } }
public async Task <IActionResult> Get([FromQuery] LodgingQueryParamsModel queryParams) { return(Ok(await _unitOfWork.Lodging.GetAsync(queryParams))); }