Exemplo n.º 1
0
    def test_external_course_key_null_or_empty(self, external_key_to_test):
        course_run_1a = CourseRun.objects.get(key='course-run-id/course-1a/test')
        course_run_1a.external_key = external_key_to_test
        course_run_1a.save()

        # Same course test
        copy_course_run_1a = factories.CourseRunFactory(
            course=self.course_1,
            external_key=external_key_to_test,
        )
        assert course_run_1a.external_key == copy_course_run_1a.external_key

        # Same curriculum test but different courses
        new_course_run = factories.CourseRunFactory(
            external_key=external_key_to_test
        )
        new_course = new_course_run.course
        factories.CurriculumCourseMembershipFactory(
            course=new_course,
            curriculum=self.curriculum_1,
        )
        assert course_run_1a.external_key == new_course_run.external_key

        # Same programs but different curriculum test
        _, curriculum_4 = self._create_single_course_curriculum(external_key_to_test, 'curriculum_4')
        curriculum_4.program = self.program_1
        curriculum_4.save()
        curriculum_4.refresh_from_db()
Exemplo n.º 2
0
 def test_create_curriculum_course_membership__curriculum_only(self):
     course_run_1, curriculum_1 = self._create_single_course_curriculum(
         'colliding-key', 'curriculum_1')
     course_run_2 = factories.CourseRunFactory(external_key='colliding-key')
     message = _duplicate_external_key_message([course_run_1])
     with self.assertNumQueries(2):
         with self.assertRaisesRegex(ValidationError, escape(message)):
             factories.CurriculumCourseMembershipFactory(
                 course=course_run_2.course,
                 curriculum=curriculum_1,
             )
Exemplo n.º 3
0
 def test_create_curriculum_course_membership(self, curriculum_id):
     new_course_run = factories.CourseRunFactory(
         external_key='ext-key-course-1a'
     )
     new_course = new_course_run.course
     course_run_1a = CourseRun.objects.get(key='course-run-id/course-1a/test')
     message = _duplicate_external_key_message([course_run_1a])
     with self.assertNumQueries(2):
         with self.assertRaisesRegex(ValidationError, escape(message)):
             factories.CurriculumCourseMembershipFactory(
                 course=new_course,
                 curriculum=self.curriculums[curriculum_id],
             )
Exemplo n.º 4
0
 def _create_single_course_curriculum(external_key, curriculum_name,):
     course_run = factories.CourseRunFactory(
         external_key=external_key
     )
     curriculum = factories.CurriculumFactory(
         name=curriculum_name,
         program=None,
     )
     factories.CurriculumCourseMembershipFactory(
         course=course_run.course,
         curriculum=curriculum,
     )
     return course_run, curriculum
Exemplo n.º 5
0
 def setUp(self):
     self.course_runs = factories.CourseRunFactory.create_batch(3)
     self.course = self.course_runs[0].course
     self.course_run = self.course_runs[0]
     self.program_type = ProgramType.objects.get(slug='masters')
     self.partner = factories.PartnerFactory()
     self.degree = factories.DegreeFactory(courses=[self.course],
                                           type=self.program_type,
                                           partner=self.partner)
     self.currency = Currency.objects.get(code='USD')
     self.curriculum = Curriculum.objects.create(program=self.degree,
                                                 uuid=uuid.uuid4())
     self.curriculum_course = factories.CurriculumCourseMembershipFactory(
         curriculum=self.curriculum, course=self.course)
Exemplo n.º 6
0
 def _add_courses_to_curriculum(curriculum, *courses):
     for course in courses:
         factories.CurriculumCourseMembershipFactory(
             course=course,
             curriculum=curriculum
         )