public async Task DeleteDiscussionRemoveCorrectly() { // Arrange var commentsList = this.GetComments(); var discussionList = this.GetDiscussions(); var expectedDiscussion = commentsList.Count() - 1; var discussion = discussionList[0]; var expectedId = discussion.Id; var commentsRepoMock = this.GetCommentMock(commentsList).Object; var discussionRepoMock = this.GetDiscussionMock(discussionList).Object; var commentService = new DiscussionsService(discussionRepoMock, commentsRepoMock, this.commentVoteRepo, this.mediaRepo); // Act await commentService.DeleteDiscussion(expectedId); // Assert Assert.Equal(expectedDiscussion, discussionRepoMock.AllAsNoTracking().Count()); Assert.DoesNotContain(discussionRepoMock.AllAsNoTracking(), x => x.Id == expectedId); }