public async void GetSearchingData() { int pageIndex = 1; int pageSize = 6; string searchText = null; string selectCategory = null; SearchImageData localSearchData = new SearchImageData { FilterByTag = searchText, LikeForUserId = FirstTestUserId, }; var mockImagesService = new Mock <IImagesService>(); mockImagesService.Setup(x => x.GetByFilter <ListImageViewModel>( It.Is <SearchImageData>(x => x.LikeForUserId == FirstTestUserId && x.FilterByTag == searchText), pageSize, pageIndex)) .Returns(new List <ListImageViewModel>() { new ListImageViewModel() { Id = "1", Title = "ImageTitle", }, new ListImageViewModel() { Id = "2", Title = "ImageTitle", }, }); var mockCategoryService = new Mock <ICategoriesService>(); UserManager <ApplicationUser> userManager = MockUserManager(); var logger = new Mock <ILogger <ImagesController> >(); ImagesController controller = new ImagesController( mockImagesService.Object, mockCategoryService.Object, userManager, logger.Object).WithIdentity(FirstTestUserId, "TestIdentity"); ActionResult result = await controller.GetSearchingData(pageIndex, pageSize, searchText, selectCategory); Assert.IsType <PartialViewResult>(result); PartialViewResult viewResult = (PartialViewResult)result; Assert.IsType <List <ListImageViewModel> >(viewResult.Model); List <ListImageViewModel> model = (List <ListImageViewModel>)viewResult.Model; Assert.Equal(2, model.Count); for (int index = 0; index < model.Count; index++) { Assert.Equal(model[index].ImageIndex, index + 1); } }
public void GetImageTestPaging() { SearchImageData searchData = new SearchImageData(); var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 1, 1); Assert.Single(selectImages); }
/// <summary> /// Return image which related by user(upload/vote). /// </summary> public async Task <IActionResult> PreviewUserImage(int id) { if (!this.Request.Cookies.TryGetValue("imageRelateByUserData", out string readPagingDataCookie)) { return(this.BadRequest()); } var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true, }; ImagePagingCookieData cookieSearchData = JsonSerializer.Deserialize <ImagePagingCookieData>(readPagingDataCookie, options); ApplicationUser userPreviewProfil = await this.userManager.FindByIdAsync(cookieSearchData.UserId); if (userPreviewProfil == null) { return(this.BadRequest()); } SearchImageData localSearchData = null; if (cookieSearchData.Type == "uploads") { localSearchData = new SearchImageData { AuthorId = userPreviewProfil.Id, }; } else if (cookieSearchData.Type == "likes") { localSearchData = new SearchImageData { LikeByUser = userPreviewProfil.Id, }; } if (this.User.Identity.IsAuthenticated) { ApplicationUser loginUser = await this.userManager.GetUserAsync(this.User); localSearchData.LikeForUserId = loginUser.Id; } var data = this.imagesService.GetByFilter <ImagePreviewViewModel>( localSearchData, 1, id); if (!data.Any()) { return(this.Json(string.Empty)); } else { ImagePreviewViewModel previewImage = data.First(); previewImage.ImageIndex = id; return(this.PartialView("_PreviewImagePartial", previewImage)); } }
public void GetImageByAuthor() { SearchImageData searchData = new SearchImageData { AuthorId = TestUserId1, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.Equal(2, selectImages.Count()); }
public void GetImageByTagShoulReturnTwoImage() { SearchImageData searchData = new SearchImageData { FilterByTag = TestTag1, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.Equal(2, selectImages.Count()); }
public void GetImageByTagShouldReturnOneImage() { SearchImageData searchData = new SearchImageData { FilterByTag = TestTag2, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.Single(selectImages); }
public void GetImageCheckIsLikeFlag() { SearchImageData searchData = new SearchImageData() { LikeByUser = TestUserId2, LikeForUserId = TestUserId1, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.True(selectImages.ToList()[0].IsLike); }
public void GetImageBySearchData() { SearchImageData searchData = new SearchImageData() { LikeByUser = TestUserId2, LikeForUserId = TestUserId1, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.Single(selectImages); }
public async Task <ActionResult> GetSearchingData( int pageIndex, int pageSize, string searchText, string selectCategory) { SearchImageData localSearchData = new SearchImageData { FilterByTag = searchText, }; if (!string.IsNullOrEmpty(selectCategory)) { localSearchData.FilterCategory = JsonSerializer.Deserialize <List <string> >(selectCategory); } if (pageSize == 0) { return(this.BadRequest()); } if (pageIndex == 0) { return(this.BadRequest()); } if (this.User.Identity.IsAuthenticated) { ApplicationUser user = await this.userManager.GetUserAsync(this.User); localSearchData.LikeForUserId = user.Id; } var data = this.imagesService.GetByFilter <ListImageViewModel>( localSearchData, pageSize, pageIndex); int indexOfPage = 1; foreach (ListImageViewModel model in data) { model.ImageIndex = ((pageIndex - 1) * pageSize) + indexOfPage; indexOfPage++; } if (!data.Any()) { return(this.Json(string.Empty)); } else { return(this.PartialView("_ImageListPartial", data)); } }
public void GetImageByTags() { SearchImageData searchData = new SearchImageData { FilterTags = new List <string>() { this.testTagId2 }, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.Single(selectImages); }
public void GetImageByCategory() { SearchImageData searchData = new SearchImageData { FilterCategory = new List <string>() { this.testCategoryId1 }, }; var selectImages = this.imagesService.GetByFilter <ResponseSearchImageModelData>(searchData, 10, 1); Assert.Equal(2, selectImages.Count()); }
public async Task <IActionResult> PreviewImage(int id) { if (!this.Request.Cookies.TryGetValue("searchData", out string readSearchDataCookie)) { return(this.BadRequest()); } var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true, }; SeachCookieData cookieSearchData = JsonSerializer.Deserialize <SeachCookieData>(readSearchDataCookie, options); SearchImageData localSearchData = new SearchImageData { FilterByTag = cookieSearchData.SearchText, FilterCategory = cookieSearchData.SelectCategory, }; if (this.User.Identity.IsAuthenticated) { ApplicationUser user = await this.userManager.GetUserAsync(this.User); localSearchData.LikeForUserId = user.Id; } var data = this.imagesService.GetByFilter <ImagePreviewViewModel>( localSearchData, 1, id); if (!data.Any()) { return(this.Json(string.Empty)); } else { ImagePreviewViewModel previewImage = data.First(); previewImage.ImageIndex = id; return(this.PartialView("_PreviewImagePartial", previewImage)); } }
public async Task <IActionResult> GetUserImagesData( int pageIndex, int pageSize, string userId, string type) { if (pageSize == 0 || pageIndex == 0 || string.IsNullOrEmpty(userId)) { return(this.BadRequest()); } ApplicationUser user = await this.userManager.FindByIdAsync(userId); if (user == null) { return(this.BadRequest()); } SearchImageData localSearchData; switch (type) { case "uploads": { localSearchData = new SearchImageData { AuthorId = user.Id, }; break; } case "likes": { localSearchData = new SearchImageData { LikeByUser = user.Id, }; break; } default: { return(this.BadRequest()); } } if (this.User.Identity.IsAuthenticated) { ApplicationUser loginUser = await this.userManager.GetUserAsync(this.User); localSearchData.LikeForUserId = loginUser.Id; } var data = this.imagesService.GetByFilter <ListImageViewModel>( localSearchData, pageSize, pageIndex); int indexOfPage = 1; foreach (ListImageViewModel model in data) { model.ImageIndex = ((pageIndex - 1) * pageSize) + indexOfPage; indexOfPage++; } if (!data.Any()) { return(this.Json(string.Empty)); } else { return(this.PartialView("_ImageListPartial", data)); } }