Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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 imageId = Guid.NewGuid();

            var service = new GalleryImageService(contextMock.Object, imageFactoryMock.Object, likeFactoryMock.Object, commentFactoryMock.Object);

            // Act & Assert
            Assert.Throws <ArgumentNullException>(() => service.ToggleLike(id, imageId));
        }