mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
MDL-59890 calendar: Allow event creation in behat
This commit is contained in:
parent
303d649aca
commit
fb3c0fc38b
2 changed files with 64 additions and 0 deletions
|
@ -1103,4 +1103,59 @@ EOD;
|
|||
// Get the tool associated with this instance.
|
||||
return $DB->get_record('enrol_lti_tools', array('enrolid' => $instanceid));
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function used to create an event.
|
||||
*
|
||||
* @param array $data
|
||||
* @return stdClass
|
||||
*/
|
||||
public function create_event($data = []) {
|
||||
global $CFG;
|
||||
|
||||
require_once($CFG->dirroot . '/calendar/lib.php');
|
||||
$record = new \stdClass();
|
||||
$record->name = 'event name';
|
||||
$record->eventtype = 'global';
|
||||
$record->repeat = 0;
|
||||
$record->repeats = 0;
|
||||
$record->timestart = time();
|
||||
$record->timeduration = 0;
|
||||
$record->timesort = 0;
|
||||
$record->eventtype = 'user';
|
||||
$record->courseid = 0;
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
$record->$key = $value;
|
||||
}
|
||||
|
||||
switch ($record->eventtype) {
|
||||
case 'user':
|
||||
unset($record->categoryid);
|
||||
unset($record->courseid);
|
||||
unset($record->groupid);
|
||||
break;
|
||||
case 'group':
|
||||
unset($record->categoryid);
|
||||
break;
|
||||
case 'course':
|
||||
unset($record->categoryid);
|
||||
unset($record->groupid);
|
||||
break;
|
||||
case 'category':
|
||||
unset($record->courseid);
|
||||
unset($record->groupid);
|
||||
break;
|
||||
case 'global':
|
||||
unset($record->categoryid);
|
||||
unset($record->courseid);
|
||||
unset($record->groupid);
|
||||
break;
|
||||
}
|
||||
|
||||
$event = new calendar_event($record);
|
||||
$event->create($record);
|
||||
|
||||
return $event->properties();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -174,6 +174,15 @@ class behat_data_generators extends behat_base {
|
|||
'datagenerator' => 'tag',
|
||||
'required' => array('name')
|
||||
),
|
||||
'events' => array(
|
||||
'datagenerator' => 'event',
|
||||
'required' => array('name', 'eventtype'),
|
||||
'switchids' => array(
|
||||
'user' => 'userid',
|
||||
'course' => 'courseid',
|
||||
'category' => 'categoryid',
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue