mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 08:56:36 +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.
|
// Get the tool associated with this instance.
|
||||||
return $DB->get_record('enrol_lti_tools', array('enrolid' => $instanceid));
|
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',
|
'datagenerator' => 'tag',
|
||||||
'required' => array('name')
|
'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