public async Task GetRestaurantOverviewList_TwoPerPage() { using (var dbContext = CreateDbContext()) { //Arrange var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", PageSize = 2, PageNumber = 1, }; var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedListOne = await repository.GetRestaurantOverviewList(search); search.PageNumber = 2; var restaurantPagedListTwo = await repository.GetRestaurantOverviewList(search); //Assert Assert.Equal(2, restaurantPagedListOne.PageCount); Assert.Equal(2, restaurantPagedListOne.Result.Count()); Assert.Single(restaurantPagedListTwo.Result); } }
public async Task GetRestaurantOverviewList_OnlyThatContainsBudapest_OnOnePage() { using (var dbContext = CreateDbContext()) { //Arrange var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "Budapest", PageSize = TestSeedService.Restaurants.Count, PageNumber = 1, }; var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedList = await repository.GetRestaurantOverviewList(search); //Assert var restaurants = restaurantPagedList.Result.ToList(); Assert.Equal(2, restaurantPagedList.TotalItemCount); Assert.Equal(1, restaurantPagedList.PageCount); Assert.Equal(TestSeedService.Restaurants[0].Name, restaurants[0].Name); Assert.Equal(TestSeedService.Restaurants[1].Name, restaurants[1].Name); } }
public async Task GetRestaurantOverviewList_AllAvailable_OnOnePage_SortBy(RestaurantSortBy sortBy) { using (var dbContext = CreateDbContext()) { //Arrange int restaurantsCount = TestSeedService.Restaurants.Count; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", SortBy = sortBy.ToString(), PageSize = restaurantsCount, PageNumber = 1, }; var orderedRestaurantList = TestSeedService.Restaurants.SortByAll(sortBy); var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedList = await repository.GetRestaurantOverviewList(search); //Assert Assert.Equal(restaurantsCount, restaurantPagedList.TotalItemCount); Assert.Equal(1, restaurantPagedList.PageCount); Assert.True(restaurantPagedList.Result.First().Name == orderedRestaurantList.First().Name); Assert.True(restaurantPagedList.Result.Last().Name == orderedRestaurantList.Last().Name); } }
public async Task GetGuestFavouriteRestaurantList_CarsonFavourites_OnePerPage() { using (var dbContext = CreateDbContext()) { //Arrange string carsonUserId = TestSeedService.Users[0].Id; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", PageSize = 1, PageNumber = 1, }; var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedListOne = await repository.GetGuestFavouriteRestaurantList(carsonUserId, search); search.PageNumber = 2; var restaurantPagedListTwo = await repository.GetGuestFavouriteRestaurantList(carsonUserId, search); //Assert Assert.Equal(2, restaurantPagedListOne.PageCount); Assert.Single(restaurantPagedListOne.Result); Assert.Single(restaurantPagedListTwo.Result); } }
public async Task GetGuestFavouriteRestaurantList_CarsonFavourites_OnOnePage_SortBy(RestaurantSortBy sortBy) { using (var dbContext = CreateDbContext()) { //Arrange string carsonUserId = TestSeedService.Users[0].Id; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", SortBy = sortBy.ToString(), PageSize = TestSeedService.Restaurants.Count, PageNumber = 1, }; var orderedRestaurantList = TestSeedService.Restaurants.SortByCarsonFavourite(sortBy); var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedList = await repository.GetGuestFavouriteRestaurantList(carsonUserId, search); //Assert Assert.Equal(2, restaurantPagedList.TotalItemCount); Assert.Equal(1, restaurantPagedList.PageCount); Assert.True(restaurantPagedList.Result.First().Name == orderedRestaurantList.First().Name); Assert.True(restaurantPagedList.Result.Last().Name == orderedRestaurantList.Last().Name); } }
public async Task GetGuestFavouriteRestaurantList_CarsonFavourites_OnOnePage_SortBy(RestaurantSortBy sortBy) { //Arrange int restaurantsCount = TestSeedService.Restaurants.Count; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", SortBy = sortBy.ToString(), PageSize = restaurantsCount, PageNumber = 1, }; var orderedRestaurantList = TestSeedService.Restaurants.SortByCarsonFavourite(sortBy); var accessToken = await authServer.GetAccessToken("*****@*****.**", "Test.54321"); //Vendég felhasználó var client = webApiServer.CreateClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); //Act var favouriteRestaurantListResponse = await client.GetAsync("/api/restaurant/favourite?" + search.ToQueryParams()); var restaurantPagedList = await favouriteRestaurantListResponse.Content.ReadFromJsonAsync <PagedListDto <RestaurantOverviewDto> >(); //Assert Assert.Equal(HttpStatusCode.OK, favouriteRestaurantListResponse.StatusCode); Assert.Equal(2, restaurantPagedList.TotalItemCount); Assert.Equal(1, restaurantPagedList.PageCount); Assert.True(restaurantPagedList.Result.First().Name == orderedRestaurantList.First().Name); Assert.True(restaurantPagedList.Result.Last().Name == orderedRestaurantList.Last().Name); }
public async Task GetRestaurantOverviewList_AllAvailable_OnOnePage_SortBy(RestaurantSortBy sortBy) { //Arrange int restaurantsCount = TestSeedService.Restaurants.Count; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", SortBy = sortBy.ToString(), PageSize = restaurantsCount, PageNumber = 1, }; var orderedRestaurantList = TestSeedService.Restaurants.SortByAll(sortBy); var client = webApiServer.CreateClient(); //Act var restaurantOverviewListResponse = await client.GetAsync("/api/restaurant?" + search.ToQueryParams()); var restaurantPagedList = await restaurantOverviewListResponse.Content.ReadFromJsonAsync <PagedListDto <RestaurantOverviewDto> >(); //Assert Assert.Equal(HttpStatusCode.OK, restaurantOverviewListResponse.StatusCode); Assert.Equal(TestSeedService.Restaurants.Count, restaurantPagedList.TotalItemCount); Assert.Equal(1, restaurantPagedList.PageCount); Assert.True(restaurantPagedList.Result.First().Name == orderedRestaurantList.First().Name); Assert.True(restaurantPagedList.Result.Last().Name == orderedRestaurantList.Last().Name); }
public async Task GetRestaurantOverviewList_WithNoResult() { using (var dbContext = CreateDbContext()) { //Arrange var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "Ez nem létezik.", PageSize = TestSeedService.Restaurants.Count, PageNumber = 1, }; var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedList = await repository.GetRestaurantOverviewList(search); //Assert Assert.Equal(0, restaurantPagedList.TotalItemCount); } }
public async Task GetGuestFavouriteRestaurantList_ForNonExistingUser() { using (var dbContext = CreateDbContext()) { //Arrange string nonExistingUserId = "70ceb6e6-9a79-4fb8-b325-93453e2021b1"; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "", PageSize = TestSeedService.Restaurants.Count, PageNumber = 1, }; var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedList = await repository.GetGuestFavouriteRestaurantList(nonExistingUserId, search); //Assert Assert.Equal(0, restaurantPagedList.TotalItemCount); } }
public async Task GetGuestFavouriteRestaurantList_CarsonFavourites_OnlyThatContainsGrill_OnOnePage() { using (var dbContext = CreateDbContext()) { //Arrange string carsonUserId = TestSeedService.Users[0].Id; var search = new RestaurantSearchDto { NameOrShortDescriptionOrCity = "Grill", PageSize = TestSeedService.Restaurants.Count, PageNumber = 1, }; var repository = helper.CreateRestaurantRepository(dbContext); //Act var restaurantPagedList = await repository.GetGuestFavouriteRestaurantList(carsonUserId, search); //Assert Assert.Equal(1, restaurantPagedList.TotalItemCount); Assert.Equal(1, restaurantPagedList.PageCount); } }
public async Task <PagedListDto <RestaurantOverviewDto> > GetRestaurantOverviewList([FromQuery] RestaurantSearchDto search) { return(await restaurantManager.GetRestaurantOverviewList(search)); }
/// <summary> /// A megadott keresési feltételre illeszkedő éttermek áttekintő adatainak lekérése. /// </summary> /// <param name="search">Az étteremre vonatkozó keresési feltétel.</param> /// <returns>Az étteremek áttekintő adatait tartalamazó lista.</returns> public async Task <PagedListDto <RestaurantOverviewDto> > GetRestaurantOverviewList(RestaurantSearchDto search) { return(await restaurantRepository.GetRestaurantOverviewList(search)); }
/// <summary> /// Az aktuális vendég kedvenc éttermeinek lekérdezése, ami a megadott keresési feltételre illeszkedik. /// </summary> /// <param name="search">Az étteremre vonatkozó keresési feltétel.</param> /// <returns>Az étteremek áttekintő adatait tartalamazó lista.</returns> public async Task <PagedListDto <RestaurantOverviewDto> > GetGuestFavouriteRestaurantList(RestaurantSearchDto search) { string userId = httpContext.GetCurrentUserId(); return(await restaurantRepository.GetGuestFavouriteRestaurantList(userId, search)); }
/// <summary> /// A megadott keresési feltételre illeszkedő éttermek áttekintő adatainak lekérése. /// </summary> /// <param name="search">Az étteremre vonatkozó keresési feltétel.</param> /// <returns>Az étteremek áttekintő adatait tartalamazó lista.</returns> public async Task <PagedListDto <RestaurantOverviewDto> > GetRestaurantOverviewList(RestaurantSearchDto search) { return(await dbContext.Restaurants .Where(r => r.ShowForUsers && (r.Name.Contains(search.NameOrShortDescriptionOrCity) || r.ShortDescription.Contains(search.NameOrShortDescriptionOrCity) || r.Address.City.Contains(search.NameOrShortDescriptionOrCity))) .SortBy(search.SortBy) .ToRestaurantOverviewDtoPagedList(search)); }
/// <summary> /// A megadott azonosítójú vendég kedvenc éttermeinek lekérdezése, ami a megadott keresési feltételre illeszkedik. /// </summary> /// <param name="guestId">A vendég azonosítója.</param> /// <param name="search">Az étteremre vonatkozó keresési feltétel.</param> /// <returns>Az étteremek áttekintő adatait tartalamazó lista.</returns> public async Task <PagedListDto <RestaurantOverviewDto> > GetGuestFavouriteRestaurantList(string guestId, RestaurantSearchDto search) { return(await dbContext.Restaurants .Where(r => r.ShowForUsers && r.UsersFavourite.Any(uf => uf.UserId == guestId) && (r.Name.Contains(search.NameOrShortDescriptionOrCity) || r.ShortDescription.Contains(search.NameOrShortDescriptionOrCity) || r.Address.City.Contains(search.NameOrShortDescriptionOrCity))) .SortBy(search.SortBy) .ToRestaurantOverviewDtoPagedList(search)); }