From be5ca3dedd02b7ba9ae28b1d9b79e0daf810fe46 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 16 Jan 2020 11:05:27 -0500 Subject: [PATCH] Add a test that shows that CourseModes aren't deleted when CourseOverview versions are updated --- .../djangoapps/course_modes/tests/test_models.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/common/djangoapps/course_modes/tests/test_models.py b/common/djangoapps/course_modes/tests/test_models.py index 117ba30032..199dcdb4b2 100644 --- a/common/djangoapps/course_modes/tests/test_models.py +++ b/common/djangoapps/course_modes/tests/test_models.py @@ -21,6 +21,7 @@ from six.moves import zip from course_modes.helpers import enrollment_mode_display from course_modes.models import CourseMode, Mode, get_cosmetic_display_price, invalidate_course_mode_cache from course_modes.tests.factories import CourseModeFactory +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory @@ -523,6 +524,19 @@ class CourseModeModelTest(TestCase): self.assertEqual(CourseMode.is_masters_only(self.course_key), expected_is_masters_only) +class TestCourseOverviewIntegration(ModuleStoreTestCase): + def test_course_overview_version_update(self): + course = CourseFactory.create() + course_overview = CourseOverview.get_from_id(course.id) + course_overview.version -= 1 + course_overview.save() + course_mode = CourseModeFactory.create(course_id=course_overview.id) + + assert CourseMode.objects.filter(pk=course_mode.pk).exists() + CourseOverview.get_from_id(course.id) + assert CourseMode.objects.filter(pk=course_mode.pk).exists() + + class TestDisplayPrices(ModuleStoreTestCase): @override_settings(PAID_COURSE_REGISTRATION_CURRENCY=["USD", "$"]) def test_get_cosmetic_display_price(self):