Faker as FactoryFaker, ) # note I use FactoryBoy's wrapper of Faker from astrosat.tests.providers import GeometryProvider, ValidatedProvider from astrosat.tests.utils import optional_declaration from example.models import ( ExampleBulkModel, ExampleEpochModel, ExampleHashableModel, ExampleSingletonModel, ExampleUnloadableParentModel, ExampleUnloadableChildModel, ExampleConditionallyDeletedThing, ) FactoryFaker.add_provider(GeometryProvider) FactoryFaker.add_provider(ValidatedProvider) class ExampleHashableModelFactory(factory.django.DjangoModelFactory): class Meta: model = ExampleHashableModel name = FactoryFaker("name") class ExampleSingletonModelFactory(factory.django.DjangoModelFactory): class Meta: model = ExampleSingletonModel name = FactoryFaker("name")
from factory.faker import ( Faker as FactoryFaker, ) # note I use FactoryBoy's wrapper of Faker from faker import Faker from django.core.files.uploadedfile import SimpleUploadedFile from django.utils.text import slugify from astrosat.tests.providers import PrettyLoremProvider from astrosat.tests.utils import optional_declaration from allauth.account.models import EmailAddress from astrosat_users.models import User, UserRole, UserPermission, Customer, Message, MessageAttachment from astrosat_users.models.models_customers import CustomerType from astrosat_users.tests.utils import * FactoryFaker.add_provider(PrettyLoremProvider) fake = Faker("en_GB") # use UK-specific addresses, VAT numbers, etc. class UserFactory(factory.django.DjangoModelFactory): class Meta: model = User django_get_or_create = ["email"] email = FactoryFaker("email") name = FactoryFaker("name") description = optional_declaration(FactoryFaker("sentence", nb_words=10), chance=50) registration_stage = None accepted_terms = True