예제 #1
0
        public void DeletePhoto_Should_ReturnOk()
        {
            var photoId = 1;

            mockService.Setup(s => s.RemovePhotoAsync(photoId, userId)).Verifiable();

            controller.DeletePhoto(photoId).Result.Should().BeOfType <OkResult>();
            mockService.Verify();
        }
예제 #2
0
        public void DeletePhoto_Returns404NotFound_WhenIDDoesNotExist()
        {
            mockRepo.Setup(repo => repo.GetPhotosByFamilyMember(0)).Returns(() => null);

            var controller = new PhotoController(mockRepo.Object, mapper);

            var result = controller.DeletePhoto(0);

            Assert.IsType <NotFoundResult>(result);
        }
        public async Task DeletePhotoExceptionCatch()
        {
            /// Arrange
            var id = 45;

            var photo = new Photo()
            {
                Id      = id,
                StateId = 69
            };

            mockRepo.Setup(x => x.Photo).Returns(_photoRepoMock.Object);
            _photoRepoMock.Setup(x => x.GetPhotoById(id)).Throws(new Exception());

            // Act
            var result = await _sut.DeletePhoto(id);

            // Assert
            mockLogger.Verify(x => x.LogError("Something went wrong inside DeletePhoto(id) action: Exception of type 'System.Exception' was thrown."), Times.Once);
            Assert.IsType <ObjectResult>(result);
        }
예제 #4
0
        public void DeletePhoto_Returns204NoContent_WhenIDExists()
        {
            mockRepo.Setup(repo =>
                           repo.GetPhotosByFamilyMember(1)).Returns(new Photo {
                Id       = 1,
                PhotoUrl = "www.superhero.com/terra-doesnt-remember.jpg"
            });

            var controller = new PhotoController(mockRepo.Object, mapper);

            var result = controller.DeletePhoto(1);

            Assert.IsType <NoContentResult>(result);
        }
예제 #5
0
        public void DeletePhoto_ShouldCallDeletePhoto()
        {
            var photoId = 1;

            foreach (var photo in Photos)
            {
                photo.Album = new Album();
            }
            Photos[photoId].Album.UserId = "1";
            var mockService = new Mock <IPhotoService>();

            mockService.Setup(service => service.GetPhotoById(photoId)).Returns(Photos[photoId]);
            mockService.Setup(service => service.Photos).Returns(Photos);
            var fakeUserManager = new FakeUserManagerBuilder()
                                  .Build();
            var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
            {
                new Claim(ClaimTypes.Name, "test1"),
                new Claim(ClaimTypes.NameIdentifier, "1"),
                new Claim("custom-claim", "example claim value"),
            }, "mock"));

            fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User  {
                Id = "1", UserName = "******", Photos = new List <Photo> {
                    Photos[photoId]
                }
            }));
            var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object);
            var context    = new ControllerContext
            {
                HttpContext = new DefaultHttpContext
                {
                    User = user
                }
            };

            controller.ControllerContext = context;

            controller.DeletePhoto(photoId);

            mockService.Verify(c => c.DeletePhoto(photoId), Times.Once());
        }