class FeatureFactory(DjangoModelFactory): class Meta: model = 'device.Feature' name = faker.Faker('name') value = str(faker.Faker('random_int')) product = SubFactory(ProductFactory)
class LeadFactory(factory.DjangoModelFactory): email = faker.Faker('email') first_name = faker.Faker('name') last_name = faker.Faker('name') class Meta: model = Lead
class RecipeFactory(DjangoModelFactory): name = factory.Sequence(lambda n: f'Recipe {n}') description = faker.Faker('paragraph', nb_sentences=1) instructions = faker.Faker('paragraph', nb_sentences=3) class Meta: model = 'recipes.Recipe'
class DigitalWalletFactory(factory.django.DjangoModelFactory): class Meta: model = DigitalWallet owner = factory.SubFactory("wallets.factories.WalletOwnerFactory") iban = faker.Faker("iban") balance = faker.Faker("pyint")
class WalletOwnerFactory(factory.django.DjangoModelFactory): class Meta: model = WalletOwner given_name = faker.Faker("first_name") family_name = faker.Faker("last_name") email = faker.Faker("email")
class SlotFactory(DjangoModelFactory): day = SubFactory(DayFactory) kind = SubFactory(SlotKindFactory) start = faker.Faker("past_datetime", tzinfo=fake_tzinfo) end = faker.Faker("future_datetime", tzinfo=fake_tzinfo) class Meta: model = Slot
class ProductFactory(DjangoModelFactory): class Meta: model = 'device.Product' name = faker.Faker('name') category = SubFactory(CategoryFactory) manufacturer = SubFactory(ManufacturerFactory) model_number = str(faker.Faker('random_int'))
class TestFactory(PynamoDBFactory): class Meta: model = TestModel unicode_attr = faker.Faker('sentence') binary_attr = faker.Faker('binary', length=100) binary_set_attr = faker.Faker('binary_set') boolean_attr = faker.Faker('boolean')
class RecipeReviewFactory(DjangoModelFactory): recipe = SubFactory(RecipeFactory) user = SubFactory(UserFactory) make_again = faker.Faker('boolean') rating = fuzzy.FuzzyInteger(low=1, high=5) review = faker.Faker('sentence') class Meta: model = 'recipes.RecipeReview'
class IngredientFactory(DjangoModelFactory): description = faker.Faker('sentence') recipe = SubFactory(RecipeFactory) food = SubFactory(FoodFactory) rank = 0 is_optional = faker.Faker('boolean') class Meta: model = 'recipes.Ingredient'
class UserFactory(django_factory.DjangoModelFactory): class Meta: model = User django_get_or_create = ('username', ) username = faker.Faker('first_name', locale=LOCALE) first_name = faker.Faker('first_name', locale=LOCALE) last_name = faker.Faker('last_name', locale=LOCALE) email = faker.Faker('ascii_safe_email', locale=LOCALE) password = faker.Faker('password', locale=LOCALE)
class ReceiptFactory(Factory): class Meta: model = Receipt number = faker.Faker("pyint") post_date = faker.Faker("date", pattern="%Y%m%d") value = faker.Faker("pydecimal", left_digits=2, right_digits=2, positive=True)
class ReceiptFactory(Factory): class Meta: model = Receipt number = faker.Faker('pyint') post_date = faker.Faker('date', pattern='%Y%m%d') value = faker.Faker('pydecimal', left_digits=2, right_digits=2, positive=True)
class UserFactory(DjangoModelFactory): username = faker.Faker('email') password = faker.Faker('password') @classmethod def _create(cls, model_class, *args, **kwargs): return get_user_model().objects.create_user(**kwargs) class Meta: model = get_user_model()
class TrackingEventFactory(Factory): class Meta: model = TrackingEvent timestamp = datetime(2016, 1, 1, 12) status = ("PO", "1") location_zip_code = "07192-100" location = "CEE" city = faker.Faker("city", locale="pt_BR") state = faker.Faker("estado_sigla", locale="pt_BR") description = "Objeto postado"
class LMSUserFactory(factory.DjangoModelFactory): class Meta: model = LMSUser lms_user_id = factory.Sequence(lambda n: "%d" % n) username = factory.Sequence(lambda n: "u%d" % n) course_offering = factory.SubFactory(CourseOfferingFactory) firstname = faker.Faker('first_name') lastname = faker.Faker('last_name') role = 'STUDENT' # Might also be '', associated with staff members. email = faker.Faker('email') @classmethod def _setup_next_sequence(cls): return 1000000
class CourseOfferingFactory(factory.DjangoModelFactory): class Meta: model = CourseOffering lms_type = CourseOffering.LMS_TYPE_BLACKBOARD code = factory.Sequence(lambda n: 'C%d' % n) title = factory.Sequence(lambda n: 'CourseOffering %d' % n) offering = 'Sem X' start_date = faker.Faker('date_object') no_weeks = 14 @factory.post_generation def owners(self, create, extracted, **kwargs): if not create: # Simple build, do nothing. return if extracted: # A list of owners were passed in so add them for owner in extracted: self.owners.add(owner) @classmethod def _setup_next_sequence(cls): return 101
class TransactionFactory(factory.django.DjangoModelFactory): class Meta: model = Transaction sender = factory.SubFactory(DigitalWalletFactory) recepient = factory.SubFactory(DigitalWalletFactory) value = faker.Faker("pyint")
class CategoryFactory(DjangoModelFactory): class Meta: model = 'device.Category' django_get_or_create = ('name',) name = faker.Faker('name') specialty = SubFactory(SpecialtyFactory)
class PostInfoFactory(Factory): class Meta: model = PostInfo postal_unit = SubFactory(PostalUnitFactory) posting_list = SubFactory(PostingListFactory) value = faker.Faker("pydecimal", left_digits=2, right_digits=2, positive=True)
class SummaryPostFactory(factory.DjangoModelFactory): class Meta: model = SummaryPost class Params: our_tz = get_current_timezone() VISITS_START = datetime.datetime(2016, 2, 26, 8, 0, 10, tzinfo=our_tz) VISITS_END = datetime.datetime(2016, 6, 16, 17, 35, 9, tzinfo=our_tz) page = factory.SubFactory(PageFactory) lms_user = factory.SubFactory(LMSUserFactory) posted_at = faker.Faker('date_time_between_dates', datetime_start=Params.VISITS_START, datetime_end=Params.VISITS_END)
class SubmissionAttemptFactory(factory.DjangoModelFactory): class Meta: model = SubmissionAttempt class Params: our_tz = get_current_timezone() VISITS_START = datetime.datetime(2016, 2, 26, 8, 0, 10, tzinfo=our_tz) VISITS_END = datetime.datetime(2016, 6, 16, 17, 35, 9, tzinfo=our_tz) attempt_key = factory.Sequence(lambda n: "key %d" % n) page = factory.SubFactory(PageFactory) lms_user = factory.SubFactory(LMSUserFactory) attempted_at = faker.Faker('date_time_between_dates', datetime_start=Params.VISITS_START, datetime_end=Params.VISITS_END) grade = fuzzy.FuzzyFloat(10.0) @classmethod def _setup_next_sequence(cls): return 1000000
class PageVisitFactory(factory.DjangoModelFactory): class Meta: model = PageVisit class Params: our_tz = get_current_timezone() VISITS_START = datetime.datetime(2016, 2, 26, 8, 0, 10, tzinfo=our_tz) VISITS_END = datetime.datetime(2016, 6, 16, 17, 35, 9, tzinfo=our_tz) visited_at = faker.Faker('date_time_between_dates', datetime_start=Params.VISITS_START, datetime_end=Params.VISITS_END) lms_user = factory.SubFactory(LMSUserFactory) page = factory.SubFactory(PageFactory) # TODO: There's several fields here which are candidates for removal/alteration. Audit. # module = factory.CharField(blank=True, max_length=255) # Is this always a resource/x-bb-* content type? action = 'CONTENT_ACCESS' # Also extent: COURSE_ACCESS # url = factory.TextField(blank=True) # section_id = factory.IntegerField(blank=True, null=True) # section_pk = factory.CharField(blank=True, max_length=255) # section_order = factory.IntegerField(blank=True, null=True) # info = factory.TextField() session = None
class PostalUnitFactory(Factory): class Meta: model = PostalUnit code = faker.Faker('random_number', digits=4) description = Faker('company', locale='pt_BR')
class SpecialtyFactory(DjangoModelFactory): class Meta: model = 'device.Specialty' django_get_or_create = ('name',) name = faker.Faker('name')
class FoodFactory(DjangoModelFactory): name = faker.Faker('word') class Meta: model = 'recipes.Food'
class PostalUnitFactory(Factory): class Meta: model = PostalUnit code = faker.Faker("random_number", digits=4) description = Faker("company", locale="pt_BR")
class RecipeNoteFactory(DjangoModelFactory): note = faker.Faker('sentence') class Meta: model = 'recipes.RecipeNote'
class SharedImageFactory(DjangoModelFactory): class Meta: model = 'neptune.SharedImage' name = faker.Faker('name')
class CategoryFeatureFactory(DjangoModelFactory): class Meta: model = 'device.CategoryFeature' name = faker.Faker('name') category = SubFactory(CategoryFactory)