@@ -7,7 +7,6 @@ from random import random
|
||||
|
||||
import factory
|
||||
from django.core.files.base import ContentFile
|
||||
from factory import DjangoModelFactory
|
||||
from factory.django import ImageField
|
||||
|
||||
from common.djangoapps.student.tests.factories import UserFactory
|
||||
@@ -30,7 +29,7 @@ def generate_dummy_image(_unused):
|
||||
)
|
||||
|
||||
|
||||
class CourseCompleteImageConfigurationFactory(DjangoModelFactory):
|
||||
class CourseCompleteImageConfigurationFactory(factory.django.DjangoModelFactory):
|
||||
"""
|
||||
Factory for BadgeImageConfigurations
|
||||
"""
|
||||
@@ -41,7 +40,7 @@ class CourseCompleteImageConfigurationFactory(DjangoModelFactory):
|
||||
icon = factory.LazyAttribute(generate_dummy_image)
|
||||
|
||||
|
||||
class BadgeClassFactory(DjangoModelFactory):
|
||||
class BadgeClassFactory(factory.django.DjangoModelFactory):
|
||||
"""
|
||||
Factory for BadgeClass
|
||||
"""
|
||||
@@ -64,7 +63,7 @@ class RandomBadgeClassFactory(BadgeClassFactory):
|
||||
slug = factory.lazy_attribute(lambda _: 'test_slug_' + str(random()).replace('.', '_'))
|
||||
|
||||
|
||||
class BadgeAssertionFactory(DjangoModelFactory):
|
||||
class BadgeAssertionFactory(factory.django.DjangoModelFactory):
|
||||
"""
|
||||
Factory for BadgeAssertions
|
||||
"""
|
||||
@@ -78,7 +77,7 @@ class BadgeAssertionFactory(DjangoModelFactory):
|
||||
image_url = 'http://example.com/image.png'
|
||||
|
||||
|
||||
class CourseEventBadgesConfigurationFactory(DjangoModelFactory):
|
||||
class CourseEventBadgesConfigurationFactory(factory.django.DjangoModelFactory):
|
||||
"""
|
||||
Factory for CourseEventsBadgesConfiguration
|
||||
"""
|
||||
|
||||
@@ -40,6 +40,7 @@ from lms.djangoapps.verify_student.models import VerificationDeadline
|
||||
from lms.djangoapps.verify_student.services import IDVerificationService
|
||||
from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
|
||||
from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
|
||||
from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory # pylint: disable=unused-import
|
||||
from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
|
||||
@@ -1016,7 +1017,8 @@ class TestScheduleOverrides(SharedModuleStoreTestCase):
|
||||
course = create_self_paced_course_run(days_till_start=-1, org_id='TestOrg')
|
||||
DynamicUpgradeDeadlineConfiguration.objects.create(enabled=True)
|
||||
if enroll_first:
|
||||
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT, course__self_paced=True)
|
||||
course_overview = CourseOverviewFactory.create(self_paced=True)
|
||||
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT, course=course_overview)
|
||||
OrgDynamicUpgradeDeadlineConfiguration.objects.create(
|
||||
enabled=org_config_enabled, opt_out=org_config_opt_out, org_id=course.id.org
|
||||
)
|
||||
@@ -1024,7 +1026,8 @@ class TestScheduleOverrides(SharedModuleStoreTestCase):
|
||||
enabled=course_config_enabled, opt_out=course_config_opt_out, course_id=course.id
|
||||
)
|
||||
if not enroll_first:
|
||||
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT, course__self_paced=True)
|
||||
course_overview = CourseOverviewFactory.create(self_paced=True)
|
||||
enrollment = CourseEnrollmentFactory(course_id=course.id, mode=CourseMode.AUDIT, course=course_overview)
|
||||
|
||||
# The enrollment has a schedule, and the upgrade_deadline is set when expected_dynamic_deadline is True
|
||||
if not enroll_first:
|
||||
|
||||
@@ -10,7 +10,7 @@ from common.djangoapps.student.tests.factories import UserFactory
|
||||
from lms.djangoapps.experiments.models import ExperimentData, ExperimentKeyValue
|
||||
|
||||
|
||||
class ExperimentDataFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class ExperimentDataFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class Meta:
|
||||
model = ExperimentData
|
||||
|
||||
@@ -20,7 +20,7 @@ class ExperimentDataFactory(factory.DjangoModelFactory): # lint-amnesty, pylint
|
||||
value = factory.Faker('word')
|
||||
|
||||
|
||||
class ExperimentKeyValueFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class ExperimentKeyValueFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class Meta:
|
||||
model = ExperimentKeyValue
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ from common.djangoapps.student.tests.factories import UserFactory
|
||||
from lms.djangoapps.survey.models import SurveyAnswer, SurveyForm
|
||||
|
||||
|
||||
class SurveyFormFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class SurveyFormFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class Meta:
|
||||
model = SurveyForm
|
||||
|
||||
@@ -13,7 +13,7 @@ class SurveyFormFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: di
|
||||
form = '<form>First name:<input type="text" name="firstname"/></form>'
|
||||
|
||||
|
||||
class SurveyAnswerFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class SurveyAnswerFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class Meta:
|
||||
model = SurveyAnswer
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ from openedx.core.djangoapps.credit.models import (
|
||||
from common.djangoapps.util.date_utils import to_timestamp
|
||||
|
||||
|
||||
class CreditCourseFactory(factory.DjangoModelFactory):
|
||||
class CreditCourseFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CreditCourse
|
||||
|
||||
@@ -29,14 +29,14 @@ class CreditCourseFactory(factory.DjangoModelFactory):
|
||||
enabled = True
|
||||
|
||||
|
||||
class CreditRequirementFactory(factory.DjangoModelFactory):
|
||||
class CreditRequirementFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CreditRequirement
|
||||
|
||||
course = factory.SubFactory(CreditCourseFactory)
|
||||
|
||||
|
||||
class CreditRequirementStatusFactory(factory.DjangoModelFactory):
|
||||
class CreditRequirementStatusFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CreditRequirementStatus
|
||||
|
||||
@@ -44,7 +44,7 @@ class CreditRequirementStatusFactory(factory.DjangoModelFactory):
|
||||
status = CreditRequirementStatus.REQUIREMENT_STATUS_CHOICES[0][0]
|
||||
|
||||
|
||||
class CreditProviderFactory(factory.DjangoModelFactory):
|
||||
class CreditProviderFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CreditProvider
|
||||
|
||||
@@ -52,14 +52,14 @@ class CreditProviderFactory(factory.DjangoModelFactory):
|
||||
provider_url = FuzzyText(prefix='http://')
|
||||
|
||||
|
||||
class CreditEligibilityFactory(factory.DjangoModelFactory):
|
||||
class CreditEligibilityFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CreditEligibility
|
||||
|
||||
course = factory.SubFactory(CreditCourseFactory)
|
||||
|
||||
|
||||
class CreditRequestFactory(factory.DjangoModelFactory):
|
||||
class CreditRequestFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = CreditRequest
|
||||
|
||||
|
||||
@@ -11,14 +11,14 @@ from openedx.core.djangoapps.site_configuration.tests.factories import SiteFacto
|
||||
from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
|
||||
|
||||
|
||||
class ScheduleExperienceFactory(factory.DjangoModelFactory):
|
||||
class ScheduleExperienceFactory(factory.django.DjangoModelFactory):
|
||||
class Meta:
|
||||
model = models.ScheduleExperience
|
||||
|
||||
experience_type = models.ScheduleExperience.EXPERIENCES.default
|
||||
|
||||
|
||||
class ScheduleFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class ScheduleFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class Meta:
|
||||
model = models.Schedule
|
||||
|
||||
@@ -28,7 +28,7 @@ class ScheduleFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disa
|
||||
experience = factory.RelatedFactory(ScheduleExperienceFactory, 'schedule')
|
||||
|
||||
|
||||
class ScheduleConfigFactory(factory.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class ScheduleConfigFactory(factory.django.DjangoModelFactory): # lint-amnesty, pylint: disable=missing-class-docstring
|
||||
class Meta:
|
||||
model = models.ScheduleConfig
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ from common.djangoapps.course_modes.models import CourseMode
|
||||
from common.djangoapps.course_modes.tests.factories import CourseModeFactory
|
||||
from common.djangoapps.student.tests.factories import UserFactory
|
||||
from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
|
||||
from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
|
||||
from openedx.core.djangoapps.schedules.models import Schedule
|
||||
from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
|
||||
from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
|
||||
@@ -36,6 +37,7 @@ class TestAccess(CacheIsolationTestCase):
|
||||
|
||||
CourseDurationLimitConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1, tzinfo=UTC))
|
||||
DynamicUpgradeDeadlineConfiguration.objects.create(enabled=True)
|
||||
self.course = CourseOverviewFactory.create(start=datetime(2018, 1, 1, tzinfo=UTC), self_paced=True)
|
||||
|
||||
def assertDateInMessage(self, date, message): # lint-amnesty, pylint: disable=missing-function-docstring
|
||||
# First, check that the formatted version is in there
|
||||
@@ -100,10 +102,7 @@ class TestAccess(CacheIsolationTestCase):
|
||||
else:
|
||||
course_upgrade_deadline = None
|
||||
|
||||
enrollment = CourseEnrollmentFactory.create(
|
||||
course__start=datetime(2018, 1, 1, tzinfo=UTC),
|
||||
course__self_paced=True,
|
||||
)
|
||||
enrollment = CourseEnrollmentFactory.create(course=self.course)
|
||||
CourseModeFactory.create(
|
||||
course_id=enrollment.course.id,
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
@@ -140,10 +139,7 @@ class TestAccess(CacheIsolationTestCase):
|
||||
enrollment date, content_availability_date is set to max of course start
|
||||
or enrollment date
|
||||
"""
|
||||
enrollment = CourseEnrollmentFactory.create(
|
||||
course__start=datetime(2018, 1, 1, tzinfo=UTC),
|
||||
course__self_paced=True,
|
||||
)
|
||||
enrollment = CourseEnrollmentFactory.create(course=self.course)
|
||||
CourseModeFactory.create(
|
||||
course_id=enrollment.course.id,
|
||||
mode_slug=CourseMode.VERIFIED,
|
||||
|
||||
@@ -33,9 +33,6 @@ django-storages<1.9
|
||||
# for them.
|
||||
edx-enterprise==3.22.4
|
||||
|
||||
# Upgrading to 2.12.0 breaks several test classes due to API changes, need to update our code accordingly
|
||||
factory-boy==2.8.1
|
||||
|
||||
# Newer versions need a more recent version of python-dateutil
|
||||
freezegun==0.3.12
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ enmerkar-underscore==2.0.0 # via -r requirements/edx/testing.txt
|
||||
enmerkar==0.7.1 # via -r requirements/edx/testing.txt, enmerkar-underscore
|
||||
event-tracking==1.0.4 # via -r requirements/edx/testing.txt, edx-event-routing-backends, edx-proctoring, edx-search
|
||||
execnet==1.8.0 # via -r requirements/edx/testing.txt, pytest-xdist
|
||||
factory-boy==2.8.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
|
||||
factory-boy==3.2.0 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
|
||||
faker==8.1.0 # via -r requirements/edx/testing.txt, factory-boy
|
||||
filelock==3.0.12 # via -r requirements/edx/testing.txt, tox, virtualenv
|
||||
freezegun==0.3.12 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
|
||||
|
||||
@@ -133,7 +133,7 @@ enmerkar-underscore==2.0.0 # via -r requirements/edx/base.txt
|
||||
enmerkar==0.7.1 # via -r requirements/edx/base.txt, enmerkar-underscore
|
||||
event-tracking==1.0.4 # via -r requirements/edx/base.txt, edx-event-routing-backends, edx-proctoring, edx-search
|
||||
execnet==1.8.0 # via pytest-xdist
|
||||
factory-boy==2.8.1 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
|
||||
factory-boy==3.2.0 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
|
||||
faker==8.1.0 # via factory-boy
|
||||
filelock==3.0.12 # via tox, virtualenv
|
||||
freezegun==0.3.12 # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
|
||||
|
||||
Reference in New Issue
Block a user