MDL-52064 cbe: Fixes for unit tests.

There were some real failures that the unit tests caught.
This commit is contained in:
Damyon Wiese 2015-11-16 15:29:16 +08:00 committed by Frederic Massart
parent 5db5c22c15
commit 0267097956
3 changed files with 29 additions and 28 deletions

View file

@ -40,6 +40,7 @@ use invalid_parameter_exception;
use grade_scale;
use tool_lp\external\competency_framework_exporter;
use tool_lp\external\user_competency_exporter;
use tool_lp\external\user_competency_plan_exporter;
use tool_lp\external\competency_exporter;
use tool_lp\external\plan_exporter;
use tool_lp\external\template_exporter;
@ -3956,10 +3957,11 @@ class external extends external_api {
$scalecache = array();
foreach ($result as $key => $r) {
$r->competency = null;
$r->usercompetency = null;
if (!isset($scalecache[$r->competency->get_competencyframeworkid()])) {
$scalecache[$r->competency->get_competencyframeworkid()] = $r->competency->get_framework()->get_scale();
}
$scale = $scalecache[$r->competency->get_competencyframeworkid()];
if ($plan->get_status() == plan::STATUS_COMPLETE) {
if (!isset($contextcache[$r->competency->get_competencyframeworkid()])) {
$contextcache[$r->competency->get_competencyframeworkid()] = $r->competency->get_context();
}
@ -3967,14 +3969,15 @@ class external extends external_api {
$exporter = new competency_exporter($r->competency, array('context' => $context));
$r->competency = $exporter->export($output);
} else {
if (!isset($scalecache[$r->competency->get_competencyframeworkid()])) {
$scalecache[$r->competency->get_competencyframeworkid()] = $r->competency->get_framework()->get_scale();
}
$scale = $scalecache[$r->competency->get_competencyframeworkid()];
if ($r->usercompetency) {
$exporter = new user_competency_exporter($r->usercompetency, array('scale' => $scale));
$r->usercompetency = $exporter->export($output);
unset($r->usercompetencyplan);
} else {
$exporter = new user_competency_plan_exporter($r->usercompetencyplan);
$r->usercompetencyplan = $exporter->export($output);
unset($r->usercompetency);
}
}
return $result;

View file

@ -31,15 +31,10 @@ use renderer_base;
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class user_plan_competency_exporter extends persistent_exporter {
class user_competency_plan_exporter extends persistent_exporter {
protected function get_persistent_class() {
return 'tool_lp\\user_plan_competency';
return 'tool_lp\\user_competency_plan';
}
public function export(renderer_base $output) {
$result = parent::export($output);
$result->statusname = $this->persistent->get_statusname();
return $result;
}
}

View file

@ -1403,9 +1403,10 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$lpg = $this->getDataGenerator()->get_plugin_generator('tool_lp');
$syscontext = context_system::instance();
$onehour = time() + 60*60;
// Create a template.
$template = external::create_template('shortname', time(), 'description', FORMAT_HTML, true,
$template = external::create_template('shortname', $onehour, 'description', FORMAT_HTML, true,
array('contextid' => $syscontext->id));
$template = (object) external_api::clean_returnvalue(external::create_template_returns(), $template);
@ -1445,9 +1446,10 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$this->setUser($this->creator);
$syscontext = context_system::instance();
$onehour = time() + 60*60;
// Create a template.
$template = external::create_template('shortname', time(), 'description', FORMAT_HTML, true,
$template = external::create_template('shortname', $onehour, 'description', FORMAT_HTML, true,
array('contextid' => $syscontext->id));
$template = (object) external_api::clean_returnvalue(external::create_template_returns(), $template);
@ -1507,9 +1509,10 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$this->setUser($this->creator);
$syscontext = context_system::instance();
$onehour = time() + 60*60;
// Create a template.
$template = external::create_template('shortname', time(), 'description', FORMAT_HTML, true,
$template = external::create_template('shortname', $onehour, 'description', FORMAT_HTML, true,
array('contextid' => $syscontext->id));
$template = (object) external_api::clean_returnvalue(external::create_template_returns(), $template);
@ -1774,8 +1777,8 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$result = external_api::clean_returnvalue(external::read_template_returns(), $result);
$this->assertEquals($cattemplate->id, $result['id']);
$this->assertEquals('a', $result['shortname']);
$this->assertEquals('c', $result['description']);
$this->assertEquals(FORMAT_MARKDOWN, $result['descriptionformat']);
$this->assertEquals("<p>c</p>\n", $result['description']);
$this->assertEquals(FORMAT_HTML, $result['descriptionformat']);
$this->assertEquals(0, $result['visible']);
$this->assertEquals($duedateupdated, $result['duedate']);
$this->assertEquals(userdate($duedateupdated), $result['duedateformatted']);
@ -1790,7 +1793,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$this->assertEquals($systemplate->id, $result['id']);
$this->assertEquals('x1', $result['shortname']);
$this->assertEquals('z1', $result['description']);
$this->assertEquals(FORMAT_PLAIN, $result['descriptionformat']);
$this->assertEquals(FORMAT_HTML, $result['descriptionformat']);
$this->assertEquals(0, $result['visible']);
$this->assertEquals($duedateupdated, $result['duedate']);
$this->assertEquals(userdate($duedateupdated), $result['duedateformatted']);
@ -1803,7 +1806,7 @@ class tool_lp_external_testcase extends externallib_advanced_testcase {
$this->assertEquals($cattemplate->id, $result['id']);
$this->assertEquals('x2', $result['shortname']);
$this->assertEquals('z2', $result['description']);
$this->assertEquals(FORMAT_PLAIN, $result['descriptionformat']);
$this->assertEquals(FORMAT_HTML, $result['descriptionformat']);
$this->assertEquals(1, $result['visible']);
$this->assertEquals($duedateupdated, $result['duedate']);
$this->assertEquals(userdate($duedateupdated), $result['duedateformatted']);