mirror of
https://github.com/moodle/moodle.git
synced 2025-08-07 18:06:51 +02:00
MDL-31405 Assignment: Fixed date in reset to be called for every assignment
This commit is contained in:
parent
f8eff10319
commit
e63515ba93
5 changed files with 56 additions and 9 deletions
|
@ -742,7 +742,7 @@ class assign {
|
|||
shift_course_mod_dates('assign',
|
||||
array('duedate', 'allowsubmissionsfromdate', 'cutoffdate'),
|
||||
$data->timeshift,
|
||||
$data->courseid);
|
||||
$data->courseid, $this->get_instance()->id);
|
||||
$status[] = array('component'=>$componentstr,
|
||||
'item'=>get_string('datechanged'),
|
||||
'error'=>false);
|
||||
|
|
|
@ -250,6 +250,34 @@ class mod_assign_locallib_testcase extends mod_assign_base_testcase {
|
|||
// Reload the instance data.
|
||||
$instance = $DB->get_record('assign', array('id'=>$assign->get_instance()->id));
|
||||
$this->assertEquals($now + 24*60*60, $instance->duedate);
|
||||
|
||||
// Test reset using assign_reset_userdata().
|
||||
$assignduedate = $instance->duedate; // Keep old updated value for comparison.
|
||||
$data->timeshift = 2*24*60*60;
|
||||
assign_reset_userdata($data);
|
||||
$instance = $DB->get_record('assign', array('id' => $assign->get_instance()->id));
|
||||
$this->assertEquals($assignduedate + 2*24*60*60, $instance->duedate);
|
||||
|
||||
// Create one more assignment and reset, make sure time shifted for previous assignment is not changed.
|
||||
$assign2 = $this->create_instance(array('assignsubmission_onlinetext_enabled' => 1,
|
||||
'duedate' => $now));
|
||||
$assignduedate = $instance->duedate;
|
||||
$data->timeshift = 3*24*60*60;
|
||||
$assign2->reset_userdata($data);
|
||||
$instance = $DB->get_record('assign', array('id' => $assign->get_instance()->id));
|
||||
$this->assertEquals($assignduedate, $instance->duedate);
|
||||
$instance2 = $DB->get_record('assign', array('id' => $assign2->get_instance()->id));
|
||||
$this->assertEquals($now + 3*24*60*60, $instance2->duedate);
|
||||
|
||||
// Reset both assignments using assign_reset_userdata() and make sure both assignments have same date.
|
||||
$assignduedate = $instance->duedate;
|
||||
$assign2duedate = $instance2->duedate;
|
||||
$data->timeshift = 4*24*60*60;
|
||||
assign_reset_userdata($data);
|
||||
$instance = $DB->get_record('assign', array('id' => $assign->get_instance()->id));
|
||||
$this->assertEquals($assignduedate + 4*24*60*60, $instance->duedate);
|
||||
$instance2 = $DB->get_record('assign', array('id' => $assign2->get_instance()->id));
|
||||
$this->assertEquals($assign2duedate + 4*24*60*60, $instance2->duedate);
|
||||
}
|
||||
|
||||
public function test_plugin_settings() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue