Пример #1
0
        public async Task Update_InvalidUserId_ThrowsImageAccessException()
        {
            //Arrange
            var updateRequest = new ImageUpdateRequest
            {
                Id               = "0",
                UserId           = "0",
                Description      = "newCaption",
                ShortDescription = "newName"
            };
            var image = new Image
            {
                Id               = "0",
                UserId           = "1",
                Description      = "",
                ShortDescription = ""
            };

            _uowMock.Setup(x => x.ImageRepository.Get(updateRequest.Id))
            .ReturnsAsync(image);
            //Act
            Task Actual() => _imagesService.Update(updateRequest);

            //Assert
            await Assert.ThrowsAsync <ImageAccessException>(Actual);
        }
Пример #2
0
        public async Task Update_ValidRequest_UpdatesSuccessfully()
        {
            //Arrange
            var updateRequest = new ImageUpdateRequest
            {
                Id               = "0",
                UserId           = "0",
                Description      = "newCaption",
                ShortDescription = "newName"
            };
            var image = new Image
            {
                Id               = "0",
                UserId           = "0",
                Description      = "",
                ShortDescription = ""
            };

            _uowMock.Setup(x => x.ImageRepository.Get(updateRequest.Id))
            .ReturnsAsync(image);
            //Act
            await _imagesService.Update(updateRequest);

            //Assert
            Assert.True(image.Description == updateRequest.Description &&
                        image.ShortDescription == updateRequest.ShortDescription);
        }
Пример #3
0
        public async Task <IActionResult> UpdateImage(ImageUpdateRequest request)
        {
            this.CheckUser(request.UserId);

            await _imageService.Update(request);

            return(NoContent());
        }
Пример #4
0
        public async Task Update(ImageUpdateRequest request)
        {
            var image = await _unitOfWork.ImageRepository.Get(request.Id);

            if (image == null)
            {
                throw new ObjectNotFoundException($"Image with id:{request.Id} not found.");
            }
            if (image.UserId != request.UserId)
            {
                throw new ImageAccessException("This image cannot be accessed by this user.");
            }

            _mapper.Map(request, image);
            await _unitOfWork.Commit();
        }
Пример #5
0
        public async Task Update_ImageNotExists_ThrowsObjectNotFoundException()
        {
            //Arrange
            var updateRequest = new ImageUpdateRequest
            {
                Id               = "0",
                UserId           = "0",
                Description      = "newCaption",
                ShortDescription = "newName"
            };

            _uowMock.Setup(x => x.ImageRepository.Get(updateRequest.Id))
            .ReturnsAsync(() => null);
            //Act
            Task Actual() => _imagesService.Update(updateRequest);

            //Assert
            await Assert.ThrowsAsync <ObjectNotFoundException>(Actual);
        }