Skip to content

Commit e5e8872

Browse files
authored
Implement page function (#339)
* implement page function Signed-off-by: wiseaidev <[email protected]> * add unit tests Signed-off-by: wiseaidev <[email protected]> * fix linter issues Signed-off-by: wiseaidev <[email protected]>
1 parent ac6a75b commit e5e8872

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

aredis_om/model/model.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,9 @@ async def all(self, batch_size=DEFAULT_PAGE_SIZE):
760760
return await query.execute()
761761
return await self.execute()
762762

763+
async def page(self, offset=0, limit=10):
764+
return await self.copy(offset=offset, limit=limit).execute()
765+
763766
def sort_by(self, *fields: str):
764767
if not fields:
765768
return self

tests/test_hash_model.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,23 @@ async def test_full_text_search_queries(members, m):
150150
assert actual == [member1, member3]
151151

152152

153+
@py_test_mark_asyncio
154+
async def test_pagination_queries(members, m):
155+
member1, member2, member3 = members
156+
157+
actual = await m.Member.find(m.Member.last_name == "Brookins").page()
158+
159+
assert actual == [member1, member2]
160+
161+
actual = await m.Member.find().page(1, 1)
162+
163+
assert actual == [member2]
164+
165+
actual = await m.Member.find().page(0, 1)
166+
167+
assert actual == [member1]
168+
169+
153170
@py_test_mark_asyncio
154171
async def test_recursive_query_resolution(members, m):
155172
member1, member2, member3 = members

0 commit comments

Comments
 (0)