/** * IMS docs cannot have an empty start-date if it has a non-zero end-date * @expectedException Exception * @expectedExceptionMessage UAIMS: Course Creation without valid start or end date */ public function test_process_imsdoc_cant_lack_startdate() { global $DB, $CFG; $this->resetAfterTest(true); $xmldoc2 = <<<DOC2 <?xml version="1.0" encoding="utf-8"?> <enterprise xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <group recstatus="1"> <sourcedid> <source>AIS</source> <id>IDNUMBER</id> </sourcedid> <grouptype> <typevalue>Course</typevalue> </grouptype> <description> <short>IDNUMBER</short> <long>Long description2</long> </description> <org /> <timeframe> <end>2430816400</end> </timeframe> <enrollcontrol /> <relationship> <sourcedid> <source>AIS</source> <id>UOFAB-TEST</id> </sourcedid> </relationship> <extension> <settings> <setting>visible</setting> <value>0</value> </settings> <settings> <setting>format</setting> <value>topics</value> </settings> </extension> </group></enterprise> DOC2; $enrol = new enrol_uaims_plugin(); $oldsetting = $enrol->get_config('enableqrvisibilitytoggle'); // Enable updates from UAIMS documents. $enrol->set_config('enableqrvisibilitytoggle', true); $category = new stdClass(); $category->name = "test"; $category->description = "UOFAB-TEST"; $category->idnumber = "UOFAB-TEST"; $category->timemodified = time(); $DB->insert_record('course_categories', $category); // Process missing start date. $enrol->process_imsdoc($xmldoc2); if ($oldsetting) { $enrol->set_config('enableqrvisibilitytoggle', $oldsetting); } }