feat: várias melhorias e evoluções no projeto

This commit is contained in:
root
2025-05-26 14:22:19 +02:00
parent 78e994eb6a
commit 9dca0d6022
108 changed files with 2601 additions and 2131 deletions

View File

@ -0,0 +1,43 @@
from collections.abc import Sequence
from typing import Any
from factory import Faker
from factory import post_generation
from factory.django import DjangoModelFactory
from diarios_oficiais_alems.users.models import User
class UserFactory(DjangoModelFactory[User]):
username = Faker("user_name")
email = Faker("email")
name = Faker("name")
@post_generation
def password(
self, create: bool, extracted: Sequence[Any], **kwargs
): # noqa: FBT001
password = (
extracted
if extracted
else Faker(
"password",
length=42,
special_chars=True,
digits=True,
upper_case=True,
lower_case=True,
).evaluate(None, None, extra={"locale": None})
)
self.set_password(password)
@classmethod
def _after_postgeneration(cls, instance, create, results=None):
"""Save again the instance if creating and at least one hook ran."""
if create and results and not cls._meta.skip_postgeneration_save:
# Some post-generation hooks ran, and may have modified us.
instance.save()
class Meta:
model = User
django_get_or_create = ["username"]