def test_course_details_with_enabled_setting(self): """Test that credit eligibility requirements are present in response if the feature flag 'ENABLE_CREDIT_ELIGIBILITY' is enabled. """ # verify that credit eligibility requirements block don't show if the # course is not set as credit course response = self.client.get_html(self.course_details_url) self.assertEqual(response.status_code, 200) self.assertNotContains(response, "Course Credit Requirements") self.assertNotContains(response, "Steps required to earn course credit") # verify that credit eligibility requirements block shows if the # course is set as credit course and it has eligibility requirements credit_course = CreditCourse(course_key=unicode(self.course.id), enabled=True) credit_course.save() self.assertEqual(len(get_credit_requirements(self.course.id)), 0) # test that after publishing course, minimum grade requirement is added listen_for_course_publish(self, self.course.id) self.assertEqual(len(get_credit_requirements(self.course.id)), 1) response = self.client.get_html(self.course_details_url) self.assertEqual(response.status_code, 200) self.assertContains(response, "Course Credit Requirements") self.assertContains(response, "Steps required to earn course credit")
def test_task_adding_requirements_invalid_course(self): """ Test that credit requirements cannot be added for non credit course. """ requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0) listen_for_course_publish(self, self.course.id) requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0)
def test_task_adding_requirements_invalid_course(self): """ Make sure that the receiver correctly fires off the task when invoked by signal """ requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0) listen_for_course_publish(self, self.course.id) requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0)
def test_task_adding_requirements(self): """Test that credit requirements are added properly for credit course. Make sure that the receiver correctly fires off the task when invoked by signal. """ self.add_credit_course(self.course.id) requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0) listen_for_course_publish(self, self.course.id) requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 1)
def test_retry(self): """Test that adding credit requirements is retried when 'InvalidCreditRequirements' exception is raised. Make sure that the receiver correctly fires off the task when invoked by signal """ self.add_credit_course(self.course.id) requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0) listen_for_course_publish(self, self.course.id) requirements = get_credit_requirements(self.course.id) self.assertEqual(len(requirements), 0)
def test_course_details_with_enabled_setting(self): """Test that credit eligibility requirements are present in response if the feature flag 'ENABLE_CREDIT_ELIGIBILITY' is enabled. """ # verify that credit eligibility requirements block don't show if the # course is not set as credit course response = self.client.get_html(self.course_details_url) self.assertEqual(response.status_code, 200) self.assertNotContains(response, "Credit Eligibility Requirements") self.assertNotContains(response, "Steps needed for credit eligibility") # verify that credit eligibility requirements block shows if the # course is set as credit course and it has eligibility requirements credit_course = CreditCourse(course_key=unicode(self.course.id), enabled=True) credit_course.save() self.assertEqual(len(get_credit_requirements(self.course.id)), 0) # test that after publishing course, minimum grade requirement is added listen_for_course_publish(self, self.course.id) self.assertEqual(len(get_credit_requirements(self.course.id)), 1) response = self.client.get_html(self.course_details_url) self.assertEqual(response.status_code, 200)
def test_query_counts(self): self.add_credit_course(self.course.id) self.add_icrv_xblock() with check_mongo_calls(3): listen_for_course_publish(self, self.course.id)