コード例 #1
0
ファイル: test_crud.py プロジェクト: iffy/crudset
    def test_page(self):
        """
        You can paginate a Crud
        """
        engine = yield self.engine()
        crud = Crud(engine, Policy(pets))
        pager = Paginator(crud, page_size=10, order=pets.c.id)

        monkeys = []
        for i in xrange(40):
            monkey = yield crud.create({'name': 'seamonkey %d' % (i,)})
            monkeys.append(monkey)

        page1 = yield pager.page(0)
        self.assertEqual(page1, monkeys[:10])
        page2 = yield pager.page(1)
        self.assertEqual(page2, monkeys[10:20])
コード例 #2
0
ファイル: test_crud.py プロジェクト: iffy/crudset
    def test_page_where(self):
        """
        You can paginate filtered results, too
        """
        engine = yield self.engine()
        crud = Crud(engine, Policy(pets))
        pager = Paginator(crud, page_size=3, order=pets.c.id)

        things = []
        _things = [
            {'name': 'thing 1'},
            {'name': 'thing 2'},
            {'name': 'dog'},
            {'name': 'cat'},
            {'name': 'dog'},
        ]
        for thing in _things:
            t = yield crud.create(thing)
            things.append(t)

        page1 = yield pager.page(0, pets.c.name.startswith('thing'))
        self.assertEqual(page1, [things[0], things[1]])
        count = yield pager.pageCount(pets.c.name.startswith('thing'))
        self.assertEqual(count, 1)