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));
        }
示例#2
0
 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)));
        }
示例#5
0
        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));
        }