MDL-53451 competency: Fix tests failing due to context changes
authorFrederic Massart <fred@moodle.com>
Mon, 18 Apr 2016 03:34:46 +0000 (11:34 +0800)
committerFrederic Massart <fred@moodle.com>
Mon, 18 Apr 2016 03:34:46 +0000 (11:34 +0800)
competency/tests/external_test.php
competency/tests/generator/lib.php

index 5b08c9f..287ae50 100644 (file)
@@ -742,9 +742,9 @@ class core_competency_external_testcase extends externallib_advanced_testcase {
      */
     public function test_create_competency_with_read_permissions() {
         $this->setExpectedException('required_capability_exception');
-        $framework = $this->create_competency_framework(1, true);
+        $framework = $this->getDataGenerator()->get_plugin_generator('core_competency')->create_framework();
         $this->setUser($this->user);
-        $competency = $this->create_competency(1, $framework->id);
+        $competency = $this->create_competency(1, $framework->get_id());
     }
 
     /**
@@ -1747,6 +1747,9 @@ class core_competency_external_testcase extends externallib_advanced_testcase {
      */
     public function test_get_scale_values() {
         global $DB;
+
+        $this->setUser($this->creator);
+
         // Create a scale.
         $record = new stdClass();
         $record->courseid = 0;
index 2137ca6..4006825 100644 (file)
@@ -41,8 +41,12 @@ use core_competency\user_competency_plan;
 use core_competency\user_evidence;
 use core_competency\user_evidence_competency;
 
+
 defined('MOODLE_INTERNAL') || die();
 
+global $CFG;
+require_once($CFG->libdir . '/grade/grade_scale.php');
+
 /**
  * Competency data generator class.
  *
@@ -159,7 +163,12 @@ class core_competency_generator extends component_generator_base {
             $record->scaleid = $this->scale->id;
         }
         if (!isset($record->scaleconfiguration)) {
-            $values = external::get_scale_values($record->scaleid);
+            $scale = grade_scale::fetch(array('id' => $record->scaleid));
+            $values = $scale->load_items();
+            foreach ($values as $key => $value) {
+                // Add a key (make the first value 1).
+                $values[$key] = array('id' => $key + 1, 'name' => $value);
+            }
             if (count($values) < 2) {
                 throw new coding_exception('Please provide the scale configuration for one-item scales.');
             }