class SubjectFactory(factory.DjangoModelFactory): class Meta: model = Subject name = FuzzyText() description = FuzzyText() banner_image_url = FuzzyURL() card_image_url = FuzzyURL() partner = factory.SubFactory(PartnerFactory)
class OrganizationFactory(SalesforceRecordFactory): uuid = factory.LazyFunction(uuid4) key = FuzzyText() name = FuzzyText() description = FuzzyText() homepage_url = FuzzyURL() logo_image_url = FuzzyURL() banner_image_url = FuzzyURL() certificate_logo_image_url = FuzzyURL() partner = factory.SubFactory(PartnerFactory) class Meta: model = Organization
class OrganizationFactory(factory.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) key = FuzzyText(prefix='Org.fake/') name = FuzzyText() description = FuzzyText() homepage_url = FuzzyURL() logo_image_url = FuzzyURL() banner_image_url = FuzzyURL() partner = factory.SubFactory(PartnerFactory) marketing_url_path = FuzzyText() class Meta: model = Organization
class CourseFactory(factory.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) key = FuzzyText(prefix='course-id/') title = FuzzyText(prefix="Test çօմɾʂҽ ") short_description = FuzzyText(prefix="Test çօմɾʂҽ short description") full_description = FuzzyText(prefix="Test çօմɾʂҽ FULL description") level_type = factory.SubFactory(LevelTypeFactory) card_image_url = FuzzyURL() video = factory.SubFactory(VideoFactory) partner = factory.SubFactory(PartnerFactory) prerequisites_raw = FuzzyText() syllabus_raw = FuzzyText() outcome = FuzzyText() image = factory.django.ImageField() class Meta: model = Course @factory.post_generation def subjects(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.subjects, extracted) @factory.post_generation def authoring_organizations(self, create, extracted, **kwargs): if create: add_m2m_data(self.authoring_organizations, extracted) @factory.post_generation def sponsoring_organizations(self, create, extracted, **kwargs): if create: add_m2m_data(self.sponsoring_organizations, extracted)
class CourseRunFactory(factory.DjangoModelFactory): status = CourseRunStatus.Published uuid = factory.LazyFunction(uuid4) key = FuzzyText(prefix='course-run-id/', suffix='/fake') course = factory.SubFactory(CourseFactory) title_override = None short_description_override = None full_description_override = None language = factory.Iterator(LanguageTag.objects.all()) start = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)) end = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)).end_dt enrollment_start = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)) enrollment_end = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)).end_dt announcement = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)) card_image_url = FuzzyURL() video = factory.SubFactory(VideoFactory) min_effort = FuzzyInteger(1, 10) max_effort = FuzzyInteger(10, 20) pacing_type = FuzzyChoice([name for name, __ in CourseRunPacing.choices]) slug = FuzzyText() weeks_to_complete = FuzzyInteger(1) @factory.post_generation def staff(self, create, extracted, **kwargs): if create: add_m2m_data(self.staff, extracted) class Meta: model = CourseRun @factory.post_generation def transcript_languages(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.transcript_languages, extracted)
class CourseFactory(factory.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) key = FuzzyText(prefix='course-id/') title = FuzzyText(prefix="Test çօմɾʂҽ ") short_description = FuzzyText(prefix="Test çօմɾʂҽ short description") full_description = FuzzyText(prefix="Test çօմɾʂҽ FULL description") level_type = factory.SubFactory(LevelTypeFactory) card_image_url = FuzzyURL() video = factory.SubFactory(VideoFactory) marketing_url = FuzzyText(prefix='https://example.com/test-course-url') partner = factory.SubFactory(PartnerFactory) class Meta: model = Course @factory.post_generation def subjects(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.subjects, extracted) @factory.post_generation def authoring_organizations(self, create, extracted, **kwargs): if create: add_m2m_data(self.authoring_organizations, extracted) @factory.post_generation def sponsoring_organizations(self, create, extracted, **kwargs): if create: add_m2m_data(self.sponsoring_organizations, extracted)
class SkillFactory(factory.django.DjangoModelFactory): external_id = FuzzyText() name = FuzzyText() info_url = FuzzyURL() type_id = FuzzyText() type_name = FuzzyText() class Meta: model = Skill
class TopicFactory(factory.DjangoModelFactory): class Meta: model = Topic name = FuzzyText() description = FuzzyText() long_description = FuzzyText() banner_image_url = FuzzyURL() partner = factory.SubFactory(PartnerFactory) uuid = factory.LazyFunction(uuid4)
class PersonFactory(factory.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) partner = factory.SubFactory(PartnerFactory) given_name = factory.Faker('first_name') family_name = factory.Faker('last_name') bio = FuzzyText() profile_image_url = FuzzyURL() class Meta: model = Person
class SkillFactory(factory.django.DjangoModelFactory): external_id = FuzzyText() name = FuzzyText() info_url = FuzzyURL() type_id = FuzzyText() type_name = FuzzyText() description = FuzzyText(length=300) class Meta: model = Skill
class CreditPathwayFactory(factory.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) partner = factory.SubFactory(PartnerFactory) name = FuzzyText() org_name = FuzzyText() email = factory.Sequence(lambda n: 'test-email-{}@test.com'.format(n)) # pylint: disable=unnecessary-lambda description = FuzzyText() destination_url = FuzzyURL() class Meta: model = CreditPathway
class PathwayFactory(factory.django.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) partner = factory.SubFactory(PartnerFactory) name = FuzzyText() org_name = FuzzyText() email = factory.Sequence(lambda n: 'test-email-{}@test.com'.format(n)) # pylint: disable=unnecessary-lambda description = FuzzyText() destination_url = FuzzyURL() pathway_type = FuzzyChoice((path_type.value for path_type in PathwayType)) class Meta: model = Pathway
class PathwayFactory(factory.django.DjangoModelFactory): uuid = factory.LazyFunction(uuid4) partner = factory.SubFactory(PartnerFactory) name = FuzzyText() org_name = FuzzyText() email = factory.Sequence(lambda n: f'test-email-{n}@test.com') description = FuzzyText() destination_url = FuzzyURL() pathway_type = FuzzyChoice(path_type.value for path_type in PathwayType) class Meta: model = Pathway
class CourseFactory(SalesforceRecordFactory): uuid = factory.LazyFunction(uuid4) key = FuzzyText(prefix='course-id/') key_for_reruns = FuzzyText(prefix='OrgX+') title = FuzzyText(prefix="Test çօմɾʂҽ ") short_description = FuzzyText(prefix="Test çօմɾʂҽ short description") full_description = FuzzyText(prefix="Test çօմɾʂҽ FULL description") level_type = factory.SubFactory(LevelTypeFactory) card_image_url = FuzzyURL() video = factory.SubFactory(VideoFactory) partner = factory.SubFactory(PartnerFactory) prerequisites_raw = FuzzyText() syllabus_raw = FuzzyText() outcome = FuzzyText() image = factory.django.ImageField() canonical_course_run = None extra_description = factory.SubFactory(AdditionalPromoAreaFactory) additional_information = FuzzyText() faq = FuzzyText() learner_testimonials = FuzzyText() type = factory.SubFactory(CourseTypeFactory) class Meta: model = Course @factory.post_generation def subjects(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.subjects, extracted) @factory.post_generation def authoring_organizations(self, create, extracted, **kwargs): if create: add_m2m_data(self.authoring_organizations, extracted) @factory.post_generation def sponsoring_organizations(self, create, extracted, **kwargs): if create: add_m2m_data(self.sponsoring_organizations, extracted) @factory.post_generation def url_slug_history(self, create, extracted, **kwargs): if create: data = { 'is_active': True, 'is_active_on_draft': True, 'course': self, 'partner': self.partner } if extracted: data.update(extracted) CourseUrlSlugFactory(**data)
class CourseRunFactory(SalesforceRecordFactory): status = CourseRunStatus.Published uuid = factory.LazyFunction(uuid4) key = FuzzyText(prefix='course-run-id/', suffix='/fake') external_key = None course = factory.SubFactory(CourseFactory) title_override = None short_description_override = None full_description_override = None language = factory.Iterator(LanguageTag.objects.all()) start = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)) end = FuzzyDateTime(datetime.datetime.now(tz=UTC), datetime.datetime(2030, 1, 1, tzinfo=UTC)) go_live_date = None enrollment_start = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)) enrollment_end = FuzzyDateTime(datetime.datetime.now(tz=UTC), datetime.datetime(2029, 1, 1, tzinfo=UTC)) announcement = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC)) card_image_url = FuzzyURL() video = factory.SubFactory(VideoFactory) min_effort = FuzzyInteger(1, 9) max_effort = FuzzyInteger(10, 20) pacing_type = FuzzyChoice([name for name, __ in CourseRunPacing.choices]) reporting_type = FuzzyChoice([name for name, __ in ReportingType.choices]) hidden = False weeks_to_complete = FuzzyInteger(1) license = 'all-rights-reserved' has_ofac_restrictions = True type = factory.SubFactory(CourseRunTypeFactory) @factory.post_generation def staff(self, create, extracted, **kwargs): if create: add_m2m_data(self.staff, extracted) class Meta: model = CourseRun @factory.post_generation def transcript_languages(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.transcript_languages, extracted) @factory.post_generation def authoring_organizations(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.authoring_organizations, extracted)
class DegreeFactory(ProgramFactory): class Meta(object): model = Degree apply_url = FuzzyURL() overall_ranking = FuzzyText() lead_capture_list_name = FuzzyText() application_requirements = FuzzyText() prerequisite_coursework = FuzzyText() micromasters_url = FuzzyText() micromasters_long_title = FuzzyText() micromasters_long_description = FuzzyText() search_card_ranking = FuzzyText() search_card_cost = FuzzyText() search_card_courses = FuzzyText() @factory.post_generation def rankings(self, create, extracted, **kwargs): if create: # pragma: no cover add_m2m_data(self.rankings, extracted)
class AbstractMediaModelFactory(factory.DjangoModelFactory): src = FuzzyURL() description = FuzzyText()