Skip to content

Commit

Permalink
MDL-47975 assign: Stop gap fix for random time fails.
Browse files Browse the repository at this point in the history
  • Loading branch information
Damyon Wiese authored and danpoltawski committed Nov 11, 2014
1 parent b0ac83b commit c2dd91b
Showing 1 changed file with 19 additions and 10 deletions.
29 changes: 19 additions & 10 deletions mod/assign/tests/locallib_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -179,9 +179,10 @@ public function test_gradingtable_extension_date_calculation_for_lateness() {
// Setup the assignment.
$this->create_extra_users();
$this->setUser($this->editingteachers[0]);
$time = time();
$assign = $this->create_instance(array(
'assignsubmission_onlinetext_enabled'=>1,
'duedate' => time() - 4 * 24 * 60 * 60,
'duedate' => $time - 4 * 24 * 60 * 60,
));
$PAGE->set_url(new moodle_url('/mod/assign/view.php', array(
'id' => $assign->get_course_module()->id,
Expand All @@ -192,15 +193,17 @@ public function test_gradingtable_extension_date_calculation_for_lateness() {
$gradingtable = new assign_grading_table($assign, 1, '', 0, true);
$output = $assign->get_renderer()->render($gradingtable);
$this->assertContains(get_string('submissionstatus_', 'assign'), $output);
$this->assertContains(get_string('overdue', 'assign', format_time(4*24*60*60)), $output);
$difftime = time() - $time;
$this->assertContains(get_string('overdue', 'assign', format_time(4*24*60*60 + $difftime)), $output);

// Grant an extension that is in the past.
$assign->testable_save_user_extension($this->students[0]->id, time() - 2 * 24 * 60 * 60);
$assign->testable_save_user_extension($this->students[0]->id, $time - 2 * 24 * 60 * 60);
$gradingtable = new assign_grading_table($assign, 1, '', 0, true);
$output = $assign->get_renderer()->render($gradingtable);
$this->assertContains(get_string('submissionstatus_', 'assign'), $output);
$this->assertContains(get_string('userextensiondate', 'assign', userdate(time() - 2*24*60*60)), $output);
$this->assertContains(get_string('overdue', 'assign', format_time(2*24*60*60)), $output);
$this->assertContains(get_string('userextensiondate', 'assign', userdate($time - 2*24*60*60)), $output);
$difftime = time() - $time;
$this->assertContains(get_string('overdue', 'assign', format_time(2*24*60*60 + $difftime)), $output);

// Simulate a submission.
$this->setUser($this->students[0]);
Expand All @@ -213,14 +216,17 @@ public function test_gradingtable_extension_date_calculation_for_lateness() {
'format'=>FORMAT_MOODLE);
$plugin = $assign->get_submission_plugin_by_type('onlinetext');
$plugin->save($submission, $data);
$submittedtime = time();

// Verify output.
$this->setUser($this->editingteachers[0]);
$gradingtable = new assign_grading_table($assign, 1, '', 0, true);
$output = $assign->get_renderer()->render($gradingtable);
$this->assertContains(get_string('submissionstatus_submitted', 'assign'), $output);
$this->assertContains(get_string('userextensiondate', 'assign', userdate(time() - 2*24*60*60)), $output);
$this->assertContains(get_string('submittedlateshort', 'assign', format_time(2*24*60*60)), $output);
$this->assertContains(get_string('userextensiondate', 'assign', userdate($time - 2*24*60*60)), $output);

$difftime = $submittedtime - $time;
$this->assertContains(get_string('submittedlateshort', 'assign', format_time(2*24*60*60 + $difftime)), $output);
}

/**
Expand Down Expand Up @@ -1025,11 +1031,12 @@ public function test_group_submissions_submit_for_marking() {
$this->create_extra_users();
// Now verify group assignments.
$this->setUser($this->editingteachers[0]);
$time = time();
$assign = $this->create_instance(array('teamsubmission'=>1,
'assignsubmission_onlinetext_enabled'=>1,
'submissiondrafts'=>1,
'requireallteammemberssubmit'=>0,
'duedate' => time() - 2*24*60*60));
'duedate' => $time - 2*24*60*60));
$PAGE->set_url(new moodle_url('/mod/assign/view.php', array('id' => $assign->get_course_module()->id)));

$this->setUser($this->extrastudents[0]);
Expand All @@ -1046,7 +1053,8 @@ public function test_group_submissions_submit_for_marking() {
$output = $assign->view_student_summary($this->extrastudents[0], true);
$this->assertContains(get_string('submitassignment', 'assign'), $output);
$this->assertContains(get_string('timeremaining', 'assign'), $output);
$this->assertContains(get_string('overdue', 'assign', format_time(2*24*60*60)), $output);
$difftime = time() - $time;
$this->assertContains(get_string('overdue', 'assign', format_time(2*24*60*60 + $difftime)), $output);

$submission = $assign->get_group_submission($this->extrastudents[0]->id, 0, true);
$submission->status = ASSIGN_SUBMISSION_STATUS_SUBMITTED;
Expand All @@ -1063,7 +1071,8 @@ public function test_group_submissions_submit_for_marking() {

// Check that time remaining is not overdue.
$this->assertContains(get_string('timeremaining', 'assign'), $output);
$this->assertContains(get_string('submittedlate', 'assign', format_time(2*24*60*60)), $output);
$difftime = time() - $time;
$this->assertContains(get_string('submittedlate', 'assign', format_time(2*24*60*60 + $difftime)), $output);

$submission = $assign->get_group_submission($this->extrastudents[self::GROUP_COUNT]->id, 0, true);
$submission->status = ASSIGN_SUBMISSION_STATUS_SUBMITTED;
Expand Down

0 comments on commit c2dd91b

Please sign in to comment.