tests: speed up tests

by avoiding to create more faker.Faker objects than necessary
This commit is contained in:
Éloi Rivard 2024-04-16 21:25:17 +02:00
parent 2cfa685eb4
commit fa6949e5c6
No known key found for this signature in database
GPG key ID: 7EDA204EA57DD184

View file

@ -7,16 +7,13 @@ from canaille.app import models
from canaille.app.i18n import available_language_codes
def faker_generator(locales=None):
locales = locales or list(set(available_language_codes()) & set(AVAILABLE_LOCALES))
return faker.Faker(locales)
def fake_users(nb=1):
locales = list(set(available_language_codes()) & set(AVAILABLE_LOCALES))
fakers = [faker.Faker([locale]) for locale in locales]
users = list()
for _ in range(nb):
try:
fake = faker_generator()
fake = random.choice(fakers)
name = fake.unique.name()
user = models.User(
formatted_name=name,
@ -47,7 +44,7 @@ def fake_users(nb=1):
def fake_groups(nb=1, nb_users_max=1):
users = models.User.query()
groups = list()
fake = faker_generator(["en_US"])
fake = faker.Faker(["en_US"])
for _ in range(nb):
try:
group = models.Group(