Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 5s
32 lines
769 B
Python
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)
|