Example #1
0
        public void IfItIsNotAlreadyLikedOrDislikedMovieExistsAndUsersExistsAndItIsDislikeCallDislikesRepoAdd()
        {
            //Arrange
            var             called   = 0;
            var             guid     = Guid.NewGuid();
            List <Dislikes> dislikes = new List <Dislikes>();

            dislikesRepo.Setup(x => x.All()).Returns(dislikes.AsQueryable());
            dislikesRepo.Setup(x => x.Add(It.IsAny <Dislikes>())).Callback(() => { called++; });
            var sut = new VoteServiceTest(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            sut.UserToReturn = new Users()
            {
                UserName = "******"
            };
            sut.MovieToReturn = new Movies()
            {
                Id = guid
            };
            //Act
            var result = sut.LikeOrDislikeAMovie("User1", guid, false);

            //Assert
            Assert.AreEqual(called, 1);
            Assert.AreEqual(sut.GetCurrentUserCalled, 1);
            Assert.AreEqual(sut.GetMovieCount, 1);
            Assert.AreEqual(sut.SaveChangesCalled, 1);
            Assert.AreEqual(result.ErrorMsg, "Changed");
            Assert.AreEqual(result.ResulType, ResultType.Success);
        }
Example #2
0
        public void IfItIsNotAlreadyLikedOrDislikedReturnResultChangedIfUserNotFound()
        {
            //Arrange
            List <Likes> likes = new List <Likes>();

            likesRepo.Setup(x => x.All()).Returns(likes.AsQueryable());
            var sut = new VoteServiceTest(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            sut.UserToReturn = (Users)null;
            //Act
            var result = sut.LikeOrDislikeAMovie("User1", Guid.NewGuid(), true);

            //Assert
            Assert.AreEqual(sut.GetCurrentUserCalled, 1);
            Assert.AreEqual(result.ErrorMsg, "Changed");
        }
Example #3
0
        public void IfIsAlreadyDislikedReturnErrorResult()
        {
            //Arrange
            List <Dislikes> dislikes = new List <Dislikes>();
            var             dislike1 = new Dislikes
            {
                User = new Users()
                {
                    UserName = "******"
                },
                Movie = new Movies()
                {
                    Id = Guid.NewGuid()
                }
            };
            var dislike2 = new Dislikes
            {
                User = new Users()
                {
                    UserName = "******"
                },
                Movie = new Movies()
                {
                    Id = Guid.NewGuid()
                }
            };

            dislikes.Add(dislike1);
            dislikes.Add(dislike2);
            dislikesRepo.Setup(x => x.All()).Returns(dislikes.AsQueryable());
            var sut = new VoteServiceTest(movies.Object, genresRepo.Object, commentsRepo.Object, userRepo.Object, likesRepo.Object, dislikesRepo.Object, saver.Object);

            //Act
            var result = sut.LikeOrDislikeAMovie(dislike1.User.UserName, dislike1.Movie.Id, false);

            //Assert
            likesRepo.Verify(x => x.All(), Times.Exactly(1));
            Assert.AreEqual(result.ResulType, ResultType.AlreadyExists);
            Assert.AreEqual(result.ErrorMsg, Constants.ThisUserAlreadyLikedOrDisliked);
        }