File: factories.py

package info (click to toggle)
python-django-zeal 2.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 284 kB
  • sloc: python: 1,387; makefile: 25; sh: 9
file content (33 lines) | stat: -rw-r--r-- 693 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from typing import Generic, TypeVar

import factory
from djangoproject.social.models import Post, Profile, User

T = TypeVar("T")


class BaseFactory(factory.django.DjangoModelFactory[T]):
    @classmethod
    def create(cls, **kwargs) -> T:
        return super().create(**kwargs)


class UserFactory(BaseFactory[User]):
    username = factory.Faker("user_name")

    class Meta:  # type: ignore
        model = User


class ProfileFactory(BaseFactory[Profile]):
    display_name = factory.Faker("name")

    class Meta:  # type: ignore
        model = Profile


class PostFactory(BaseFactory[Post]):
    text = factory.Faker("sentence")

    class Meta:  # type: ignore
        model = Post