public void GetAllFundableIssues_returns_all_fundable_issues_from_db() { // Arrange Issue fundableIssue = Mock.Of <Issue>(i => i.IsFundable == true); Issue nonFundableIssue = Mock.Of <Issue>(i => i.IsFundable == false); var data = new List <Issue>() { fundableIssue, fundableIssue, fundableIssue, nonFundableIssue, nonFundableIssue }.AsQueryable(); var mockDbSet = new Mock <DbSet <Issue> >(); mockDbSet.As <IQueryable <Issue> >().Setup(m => m.Provider).Returns(data.Provider); mockDbSet.As <IQueryable <Issue> >().Setup(m => m.Expression).Returns(data.Expression); mockDbSet.As <IQueryable <Issue> >().Setup(m => m.ElementType).Returns(data.ElementType); mockDbSet.As <IQueryable <Issue> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock <ApplicationDbContext>(); mockContext.Setup(c => c.Issues).Returns(mockDbSet.Object); var repo = new IssueRepository(mockContext.Object); // Act List <Issue> results = repo.GetAllFundableIssues(); // Assert Assert.AreEqual(3, results.Count); }