diff --git a/mod/quiz/renderer.php b/mod/quiz/renderer.php index 395d3f07e82..b96a98bef85 100644 --- a/mod/quiz/renderer.php +++ b/mod/quiz/renderer.php @@ -1082,6 +1082,8 @@ class mod_quiz_renderer extends plugin_renderer_base { $table->head = array(); $table->align = array(); $table->size = array(); + $table->caption = get_string('summaryofattempts', 'quiz'); + $table->captionhide = true; if ($viewobj->attemptcolumn) { $table->head[] = get_string('attemptnumber', 'quiz'); $table->align[] = 'center'; diff --git a/mod/quiz/tests/attempt_test.php b/mod/quiz/tests/attempt_test.php index ee8884fb728..f321ea5db92 100644 --- a/mod/quiz/tests/attempt_test.php +++ b/mod/quiz/tests/attempt_test.php @@ -507,4 +507,56 @@ class attempt_test extends \advanced_testcase { $this->expectExceptionObject(new \moodle_exception('questiondraftonly', 'mod_quiz', '', $question->name)); quiz_start_attempt_built_on_last($quba, $newattempt, $attempt); } + + /** + * Starting a new attempt and check the summary previous attempts table. + * + * @covers ::view_table() + */ + public function test_view_table(): void { + global $PAGE; + $this->resetAfterTest(); + + $timenow = time(); + // Create attempt object. + $attempt = $this->create_quiz_and_attempt_with_layout('1,1,0'); + // Finish attempt. + $attempt->process_finish($timenow, false); + + $quiz = $attempt->get_quiz(); + $context = $attempt->get_quizobj()->get_context(); + + // Prepare view object. + $viewobj = new \mod_quiz_view_object(); + $viewobj->attemptcolumn = true; + $viewobj->markcolumn = true; + $viewobj->gradecolumn = true; + $viewobj->canreviewmine = true; + $viewobj->mygrade = 0.00; + $viewobj->feedbackcolumn = false; + $viewobj->attempts = $attempt; + $viewobj->attemptobjs[] = new quiz_attempt($attempt->get_attempt(), + $quiz, $attempt->get_cm(), $attempt->get_course(), false); + $viewobj->accessmanager = new \quiz_access_manager($attempt->get_quizobj(), $timenow, + has_capability('mod/quiz:ignoretimelimits', $context, null, false)); + + // Render summary previous attempts table. + $renderer = $PAGE->get_renderer('mod_quiz'); + $table = $renderer->view_table($quiz, $context, $viewobj); + $captionpattern = '/