Merge pull request #15877 from edx/ret/course-mode-factory
Use a consistent CourseModeFactory from the course_modes module, rath…
This commit is contained in:
@@ -17,7 +17,7 @@ class CourseModeFactory(DjangoModelFactory):
|
||||
model = CourseMode
|
||||
|
||||
course_id = CourseLocator('MITx', '999', 'Robot_Super_Course')
|
||||
mode_slug = 'audit'
|
||||
mode_slug = CourseMode.DEFAULT_MODE_SLUG
|
||||
currency = 'usd'
|
||||
expiration_datetime = None
|
||||
suggested_prices = ''
|
||||
|
||||
@@ -12,6 +12,7 @@ from nose.tools import raises
|
||||
from pytz import UTC
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from enrollment import data
|
||||
from enrollment.errors import (
|
||||
CourseEnrollmentClosedError,
|
||||
@@ -21,7 +22,7 @@ from enrollment.errors import (
|
||||
)
|
||||
from openedx.core.lib.exceptions import CourseNotFoundError
|
||||
from student.models import AlreadyEnrolledError, CourseEnrollment, CourseFullError, EnrollmentClosedError
|
||||
from student.tests.factories import CourseModeFactory, UserFactory
|
||||
from student.tests.factories import UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls_range
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from enrollment import api
|
||||
from enrollment.errors import CourseEnrollmentError
|
||||
from enrollment.views import EnrollmentUserThrottle
|
||||
@@ -34,7 +35,7 @@ from openedx.core.lib.django_test_client_utils import get_absolute_url
|
||||
from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseServiceMockMixin
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseStaffRole
|
||||
from student.tests.factories import AdminFactory, CourseModeFactory, UserFactory
|
||||
from student.tests.factories import AdminFactory, UserFactory
|
||||
from util.models import RateLimitConfiguration
|
||||
from util.testing import UrlResetMixin
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@ from django.core.management import call_command
|
||||
from django.core.management.base import CommandError
|
||||
from mock import patch, call
|
||||
|
||||
from student.tests.factories import UserFactory, CourseModeFactory, CourseEnrollmentFactory
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from student.tests.factories import UserFactory, CourseEnrollmentFactory
|
||||
from student.models import CourseEnrollment, EVENT_NAME_ENROLLMENT_MODE_CHANGED
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
@@ -7,7 +7,8 @@ from django.core.management import call_command
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
|
||||
from student.tests.factories import UserFactory, CourseModeFactory
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from student.tests.factories import UserFactory
|
||||
from student.models import CourseEnrollment
|
||||
|
||||
|
||||
|
||||
@@ -60,24 +60,6 @@ class UserProfileFactory(DjangoModelFactory):
|
||||
allow_certificate = True
|
||||
|
||||
|
||||
class CourseModeFactory(DjangoModelFactory):
|
||||
class Meta(object):
|
||||
model = CourseMode
|
||||
|
||||
course_id = None
|
||||
mode_display_name = CourseMode.DEFAULT_MODE.name
|
||||
mode_slug = CourseMode.DEFAULT_MODE_SLUG
|
||||
suggested_prices = ''
|
||||
currency = 'usd'
|
||||
expiration_datetime = None
|
||||
|
||||
@lazy_attribute
|
||||
def min_price(self):
|
||||
if CourseMode.is_verified_slug(self.mode_slug):
|
||||
return random.randint(1, 100)
|
||||
return 0
|
||||
|
||||
|
||||
class RegistrationFactory(DjangoModelFactory):
|
||||
class Meta(object):
|
||||
model = Registration
|
||||
|
||||
@@ -10,10 +10,11 @@ from mock import patch
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from openedx.core.djangoapps.embargo.test_utils import restrict_course
|
||||
from student.models import CourseEnrollment, CourseFullError
|
||||
from student.roles import CourseInstructorRole, CourseStaffRole
|
||||
from student.tests.factories import CourseModeFactory, UserFactory
|
||||
from student.tests.factories import UserFactory
|
||||
from util.testing import UrlResetMixin
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
@@ -12,11 +12,12 @@ from django.db.models import signals
|
||||
from django.db.models.functions import Lower
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from openedx.core.djangoapps.schedules.models import Schedule
|
||||
from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
|
||||
from openedx.core.djangolib.testing.utils import skip_unless_lms
|
||||
from student.models import CourseEnrollment
|
||||
from student.tests.factories import CourseEnrollmentFactory, UserFactory, CourseModeFactory
|
||||
from student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@@ -20,11 +20,12 @@ from slumber.exceptions import HttpClientError, HttpServerError
|
||||
|
||||
# These imports refer to lms djangoapps.
|
||||
# Their testcases are only run under lms.
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from certificates.models import CertificateStatuses, GeneratedCertificate # pylint: disable=import-error
|
||||
from certificates.tests.factories import GeneratedCertificateFactory # pylint: disable=import-error
|
||||
from openedx.core.djangoapps.commerce.utils import ECOMMERCE_DATE_FORMAT
|
||||
from student.models import CourseEnrollment, CourseEnrollmentAttribute
|
||||
from student.tests.factories import CourseModeFactory, UserFactory
|
||||
from student.tests.factories import UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ from bulk_email.models import Optout # pylint: disable=import-error
|
||||
from certificates.models import CertificateStatuses # pylint: disable=import-error
|
||||
from certificates.tests.factories import GeneratedCertificateFactory # pylint: disable=import-error
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
|
||||
from openedx.core.djangoapps.catalog.tests.factories import CourseFactory as CatalogCourseFactory
|
||||
from openedx.core.djangoapps.catalog.tests.factories import CourseRunFactory, ProgramFactory, generate_course_run_key
|
||||
@@ -41,7 +42,7 @@ from student.models import (
|
||||
unique_id_for_user,
|
||||
user_by_anonymous_id
|
||||
)
|
||||
from student.tests.factories import CourseEnrollmentFactory, CourseModeFactory, UserFactory
|
||||
from student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from student.views import _cert_info, complete_course_mode_info, process_survey_link
|
||||
from util.model_utils import USER_SETTINGS_CHANGED_EVENT_NAME
|
||||
from util.testing import EventTestMixin
|
||||
|
||||
@@ -26,7 +26,7 @@ from openedx.core.djangoapps.embargo.test_utils import restrict_course
|
||||
from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag
|
||||
from openedx.core.lib.django_test_client_utils import get_absolute_url
|
||||
from student.models import CourseEnrollment
|
||||
from student.tests.factories import CourseModeFactory
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from student.tests.tests import EnrollmentEventTestMixin
|
||||
from xmodule.modulestore.django import modulestore
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
||||
|
||||
@@ -34,6 +34,7 @@ from bulk_email.models import BulkEmailFlag, CourseEmail, CourseEmailTemplate
|
||||
from certificates.models import CertificateStatuses
|
||||
from certificates.tests.factories import GeneratedCertificateFactory
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.models import StudentFieldOverride, StudentModule
|
||||
from courseware.tests.factories import (
|
||||
BetaTesterFactory,
|
||||
@@ -87,7 +88,7 @@ from student.models import (
|
||||
NonExistentCourseError
|
||||
)
|
||||
from student.roles import CourseBetaTesterRole, CourseFinanceAdminRole, CourseInstructorRole, CourseSalesAdminRole
|
||||
from student.tests.factories import AdminFactory, CourseModeFactory, UserFactory
|
||||
from student.tests.factories import AdminFactory, UserFactory
|
||||
from xmodule.fields import Date
|
||||
from xmodule.modulestore import ModuleStoreEnum
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
|
||||
|
||||
@@ -9,6 +9,7 @@ from django.utils.translation import ugettext as _
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.tests.factories import InstructorFactory
|
||||
from shoppingcart.models import (
|
||||
CourseRegCodeItem,
|
||||
@@ -20,7 +21,7 @@ from shoppingcart.models import (
|
||||
)
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseSalesAdminRole
|
||||
from student.tests.factories import CourseModeFactory, UserFactory
|
||||
from student.tests.factories import UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ from nose.plugins.attrib import attr
|
||||
from opaque_keys.edx.locator import UsageKey
|
||||
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.tests.factories import InstructorFactory
|
||||
from instructor_analytics.basic import (
|
||||
AVAILABLE_FEATURES,
|
||||
@@ -43,7 +44,7 @@ from shoppingcart.models import (
|
||||
)
|
||||
from student.models import CourseEnrollment, CourseEnrollmentAllowed
|
||||
from student.roles import CourseSalesAdminRole
|
||||
from student.tests.factories import CourseModeFactory, UserFactory
|
||||
from student.tests.factories import UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
|
||||
from certificates.models import CertificateStatuses, GeneratedCertificate
|
||||
from certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.tests.factories import InstructorFactory
|
||||
from instructor_analytics.basic import UNAVAILABLE
|
||||
from lms.djangoapps.grades.models import PersistentCourseGrade
|
||||
@@ -75,7 +76,7 @@ from shoppingcart.models import (
|
||||
PaidCourseRegistration
|
||||
)
|
||||
from student.models import ALLOWEDTOENROLL_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAllowed, ManualEnrollmentAudit
|
||||
from student.tests.factories import CourseEnrollmentFactory, CourseModeFactory, UserFactory
|
||||
from student.tests.factories import CourseEnrollmentFactory, UserFactory
|
||||
from survey.models import SurveyAnswer, SurveyForm
|
||||
from xmodule.modulestore import ModuleStoreEnum
|
||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||
|
||||
@@ -26,6 +26,7 @@ from pytz import UTC
|
||||
|
||||
from common.test.utils import XssTestMixin
|
||||
from course_modes.models import CourseMode
|
||||
from course_modes.tests.factories import CourseModeFactory
|
||||
from courseware.tests.factories import InstructorFactory
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from openedx.core.djangoapps.embargo.test_utils import restrict_course
|
||||
@@ -47,7 +48,7 @@ from shoppingcart.tests.payment_fake import PaymentFakeView
|
||||
from shoppingcart.views import _can_download_report, _get_date_from_str, initialize_report
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseSalesAdminRole
|
||||
from student.tests.factories import AdminFactory, CourseModeFactory, UserFactory
|
||||
from student.tests.factories import AdminFactory, UserFactory
|
||||
from util.date_utils import get_default_time_display
|
||||
from util.testing import UrlResetMixin
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
|
||||
@@ -178,13 +179,12 @@ class ShoppingCartViewsTests(SharedModuleStoreTestCase, XssTestMixin):
|
||||
"""
|
||||
Adds a course mode to the test course.
|
||||
"""
|
||||
mode = CourseModeFactory.create()
|
||||
mode.course_id = self.course.id
|
||||
mode.min_price = min_price
|
||||
mode.mode_slug = mode_slug
|
||||
mode.expiration_date = expiration_date
|
||||
mode.save()
|
||||
return mode
|
||||
return CourseModeFactory(
|
||||
course_id=self.course.id,
|
||||
min_price=min_price,
|
||||
mode_slug=mode_slug,
|
||||
expiration_date=expiration_date,
|
||||
)
|
||||
|
||||
def add_course_to_user_cart(self, course_key):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user