37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
# lint-amnesty, pylint: disable=missing-module-docstring
|
|
|
|
import string
|
|
from uuid import uuid4
|
|
|
|
import factory
|
|
from factory.fuzzy import FuzzyChoice, FuzzyText
|
|
|
|
from common.djangoapps.course_modes.helpers import CourseMode
|
|
from common.djangoapps.entitlements.models import CourseEntitlement, CourseEntitlementPolicy
|
|
from common.djangoapps.student.tests.factories import UserFactory
|
|
from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
|
|
|
|
|
|
class CourseEntitlementPolicyFactory(factory.django.DjangoModelFactory):
|
|
"""
|
|
Factory for a a CourseEntitlementPolicy
|
|
"""
|
|
class Meta:
|
|
model = CourseEntitlementPolicy
|
|
|
|
site = factory.SubFactory(SiteFactory)
|
|
|
|
|
|
class CourseEntitlementFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
|
class Meta:
|
|
model = CourseEntitlement
|
|
|
|
uuid = factory.LazyFunction(uuid4)
|
|
course_uuid = factory.LazyFunction(uuid4)
|
|
expired_at = None
|
|
mode = FuzzyChoice([CourseMode.VERIFIED, CourseMode.PROFESSIONAL])
|
|
user = factory.SubFactory(UserFactory)
|
|
order_number = FuzzyText(prefix='TEXTX', chars=string.digits)
|
|
enrollment_course_run = None
|
|
policy = factory.SubFactory(CourseEntitlementPolicyFactory)
|