1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-24 07:39:41 +02:00

wip: pagination-repository (#1316)

* bump mypy

* add pagination + refactor generic repo

* add pagination test

* remove all query object
This commit is contained in:
Hayden 2022-05-30 10:30:54 -08:00 committed by GitHub
parent 00f144a622
commit 4c594a48dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 237 additions and 215 deletions

View file

@ -0,0 +1,38 @@
from mealie.repos.repository_factory import AllRepositories
from mealie.schema.response.pagination import PaginationQuery
from mealie.services.seeder.seeder_service import SeederService
from tests.utils.fixture_schemas import TestUser
def test_repository_pagination(database: AllRepositories, unique_user: TestUser):
group = database.groups.get_one(unique_user.group_id)
seeder = SeederService(database, None, group)
seeder.seed_foods("en-US")
foods_repo = database.ingredient_foods.by_group(unique_user.group_id) # type: ignore
query = PaginationQuery(
page=1,
order_by="id",
per_page=10,
)
seen = []
for _ in range(10):
results = foods_repo.pagination(query)
assert len(results.data) == 10
for result in results.data:
assert result.id not in seen
seen += [result.id for result in results.data]
query.page += 1
results = foods_repo.pagination(query)
for result in results.data:
assert result.id not in seen