public void AddCommentToRespectiveImage_WhenParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var comment = new GalleryComment(); var image = new GalleryImage(); var user = new User(); contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns(user); commentFactoryMock.Setup(x => x.CreateGalleryComment(It.IsAny <Guid>(), It.IsAny <User>(), It.IsAny <string>(), It.IsAny <Guid>())) .Returns(comment); contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); var id = "some name"; var content = "some content"; var guid = Guid.NewGuid(); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.AddComment(id, content, guid); // Assert Assert.AreSame(comment, image.Comments.First()); }
public void CorrectlyAddLikeToImage_WhenPassedParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var image = new GalleryImage(); var like = new GalleryLike(); var user = new User(); like.UserId = Guid.NewGuid(); user.Id = Guid.NewGuid().ToString(); contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns(user); likeFactoryMock.Setup(x => x.CreateGalleryLike(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(like); contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); var id = "some id"; var imageId = Guid.NewGuid(); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.ToggleLike(id, imageId); // Assert Assert.AreSame(like, image.Likes.First()); }
public void MakeACallToSaveChanges_WhenParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var comment = new GalleryComment(); var image = new GalleryImage(); var user = new User(); contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns(user); commentFactoryMock.Setup(x => x.CreateGalleryComment(It.IsAny <Guid>(), It.IsAny <User>(), It.IsAny <string>(), It.IsAny <Guid>())) .Returns(comment); contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); var id = "some name"; var content = "some content"; var guid = Guid.NewGuid(); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.AddComment(id, content, guid); // Assert contextMock.Verify(x => x.SaveChanges(), Times.Once); }
public void CorrectlyRemoveLikeFromImage_WhenPassedParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var image = new GalleryImage(); var like = new GalleryLike(); var user = new User(); image.Likes.Add(like); var initialCount = image.Likes.Count(); var id = "id"; var imageId = Guid.NewGuid(); like.UserId = Guid.Parse(user.Id); contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns(user); likeFactoryMock.Setup(x => x.CreateGalleryLike(It.IsAny <Guid>(), It.IsAny <Guid>())).Returns(like); contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); contextMock.Setup(x => x.GalleryLikes.Remove(like)); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.ToggleLike(id, imageId); // Assert contextMock.Verify(x => x.GalleryLikes.Remove(like), Times.Once); }
public GalleryImageController(FileHelper fileHelper, IMapper mapper, GalleryImageService galleryImageService, GalleryImageRepository galleryImageRepo, PaginatedMetaService paginatedMetaService, GalleryRepository galleryRepository) { _galleryImageService = galleryImageService; _galleryImageRepo = galleryImageRepo; _paginatedMetaService = paginatedMetaService; _mapper = mapper; _fileHelper = fileHelper; _galleryRepository = galleryRepository; }
public void ThrowArgumentNullException_WhenPassedIdIsNull(string id) { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act & Assert Assert.Throws <ArgumentNullException>(() => service.DeleteComment(id)); }
public void ReturnImageServiceInstance_WhenPassedParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); // Act var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Assert Assert.IsInstanceOf <GalleryImageService>(service); }
public void ThrowInvalidOperationException_WhenPassedIdIsNull() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var id = Guid.NewGuid().ToString(); contextMock.Setup(x => x.GalleryComments.Find(It.IsAny <Guid>())).Returns((GalleryComment)null); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act & Assert Assert.Throws <InvalidOperationException>(() => service.DeleteComment(id)); }
public void ThrowArgumentNullException_WhenPassedContentIsNull(string content) { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var id = "some name"; var guid = Guid.NewGuid(); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act & Assert Assert.Throws <ArgumentNullException>(() => service.AddComment(id, content, guid)); }
public void ThrowArgumentNullException_WhenPassedUrlIsNull(string url) { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var title = "some title"; var id = "some url"; var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act & Assert Assert.Throws <ArgumentNullException>(() => service.AddNewImage(id, title, url)); }
public void ThrowInvalidArgumentException_WhenNoSuchUserIsFound() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var title = "some title"; var id = "some url"; var url = "url"; contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns((User)null); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act & Assert Assert.Throws <InvalidOperationException>(() => service.AddNewImage(id, title, url)); }
public void CorrectlyReturnTargetInstance_WhenParamsAreCorrect() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var image = new GalleryImage(); contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act var dbImage = service.GetGalleryImageById(Guid.NewGuid()); // Assert Assert.AreSame(image, dbImage); }
public void CallSaveChanges_WhenParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var image = new GalleryImage(); contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.DeleteImage(image); // Assert contextMock.Verify(x => x.SaveChanges(), Times.Once); }
public void ThrowInvalidOperationException_WhenNoSuchUser() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var id = "some name"; var content = "some content"; var guid = Guid.NewGuid(); contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns((User)null); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act & Assert Assert.Throws <InvalidOperationException>(() => service.AddComment(id, content, guid)); }
public void CallRemoveMethod_WhenInputParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var id = Guid.NewGuid().ToString(); var comment = new GalleryComment(); contextMock.Setup(x => x.GalleryComments.Find(It.IsAny <Guid>())).Returns(comment); contextMock.Setup(x => x.GalleryComments.Remove(comment)); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.DeleteComment(id); // Assert contextMock.Verify(x => x.GalleryComments.Remove(comment), Times.Once); }
public void CorrectlyChangeImageProperty_WhenParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var image = new GalleryImage(); image.IsDeleted = false; var initailValue = image.IsDeleted; contextMock.Setup(x => x.GalleryImages.Find(It.IsAny <Guid>())).Returns(image); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.DeleteImage(image); // Assert Assert.IsFalse(initailValue); Assert.IsTrue(image.IsDeleted); }
public void CallImageFactory_WhenParamsAreValid() { // Arrange var contextMock = new Mock <ITravelGuideContext>(); var imageFactoryMock = new Mock <IGalleryImageFactory>(); var commentFactoryMock = new Mock <IGalleryCommentFactory>(); var likeFactoryMock = new Mock <IGalleryLikeFactory>(); var user = new User(); var title = "some title"; var id = "some url"; var url = "url"; contextMock.Setup(x => x.Users.Find(It.IsAny <string>())).Returns(user); contextMock.Setup(x => x.GalleryImages.Add(It.IsAny <GalleryImage>())); imageFactoryMock.Setup(x => x.CreateGalleryImage(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <User>())); var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object); // Act service.AddNewImage(id, title, url); // Assert imageFactoryMock.Verify(x => x.CreateGalleryImage(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>(), It.IsAny <User>()), Times.Once); }