Exemplo n.º 1
0
        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);
        }