Fix pagination tests

This commit is contained in:
ddelange 2023-03-22 14:52:43 +01:00
parent df5d07ac53
commit e44d8de067
No known key found for this signature in database
GPG Key ID: AFC17B7BBC0301A6
2 changed files with 8 additions and 4 deletions

View File

@ -621,7 +621,7 @@ class CursorPagination(BasePagination):
queryset = queryset.order_by(*self.ordering) queryset = queryset.order_by(*self.ordering)
# If we have a cursor with a fixed position then filter by that. # If we have a cursor with a fixed position then filter by that.
if current_position is not None: if str(current_position) != 'None':
order = self.ordering[0] order = self.ordering[0]
is_reversed = order.startswith('-') is_reversed = order.startswith('-')
order_attr = order.lstrip('-') order_attr = order.lstrip('-')

View File

@ -951,17 +951,21 @@ class TestCursorPagination(CursorPaginationTestsMixin):
def __init__(self, items): def __init__(self, items):
self.items = items self.items = items
def filter(self, created__gt=None, created__lt=None): def filter(self, q):
q_args = dict(q.deconstruct()[1])
created__gt = q_args.get('created__gt')
created__lt = q_args.get('created__lt')
if created__gt is not None: if created__gt is not None:
return MockQuerySet([ return MockQuerySet([
item for item in self.items item for item in self.items
if item.created > int(created__gt) if item.created is None or item.created > int(created__gt)
]) ])
assert created__lt is not None assert created__lt is not None
return MockQuerySet([ return MockQuerySet([
item for item in self.items item for item in self.items
if item.created < int(created__lt) if item.created is None or item.created < int(created__lt)
]) ])
def order_by(self, *ordering): def order_by(self, *ordering):