Files
cpl/example/api/src/test_data_seeder.py
edraft af7945fe92
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 5s
Further gql improvements & added test data #181
2025-09-27 21:57:33 +02:00

32 lines
769 B
Python

from faker import Faker
from cpl.database.abc import DataSeederABC
from cpl.query import Enumerable
from model.post import Post
from model.post_dao import PostDao
fake = Faker()
class TestDataSeeder(DataSeederABC):
def __init__(self, posts: PostDao):
DataSeederABC.__init__(self)
self._posts = posts
async def seed(self):
if await self._posts.count() == 0:
await self._seed_posts()
async def _seed_posts(self):
posts = Enumerable.range(0, 100).select(
lambda x: Post(
id=0,
title=fake.sentence(nb_words=6),
content=fake.paragraph(nb_sentences=6),
)
).to_list()
await self._posts.create_many(posts, skip_editor=True)