self.assertEqual(resp.status_code, 200) self.assertContains(resp, "This is an explanation.") self.assertResponseContextAnswerFeedbackCorrectnessEquals(resp, 1) def test_embedded_question_with_markdown(self): markdown = INLINE_MULTI_EMBEDDED_WITH_MARKDOWN resp = self.get_page_sandbox_preview_response(markdown) self.assertEqual(resp.status_code, 200) self.assertSandboxHasValidPage(resp) self.assertContains( resp, '<img src="/course/test-course/media/4124e0c23e369d6709a6' '70398167cb9c2fe52d35/images/classroom.jpeg">', html=True) @unittest.skipUnless(may_run_expensive_tests(), SKIP_EXPENSIVE_TESTS_REASON) class InlineMultiPageUpdateTest(SingleCourseQuizPageTestMixin, TestCase): page_id = "inlinemulti" def setUp(self): super(InlineMultiPageUpdateTest, self).setUp() def test_quiz_inline_not_show_correctness(self): self.start_flow(self.flow_id) with mock.patch("course.flow.get_page_behavior") as mock_get_bhv: mock_get_bhv.side_effect = ( get_page_behavior_not_show_correctness_side_effect) submit_answer_response, _ = ( self.submit_page_answer_by_page_id_and_test(self.page_id,
size=n_in_progress_sessions_per_participation, participation=p, in_progress=True) factories.FlowSessionFactory.create_batch( size=n_ended_sessions_per_participation, participation=p, in_progress=False) all_sessions = models.FlowSession.objects.all() self.all_sessions_count = all_sessions.count() self.in_progress_sessions = list(all_sessions.filter(in_progress=True)) self.ended_sessions = list(all_sessions.filter(in_progress=False)) self.in_progress_sessions_count = len(self.in_progress_sessions) self.ended_sessions_count = len(self.ended_sessions) @unittest.skipUnless(may_run_expensive_tests(), SKIP_EXPENSIVE_TESTS_REASON) class GradesTasksTest(SingleCourseTestMixin, GradesTasksTestSetUpMixin, TaskTestMixin, TestCase): def setUp(self): super(GradesTasksTest, self).setUp() self.create_flow_sessions(self.course) # reset the user_name format sequence self.addCleanup(factories.UserFactory.reset_sequence) # {{{ test expire_in_progress_sessions def test_expire_in_progress_sessions_past_due_only_due_none(self): # grading_rule.due is None expire_in_progress_sessions( self.gopp.course.id, self.gopp.flow_id,