示例#1
0
        public void ReturnsResultsOrderDescendingByIndex()
        {
            IOrdering <FooEntity>      orderingById   = new FooOrderByDescendingId();
            IEnumerable <FooEntity>    tenFooEntities = this.GivenAFooEntitiesWithRandomId(10);
            FakeDbSet <FooEntity>      fooDbSet       = new FakeDbSet <FooEntity>(tenFooEntities);
            Mock <FakeDatabase>        database       = FakeDatabase.CreateMockOfFakeDatabase(fooDbSet);
            BaseRepository <FooEntity> baseRepository = this.GivenABaseRepositoryWithDatabase(database.Object);

            IEnumerable <FooEntity> results = baseRepository.GetAll(new Query <FooEntity>(null, null, orderingById));

            CollectionAssert.AreEqual(tenFooEntities.OrderByDescending(i => i.Id).ToList(), results.ToList());
        }
示例#2
0
        public void ReturnsAllResultsOfLastPage()
        {
            Pagination lastPageThreeResults           = new Pagination(4, 3);
            IEnumerable <FooEntity>    tenFooEntities = this.GivenAFooEntities(10);
            FakeDbSet <FooEntity>      fooDbSet       = new FakeDbSet <FooEntity>(tenFooEntities);
            Mock <FakeDatabase>        database       = FakeDatabase.CreateMockOfFakeDatabase(fooDbSet);
            BaseRepository <FooEntity> baseRepository = this.GivenABaseRepositoryWithDatabase(database.Object);

            IEnumerable <FooEntity> results = baseRepository.GetAll(new Query <FooEntity>(null, lastPageThreeResults, null));

            CollectionAssert.AreEqual(tenFooEntities.Skip(9).Take(1).ToList(), results.ToList());
        }
示例#3
0
        public void ReturnsPaginatedList()
        {
            Pagination firstPageThreeResults          = new Pagination(1, 3);
            IEnumerable <FooEntity>    tenFooEntities = this.GivenAFooEntities(10);
            FakeDbSet <FooEntity>      fooDbSet       = new FakeDbSet <FooEntity>(tenFooEntities);
            Mock <FakeDatabase>        database       = FakeDatabase.CreateMockOfFakeDatabase(fooDbSet);
            BaseRepository <FooEntity> baseRepository = this.GivenABaseRepositoryWithDatabase(database.Object);

            IPagedList <FooEntity> pageResults = baseRepository.GetPage(new Query <FooEntity>(null, firstPageThreeResults, null));

            CollectionAssert.AreEqual(tenFooEntities.Take(3).ToList(), pageResults.ToList());
        }
        public void ReturnStoriesWithLanguage()
        {
            Story             storyEs    = new StoryBuilder().WithLanguage(Languages.es).WithContent("dummy");
            Story             storyEn    = new StoryBuilder().WithLanguage(Languages.en).WithContent("dummy");
            FakeDbSet <Story> storyDbSet = new FakeDbSet <Story>()
            {
                storyEs, storyEn
            };
            Mock <FakeDatabase> database = FakeDatabase.CreateMockOfFakeDatabase(storyDbSet);

            StoryRepository.StoryRepository storyRepository = this.GivenAStoryRepositoryWithDatabase(database.Object);

            IEnumerable <Story> stories = storyRepository.GetWithText("dummy", "en", new Pagination(1, 10), new StoryOrderByDate()).ToList();

            Assert.AreEqual(1, stories.Count());
            Assert.AreEqual(storyEn, stories.FirstOrDefault());
        }
        public void ReturnStoriesWithTextInTitle()
        {
            Story             storyTitle1 = new StoryBuilder().WithTitle("Title 1");
            Story             storyTitle2 = new StoryBuilder().WithTitle("Title 2");
            FakeDbSet <Story> storyDbSet  = new FakeDbSet <Story>()
            {
                storyTitle1, storyTitle2
            };
            Mock <FakeDatabase> database = FakeDatabase.CreateMockOfFakeDatabase(storyDbSet);

            StoryRepository.StoryRepository storyRepository = this.GivenAStoryRepositoryWithDatabase(database.Object);

            IEnumerable <Story> stories = storyRepository.GetWithText("Title 1", null, new Pagination(1, 10), new StoryOrderByDate()).ToList();

            Assert.AreEqual(1, stories.Count());
            Assert.AreEqual(storyTitle1, stories.FirstOrDefault());
        }
示例#6
0
        public void ReturnsResultsWithSpecText()
        {
            ISpecification <FooEntity> barTextSpecification = new FooWithBarSpec("bar text dummy");
            FooEntity fooCorrectText    = this.GivenAFooEntityWithBarText("bar text dummy");
            FooEntity fooNoCorrectText  = this.GivenAFooEntityWithBarText("other dummy");
            FooEntity fooNoCorrectText2 = this.GivenAFooEntityWithBarText("other dummy 2");

            FakeDbSet <FooEntity> fooDbSet = new FakeDbSet <FooEntity>()
            {
                fooCorrectText, fooNoCorrectText, fooNoCorrectText2
            };
            Mock <FakeDatabase>        database       = FakeDatabase.CreateMockOfFakeDatabase(fooDbSet);
            BaseRepository <FooEntity> baseRepository = this.GivenABaseRepositoryWithDatabase(database.Object);

            IEnumerable <FooEntity> results = baseRepository.GetAll(new Query <FooEntity>(barTextSpecification, null, null));

            Assert.AreEqual(1, results.Count());
            Assert.AreEqual(fooCorrectText, results.FirstOrDefault());
        }
        public void ReturnLastestStoriesWithLanguage()
        {
            Story yesterdayStory             = new StoryBuilder().WithPublishDate(DateTime.Now.AddDays(-1));
            Story todayStory                 = new StoryBuilder().WithPublishDate(DateTime.Now);
            Story dayBeforeYesterdayStory    = new StoryBuilder().WithPublishDate(DateTime.Now.AddDays(-2));
            Story storyWithDifferentLanguage = new StoryBuilder().WithLanguage(Languages.en).WithPublishDate(DateTime.Now);

            FakeDbSet <Story> storyDbSet = new FakeDbSet <Story>()
            {
                dayBeforeYesterdayStory, todayStory, yesterdayStory
            };
            Mock <FakeDatabase> database = FakeDatabase.CreateMockOfFakeDatabase(storyDbSet);

            StoryRepository.StoryRepository storyRepository = this.GivenAStoryRepositoryWithDatabase(database.Object);

            IList <Story> stories = storyRepository.GetLastestStories(null, new Pagination(1, 10)).ToList();

            Assert.AreEqual(3, stories.Count());
            Assert.AreEqual(todayStory, stories[0]);
            Assert.AreEqual(yesterdayStory, stories[1]);
            Assert.AreEqual(dayBeforeYesterdayStory, stories[2]);
        }