コード例 #1
0
        public async Task CreateCommentAddsCorrectly()
        {
            // Arrange
            var commentsList     = this.GetComments();
            var expectedComments = commentsList.Count() + 1;

            var discussionList = this.GetDiscussions();
            var discussionId   = discussionList.FirstOrDefault().Id;

            var commentsRepoMock   = this.GetCommentMock(commentsList).Object;
            var discussionRepoMock = this.GetDiscussionMock(discussionList).Object;
            var commentService     = new DiscussionsService(discussionRepoMock, commentsRepoMock, this.commentVoteRepo, this.mediaRepo);

            var inputModel = new CommentInputModel()
            {
                Content      = "Hell yeah123",
                DiscussionId = discussionId,
            };

            // Act
            await commentService.CreateComment(inputModel.Content, "", inputModel.DiscussionId);

            // Assert
            Assert.Equal(expectedComments, commentsRepoMock.AllAsNoTracking().Count());
            Assert.Contains(commentsRepoMock.AllAsNoTracking().Where(x => x.DiscussionId == discussionId).ToList(), x => x.Content == inputModel.Content);
        }