public void FindFromToTagFilter_ReturnsSuccessAndMapsImagesAndMapsTags_WhenPassedAllParameters() { Mock <ImageRepository> mockImageRepository = new Mock <ImageRepository>(); FindFromToTagFilterQuery query = new FindFromToTagFilterQuery(); List <Image> imageList = new List <Image>(); for (int i = 0; i < 5; i++) { imageList.Add(createMockImage(i)); } query.BeginIndex = 0; query.EndIndex = 4; query.Search = "test"; query.TagFilters = new List <Guid>(); Guid tagGuid = Guid.NewGuid(); query.TagFilters.Add(tagGuid); mockImageRepository.Setup(x => x.GetFromTo(query.BeginIndex, query.EndIndex, query.TagFilters, query.Search)).Returns(imageList); ImageService imageService = new ImageService(mockImageRepository.Object); imageService.FindFromToTagFilter(query); Assert.That(query.Response, Is.EqualTo(EventMessage.SUCCESS)); Assert.That(query.AlbumImages.Count, Is.EqualTo(5)); Assert.That(query.AlbumImages[0].ImageTags.Count, Is.EqualTo(1)); }
public virtual void FindFromToTagFilter(FindFromToTagFilterQuery query) { query.AlbumImages = new List <AlbumImage>(); try { foreach (Image img in repository.GetFromTo(query.BeginIndex, query.EndIndex, query.TagFilters, query.Search)) { query.AlbumImages.Add(Convert(img)); } } catch (Exception ex) { query.Response = String.Format(EventMessage.ERROR, ex.Message); return; } query.Response = EventMessage.SUCCESS; }
public void FindFromToTagFilter_ReturnsSuccess_WhenPassedEmptyOptionalInputs() { Mock <ImageRepository> mockImageRepository = new Mock <ImageRepository>(); FindFromToTagFilterQuery query = new FindFromToTagFilterQuery(); List <Image> imageList = new List <Image>(); for (int i = 0; i < 5; i++) { imageList.Add(createMockImage(i)); } query.BeginIndex = 0; query.EndIndex = 4; query.Search = null; query.TagFilters = null; mockImageRepository.Setup(x => x.GetFromTo(query.BeginIndex, query.EndIndex, query.TagFilters, query.Search)).Returns(imageList); ImageService imageService = new ImageService(mockImageRepository.Object); imageService.FindFromToTagFilter(query); Assert.That(query.Response, Is.EqualTo(EventMessage.SUCCESS)); }
//[EnableCors("CorsPolicy")] public IActionResult ImageLoad([FromForm] ImageLoad model) { FindFromToTagFilterQuery query = new FindFromToTagFilterQuery(); List <ImageJson> imageList = new List <ImageJson>(); try { query.BeginIndex = model.BeginIndex; query.EndIndex = model.EndIndex; query.TagFilters = new List <Guid>(); if (!string.IsNullOrWhiteSpace(model.Search)) { query.Search = model.Search.ToLower(); } if (model.TagFilters != null) { foreach (string str in model.TagFilters) { query.TagFilters.Add(Guid.Parse(str)); } } this.service.FindFromToTagFilter(query); foreach (AlbumImage image in query.AlbumImages) { imageList.Add(new ImageJson { ImageAlt = image.ImageAlt.Trim(), ImageName = image.ImageName, ImageUrl = image.ImageUrl, ImageId = image.ImageId }); } } catch (Exception ex) { throw ex; } return(Json(JsonConvert.SerializeObject(imageList))); }
public void ImageLoad_ReturnsCorrectJSONdata_WhenPassedAllParameters() { //Mock<ImageRepository> mockImageRepository = new Mock<ImageRepository>(); Mock <IImageService> mockService = new Mock <IImageService>(); Guid imageGuid = Guid.NewGuid(); Guid tagGuid = Guid.NewGuid(); //setup model for passing into the controller ImageLoad model = new ImageLoad(); model.BeginIndex = 0; model.EndIndex = 4; model.Search = "test"; model.TagFilters = new string[] { imageGuid.ToString(), tagGuid.ToString() }; //setup reference object to be returned when calling the image service List <AlbumImage> images = new List <AlbumImage>(); List <AlbumImageTag> tags = new List <AlbumImageTag>(); tags.Add(new AlbumImageTag { ImageId = imageGuid, ImageTagId = tagGuid, Name = "tag", TagId = tagGuid }); images.Add(new AlbumImage { Image = new byte[0], ImageId = imageGuid, ImageAlt = "testalt", ImageName = "testname", ImageUrl = "testurl", ImageTags = tags }); FindFromToTagFilterQuery query = new FindFromToTagFilterQuery(); query.BeginIndex = model.BeginIndex; query.EndIndex = model.EndIndex; query.AlbumImages = images; query.Response = EventMessage.SUCCESS; query.Search = model.Search; query.TagFilters = new List <Guid>(); query.TagFilters.Add(imageGuid); query.TagFilters.Add(tagGuid); //because the method FindFromToTagFirlter returns void and insteads gets data by passing //FindFromToTagFilterQuery object by reference... //set up the MOQ to return the reference object inside the controller mockService.Setup(x => x.FindFromToTagFilter(It.IsAny <FindFromToTagFilterQuery>())) .Callback((FindFromToTagFilterQuery c) => { c.AlbumImages = query.AlbumImages; c.BeginIndex = query.BeginIndex; c.EndIndex = query.EndIndex; c.Response = query.Response; c.Search = query.Search; c.TagFilters = query.TagFilters; }); ImageController controller = new ImageController(mockService.Object); JsonResult result = controller.ImageLoad(model) as JsonResult; Assert.That(result.Value, Is.Not.Null); List <ImageJson> imageList = JsonConvert.DeserializeObject <List <ImageJson> >(result.Value.ToString()); Assert.That(imageList.Count, Is.EqualTo(1)); Assert.That(imageList[0].ImageAlt, Is.EqualTo(query.AlbumImages[0].ImageAlt)); Assert.That(imageList[0].ImageId, Is.EqualTo(query.AlbumImages[0].ImageId)); Assert.That(imageList[0].ImageName, Is.EqualTo(query.AlbumImages[0].ImageName)); Assert.That(imageList[0].ImageUrl, Is.EqualTo(query.AlbumImages[0].ImageUrl)); }