public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects()
        {
            // Arrange
            Mock <IDbSet <EpisodeStoryArc> > mockSetEpisodeStoryArcs;
            var mockContext = EpisodeStoryArcsMockingSetup.DoMockingSetupForContext(true, out mockSetEpisodeStoryArcs, true);
            var repository  = new EpisodeStoryArcsRepository(mockContext.Object);
            var searchModel = new Mock <IEpisodeStoryArcSearchModel>();
            // Act
            var episodeStoryArcs = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray();

            // Assert
            Assert.Equal(1, episodeStoryArcs.Length);
            Assert.Equal(2, episodeStoryArcs[0].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", episodeStoryArcs[0].MyApiDetailUrl);
            // Stephen King was filtered out because he was Inactive
        }
        public void Verify_Search_WithPaging_Should_ReturnAListOfEpisodeStoryArcsWithDataMatchingSearchParameters()
        {
            // Arrange
            Mock <IDbSet <EpisodeStoryArc> > mockSetEpisodeStoryArcs;
            var mockContext = EpisodeStoryArcsMockingSetup.DoMockingSetupForContext(true, out mockSetEpisodeStoryArcs);
            var repository  = new EpisodeStoryArcsRepository(mockContext.Object);
            var searchModel = new EpisodeStoryArcSearchModel {
                Paging = new Paging {
                    Skip = 1, Take = 1
                }
            };
            // Act
            var episodeStoryArcs = repository.Search(searchModel /*.Object*/).ToArray();

            // Assert
            Assert.Equal(1, episodeStoryArcs.Length);
            Assert.Equal(2, episodeStoryArcs[0].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", episodeStoryArcs[0].ApiDetailUrl);
            // Stephen King was filtered out because he was Skipped
        }
        public void Verify_Search_WithModifiedSince_Should_ReturnAListOfEpisodeStoryArcsWithDataMatchingSearchParameters()
        {
            // Arrange
            Mock <IDbSet <EpisodeStoryArc> > mockSetEpisodeStoryArcs;
            var mockContext = EpisodeStoryArcsMockingSetup.DoMockingSetupForContext(true, out mockSetEpisodeStoryArcs, true);
            var repository  = new EpisodeStoryArcsRepository(mockContext.Object);
            var createDate  = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1);
            //var searchModel = new Mock<IEpisodeStoryArcSearchModel>();
            //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate);
            var searchModel = new EpisodeStoryArcSearchModel {
                ModifiedSince = createDate
            };
            // Act
            var episodeStoryArcs = repository.Search(searchModel /*.Object*/).ToArray();

            // Assert
            Assert.Equal(1, episodeStoryArcs.Length);
            Assert.Equal(2, episodeStoryArcs[0].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", episodeStoryArcs[0].ApiDetailUrl);
            // Stephen King was filtered out because he was created before the modified since date
        }
 public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects()
 {
     // Arrange
     Mock<IDbSet<EpisodeStoryArc>> mockSetEpisodeStoryArcs;
     var mockContext = EpisodeStoryArcsMockingSetup.DoMockingSetupForContext(true, out mockSetEpisodeStoryArcs, true);
     var repository = new EpisodeStoryArcsRepository(mockContext.Object);
     var searchModel = new Mock<IEpisodeStoryArcSearchModel>();
     // Act
     var episodeStoryArcs = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray();
     // Assert
     Assert.Equal(1, episodeStoryArcs.Length);
     Assert.Equal(2, episodeStoryArcs[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", episodeStoryArcs[0].MyApiDetailUrl);
     // Stephen King was filtered out because he was Inactive
 }
 public void Verify_Search_WithPaging_Should_ReturnAListOfEpisodeStoryArcsWithDataMatchingSearchParameters()
 {
     // Arrange
     Mock<IDbSet<EpisodeStoryArc>> mockSetEpisodeStoryArcs;
     var mockContext = EpisodeStoryArcsMockingSetup.DoMockingSetupForContext(true, out mockSetEpisodeStoryArcs);
     var repository = new EpisodeStoryArcsRepository(mockContext.Object);
     var searchModel = new EpisodeStoryArcSearchModel { Paging = new Paging { Skip = 1, Take = 1 } };
     // Act
     var episodeStoryArcs = repository.Search(searchModel/*.Object*/).ToArray();
     // Assert
     Assert.Equal(1, episodeStoryArcs.Length);
     Assert.Equal(2, episodeStoryArcs[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", episodeStoryArcs[0].ApiDetailUrl);
     // Stephen King was filtered out because he was Skipped
 }
 public void Verify_Search_WithModifiedSince_Should_ReturnAListOfEpisodeStoryArcsWithDataMatchingSearchParameters()
 {
     // Arrange
     Mock<IDbSet<EpisodeStoryArc>> mockSetEpisodeStoryArcs;
     var mockContext = EpisodeStoryArcsMockingSetup.DoMockingSetupForContext(true, out mockSetEpisodeStoryArcs, true);
     var repository = new EpisodeStoryArcsRepository(mockContext.Object);
     var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1);
     //var searchModel = new Mock<IEpisodeStoryArcSearchModel>();
     //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate);
     var searchModel = new EpisodeStoryArcSearchModel { ModifiedSince = createDate };
     // Act
     var episodeStoryArcs = repository.Search(searchModel/*.Object*/).ToArray();
     // Assert
     Assert.Equal(1, episodeStoryArcs.Length);
     Assert.Equal(2, episodeStoryArcs[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", episodeStoryArcs[0].ApiDetailUrl);
     // Stephen King was filtered out because he was created before the modified since date
 }