. defined('MOODLE_INTERNAL') || die(); /** * assign module data generator class * * @package mod_assign * @category test * @copyright 2012 Paul Charsley * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class mod_assign_generator extends testing_module_generator { /** * Create new assign module instance * @param array|stdClass $record * @param array $options (mostly course_module properties) * @return stdClass activity record with extra cmid field */ public function create_instance($record = null, array $options = null) { global $CFG; require_once("$CFG->dirroot/mod/assign/lib.php"); $this->instancecount++; $i = $this->instancecount; $record = (object)(array)$record; $options = (array)$options; if (empty($record->course)) { throw new coding_exception('module generator requires $record->course'); } $defaultsettings = array( 'name' => get_string('pluginname', 'assign').' '.$i, 'intro' => 'Test assign ' . $i, 'introformat' => FORMAT_MOODLE, 'alwaysshowdescription' => 1, 'submissiondrafts' => 1, 'requiresubmissionstatement' => 0, 'sendnotifications' => 0, 'sendlatenotifications' => 0, 'duedate' => 0, 'allowsubmissionsfromdate' => 0, 'grade' => 100, 'cutoffdate' => 0, 'teamsubmission' => 0, 'requireallteammemberssubmit' => 0, 'teamsubmissiongroupingid' => 0, 'blindmarking' => 0, 'cmidnumber' => '' ); foreach ($defaultsettings as $name => $value) { if (!isset($record->{$name})) { $record->{$name} = $value; } } $record->coursemodule = $this->precreate_course_module($record->course, $options); $id = assign_add_instance($record, null); return $this->post_add_instance($id, $record->coursemodule); } }