Beispiel #1
0
        public async Task <IEnumerable <PhotoResource> > GetPhotos([FromQuery] PhotoQueryResource filterResource)
        {
            var filter = mapper.Map <PhotoQueryResource, PhotoQuery>(filterResource);
            var photos = await this.photoRepository.GetPhotos(filter);

            var photoResources = mapper.Map <IEnumerable <Photo>, IEnumerable <PhotoResource> >(photos);

            photoResources = photoResources.Select(res =>
            {
                string orgFilePath      = res.FilePath;
                res.FilePath            = string.Format("{0}/{1}", this.uploadsFolderUrl, orgFilePath);
                res.BoundingBoxFilePath = string.Format("{0}/{1}", this.outputFolderUrl, orgFilePath);
                res.TotalComments       = res.Comments.Count();
                ((List <CommentResource>)res.Comments).Clear();
                return(res);
            });

            return(photoResources);
        }
Beispiel #2
0
        public async Task GetPhotos()
        {
            // Arrange
            var seedPhotos            = SeedPhotos();
            var seedPhotoResources    = this._mapper.Map <IEnumerable <Photo>, IEnumerable <PhotoResource> >(seedPhotos);
            var filterResource        = new PhotoQueryResource();
            var mockPhotoRepository   = new Mock <IPhotoRepository>();
            var mockCommentRepository = new Mock <ICommentRepository>();

            mockPhotoRepository.Setup(m => m.GetPhotos(It.IsAny <PhotoQuery>())).ReturnsAsync(seedPhotos);
            var mockCategoryRepository = new Mock <ICategoryRepository>();
            var mockUserRepository     = new Mock <IUserRepository>();
            var mockAlbumRepository    = new Mock <IAlbumRepository>();
            var mockUnitOfWork         = new Mock <IUnitOfWork>();
            var mockPhotoUploadService = new Mock <IPhotoUploadService>();
            var mockHost = new Mock <IWebHostEnvironment>();

            mockHost.SetupGet(m => m.WebRootPath).Returns(string.Empty);
            var mockObjectDetectionService = new Mock <IObjectDetectionService>();

            PhotosController controller = new PhotosController(this._mapper, mockPhotoRepository.Object,
                                                               mockCategoryRepository.Object, mockUserRepository.Object, mockCommentRepository.Object,
                                                               mockAlbumRepository.Object, mockUnitOfWork.Object, mockPhotoUploadService.Object,
                                                               mockHost.Object, mockObjectDetectionService.Object);

            seedPhotoResources = seedPhotoResources.Select(p => {
                p.BoundingBoxFilePath = string.Format("{0}/{1}", controller.OutputFolderUrl, p.FilePath);
                p.FilePath            = string.Format("{0}/{1}", controller.UploadFolderUrl, p.FilePath);
                return(p);
            });
            // Act
            var photos = await controller.GetPhotos(filterResource);

            // Assert
            Assert.True(seedPhotoResources.SequenceEqual(photos));
        }