MDL-53313 tool_lp: Add data generators for course module competencies

This commit is contained in:
Frederic Massart
2016-04-18 10:58:55 +08:00
parent d9a0d1fc4a
commit c5e89aa117
2 changed files with 45 additions and 0 deletions
+23
View File
@@ -26,6 +26,7 @@
use tool_lp\competency;
use tool_lp\competency_framework;
use tool_lp\course_competency;
use tool_lp\course_module_competency;
use tool_lp\external;
use tool_lp\plan;
use tool_lp\related_competency;
@@ -442,6 +443,28 @@ class tool_lp_generator extends component_generator_base {
return $cc;
}
/**
* Create a new course module competency.
*
* @param array|stdClass $record
* @return course_module_competency
*/
public function create_course_module_competency($record = null) {
$record = (object) $record;
if (!isset($record->cmid)) {
throw new coding_exception('The cmid value is required.');
}
if (!isset($record->competencyid)) {
throw new coding_exception('The competencyid value is required.');
}
$cc = new course_module_competency(0, $record);
$cc->create();
return $cc;
}
/**
* Create a new user_evidence.
*
+22
View File
@@ -26,6 +26,7 @@
use tool_lp\competency;
use tool_lp\competency_framework;
use tool_lp\course_competency;
use tool_lp\course_module_competency;
use tool_lp\plan;
use tool_lp\related_competency;
use tool_lp\template;
@@ -234,5 +235,26 @@ class tool_lp_generator_testcase extends advanced_testcase {
$this->assertInstanceOf('\tool_lp\course_competency', $rc);
}
public function test_create_course_module_competency() {
$this->resetAfterTest(true);
$lpg = $this->getDataGenerator()->get_plugin_generator('tool_lp');
$course1 = $this->getDataGenerator()->create_course();
$cm1 = $this->getDataGenerator()->create_module('forum', array('course' => $course1->id));
$cm2 = $this->getDataGenerator()->create_module('forum', array('course' => $course1->id));
$framework = $lpg->create_framework();
$c1 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id()));
$c2 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id()));
$c3 = $lpg->create_competency(array('competencyframeworkid' => $framework->get_id()));
$this->assertEquals(0, course_module_competency::count_records());
$rc = $lpg->create_course_module_competency(array('competencyid' => $c1->get_id(), 'cmid' => $cm1->cmid));
$rc = $lpg->create_course_module_competency(array('competencyid' => $c2->get_id(), 'cmid' => $cm1->cmid));
$this->assertEquals(2, course_module_competency::count_records(array('cmid' => $cm1->cmid)));
$this->assertEquals(0, course_module_competency::count_records(array('cmid' => $cm2->cmid)));
$rc = $lpg->create_course_module_competency(array('competencyid' => $c3->get_id(), 'cmid' => $cm2->cmid));
$this->assertEquals(1, course_module_competency::count_records(array('cmid' => $cm2->cmid)));
$this->assertInstanceOf('\tool_lp\course_module_competency', $rc);
}
}