MDL-58087 core_calendar: Unit tests now jam with new vault behaviour

Some unit tests needed to be updated to specify a few extra
bits and pieces on the events to work properly with the
new event vault behaviour.

Part of MDL-55611 epic.
This commit is contained in:
Cameron Ball
2017-04-04 11:01:41 +01:00
committed by Dan Poltawski
parent 258a570563
commit bd01fd15d4
6 changed files with 78 additions and 43 deletions
+10 -6
View File
@@ -81,9 +81,13 @@ class core_calendar_api_testcase extends advanced_testcase {
*/
public function test_get_events_with_disabled_module() {
global $DB;
$this->setAdminUser();
$generator = $this->getDataGenerator();
$course = $generator->create_course();
$assigngenerator = $this->getDataGenerator()->get_plugin_generator('mod_assign');
$assigninstance = $assigngenerator->create_instance(['course' => $course->id]);
$lessongenerator = $this->getDataGenerator()->get_plugin_generator('mod_lesson');
$lessoninstance = $lessongenerator->create_instance(['course' => $course->id]);
$student = $generator->create_user();
$generator->enrol_user($student->id, $course->id, 'student');
$this->setUser($student);
@@ -96,7 +100,7 @@ class core_calendar_api_testcase extends advanced_testcase {
'groupid' => 0,
'userid' => 2,
'modulename' => 'assign',
'instance' => 1,
'instance' => $assigninstance->id,
'eventtype' => 'due',
'timestart' => time(),
'timeduration' => 86400,
@@ -109,7 +113,7 @@ class core_calendar_api_testcase extends advanced_testcase {
'groupid' => 0,
'userid' => 2,
'modulename' => 'lesson',
'instance' => 1,
'instance' => $lessoninstance->id,
'eventtype' => 'end',
'timestart' => time(),
'timeduration' => 86400,
@@ -269,7 +273,7 @@ class core_calendar_api_testcase extends advanced_testcase {
'courseid' => SITEID,
'groupid' => 0,
'userid' => 2,
'repeatid' => 1,
'repeatid' => $event->id,
'modulename' => '0',
'instance' => 0,
'eventtype' => 'site',
@@ -284,7 +288,7 @@ class core_calendar_api_testcase extends advanced_testcase {
'courseid' => SITEID,
'groupid' => 0,
'userid' => 2,
'repeatid' => 1,
'repeatid' => $event->id,
'modulename' => '0',
'instance' => 0,
'eventtype' => 'site',
@@ -414,7 +418,7 @@ class core_calendar_api_testcase extends advanced_testcase {
'courseid' => $course->id,
'modulename' => 'assign',
'instance' => $moduleinstance->id,
'userid' => 1,
'userid' => $user->id,
'eventtype' => 'user',
'repeats' => 0,
'timestart' => 1,
+2 -1
View File
@@ -210,6 +210,7 @@ class core_calendar_container_testcase extends advanced_testcase {
$event->timemodified = time();
$event->timeduration = 0;
$event->subscriptionid = null;
$event->repeatid = 0;
$legacyevent = $this->create_event($event);
// Update the id of the event that was created.
@@ -276,7 +277,7 @@ class core_calendar_container_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => 1,
'repeatid' => 0,
'modulename' => 'assign',
'instance' => 2,
'eventtype' => 'due',
+16 -8
View File
@@ -115,10 +115,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => 1,
'repeatid' => 0,
'modulename' => 'assign',
'instance' => 1,
'eventtype' => 'due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 12,
'timemodified' => 123456789,
@@ -163,10 +164,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => 1,
'repeatid' => 0,
'modulename' => 'assign',
'instance' => 1,
'eventtype' => 'due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 12,
'timemodified' => 123456789,
@@ -211,10 +213,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => 1,
'repeatid' => 0,
'modulename' => 'assign',
'instance' => 1,
'eventtype' => 'due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 12,
'timemodified' => 123456789,
@@ -258,10 +261,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => $course->id,
'groupid' => 1,
'userid' => 1,
'repeatid' => 1,
'repeatid' => 0,
'modulename' => 'assign',
'instance' => 1,
'eventtype' => 'due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 12,
'timemodified' => 123456789,
@@ -311,10 +315,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => $course->id,
'groupid' => 1,
'userid' => 1,
'repeatid' => 1,
'repeatid' => 0,
'modulename' => 'assign',
'instance' => $assigninstance->id,
'eventtype' => 'due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 12,
'timemodified' => 123456789,
@@ -343,10 +348,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => null,
'repeatid' => 0,
'modulename' => 'Test module',
'instance' => 1,
'eventtype' => 'Due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 123456789,
'timemodified' => 123456789,
@@ -375,10 +381,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => null,
'repeatid' => 0,
'modulename' => 'Test module',
'instance' => 1,
'eventtype' => 'Due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 123456789,
'timemodified' => 123456789,
@@ -407,10 +414,11 @@ class core_calendar_event_factory_testcase extends advanced_testcase {
'courseid' => 1,
'groupid' => 1,
'userid' => 1,
'repeatid' => null,
'repeatid' => 0,
'modulename' => 'Test module',
'instance' => 1,
'eventtype' => 'Due',
'type' => CALENDAR_EVENT_TYPE_ACTION,
'timestart' => 123456789,
'timeduration' => 123456789,
'timemodified' => 123456789,
+45 -24
View File
@@ -28,6 +28,7 @@ global $CFG;
require_once($CFG->dirroot . '/calendar/tests/helpers.php');
use core_calendar\local\event\data_access\event_vault;
use core_calendar\local\event\strategies\raw_event_retrieval_strategy;
/**
* This file contains the class that handles testing of the calendar event vault.
@@ -44,11 +45,13 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
*/
public function test_get_action_events_by_timesort_after_time() {
$this->resetAfterTest(true);
$this->setAdminuser();
$user = $this->getDataGenerator()->create_user();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->setUser($user);
for ($i = 1; $i < 6; $i++) {
create_event([
@@ -87,7 +90,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$user = $this->getDataGenerator()->create_user();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
for ($i = 1; $i < 6; $i++) {
create_event([
@@ -95,7 +99,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -126,7 +131,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$user = $this->getDataGenerator()->create_user();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
for ($i = 1; $i < 6; $i++) {
create_event([
@@ -134,7 +140,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -162,7 +169,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$user = $this->getDataGenerator()->create_user();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$records = [];
for ($i = 1; $i < 21; $i++) {
@@ -171,7 +179,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -201,7 +210,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$factory = new action_event_test_factory(function($actionevent) {
return ($actionevent->get_id() % 2) ? false : true;
});
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
for ($i = 1; $i < 41; $i++) {
create_event([
@@ -209,7 +219,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -255,7 +266,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
return true;
}
});
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
for ($i = 1; $i < 21; $i++) {
create_event([
@@ -263,7 +275,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -289,7 +302,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$user = $this->getDataGenerator()->create_user();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
/**
* The events should be ordered by timesort as follows:
@@ -322,7 +336,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -332,7 +347,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
'eventtype' => 'user',
'userid' => $user->id,
'timesort' => $i,
'type' => CALENDAR_EVENT_TYPE_ACTION
'type' => CALENDAR_EVENT_TYPE_ACTION,
'courseid' => 1
]);
}
@@ -396,7 +412,6 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
// value larger than the upper boundary of this query (9 > 8). Confirm
// that the given $afterevent is used for filtering events.
$events = $vault->get_action_events_by_timesort($user, 3, 8, $afterevent);
$this->assertEmpty($events);
}
@@ -409,7 +424,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->resetAfterTest(true);
$this->setAdminuser();
@@ -439,7 +455,6 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
}
$events = $vault->get_action_events_by_course($user, $course1, 3);
$this->assertCount(3, $events);
$this->assertEquals('Event 3', $events[0]->get_name());
$this->assertEquals('Event 4', $events[1]->get_name());
@@ -464,7 +479,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->resetAfterTest(true);
$this->setAdminuser();
@@ -519,7 +535,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->resetAfterTest(true);
$this->setAdminuser();
@@ -571,7 +588,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$records = [];
$this->resetAfterTest(true);
@@ -626,7 +644,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$factory = new action_event_test_factory(function($actionevent) {
return ($actionevent->get_id() % 2) ? false : true;
});
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->resetAfterTest(true);
$this->setAdminuser();
@@ -696,7 +715,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
return true;
}
});
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->resetAfterTest(true);
$this->setAdminuser();
@@ -749,7 +769,8 @@ class core_calendar_event_vault_testcase extends advanced_testcase {
$course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$factory = new action_event_test_factory();
$vault = new event_vault($factory);
$strategy = new raw_event_retrieval_strategy();
$vault = new event_vault($factory, $strategy);
$this->setAdminuser();
$this->getDataGenerator()->enrol_user($user->id, $course1->id);
+3 -2
View File
@@ -32,12 +32,13 @@ use core_calendar\local\data_access\event_vault;
use core_calendar\local\event\entities\action_event;
use core_calendar\local\event\entities\event;
use core_calendar\local\event\entities\repeat_event_collection;
use core_calendar\local\event\proxies\std_proxy;
use core_calendar\local\event\value_objects\action;
use core_calendar\local\event\value_objects\event_course_module;
use core_calendar\local\event\value_objects\event_description;
use core_calendar\local\event\value_objects\event_times;
use core_calendar\local\event\value_objects\event_course_module;
use core_calendar\local\event\proxies\std_proxy;
use core_calendar\local\interfaces\event_factory_interface;
use core_calendar\local\interfaces\raw_event_retrieval_strategy_interface;
/**
* Create a calendar event with the given properties.
@@ -85,7 +85,7 @@ class core_calendar_raw_event_retrieval_strategy_testcase extends advanced_testc
}
// Get all events.
$events = $retrievalstrategy->get_raw_events(true, 0, true, null, null, null, null);
$events = $retrievalstrategy->get_raw_events(null, [0], null);
$this->assertCount(2, $events);
// Disable the lesson module.
@@ -94,7 +94,7 @@ class core_calendar_raw_event_retrieval_strategy_testcase extends advanced_testc
$DB->update_record('modules', $modulerecord);
// Check that we only return the assign event.
$events = $retrievalstrategy->get_raw_events(true, 0, true, null, null, null, null);
$events = $retrievalstrategy->get_raw_events(null, [0], null);
$this->assertCount(1, $events);
$event = reset($events);
$this->assertEquals('assign', $event->modulename);