Esempio n. 1
0
        public async Task GetAllCommentsForUser_ShouldBeDoneSuccessfully()
        {
            // Arrange
            var dateCommented = DateTime.Now;
            var comments      = new List <Comment>()
            {
                new Comment()
                {
                    Id          = 1,
                    Commented   = new PowerUser(),
                    CommentedId = 1,
                    Commenter   = new CommonUser(),
                    CommenterId = 2,
                    Content     = "Test",
                    Created     = dateCommented,
                }
            };

            var commentsToReturn = new List <CommentToReturn>()
            {
                new CommentToReturn()
                {
                    Content       = "Test",
                    CommenterId   = 2,
                    Commented     = new UserToReturnDto(),
                    CommentedId   = 1,
                    Commenter     = new UserToReturnDto(),
                    DateCommented = dateCommented
                }
            };

            _unitOfWorkMock.Setup(x => x.Comments.GetAllCommentsForUser(It.IsAny <int>()))
            .ReturnsAsync(comments);

            _mapperMock.Setup(x => x.Map <ICollection <CommentToReturn> >(It.IsAny <ICollection <Comment> >()))
            .Returns(commentsToReturn);

            // Act
            var result = await _sut.GetAllCommentsForUser(It.IsAny <int>());

            // Assert
            var comment = result.FirstOrDefault();

            Assert.Equal(comments.FirstOrDefault().Created, comment.DateCommented);
            Assert.Equal(comments.FirstOrDefault().Content, comment.Content);
            Assert.Equal(comments.FirstOrDefault().CommenterId, comment.CommenterId);
            Assert.Equal(comments.FirstOrDefault().CommentedId, comment.CommentedId);
        }