public function testListFrameworksAsShortArrays()
 {
     $c1 = new Competency();
     $c1->setName('Foo');
     $c1->setDescription('Foo desc');
     $c2 = new Competency();
     $c2->setName('Bar');
     $c2->setDescription('Bar desc');
     $this->competencyRepo->expects($this->once())->method('findBy')->with(['parent' => null])->willReturn([$c1, $c2]);
     $expected = [['id' => null, 'name' => 'Foo', 'description' => 'Foo desc'], ['id' => null, 'name' => 'Bar', 'description' => 'Bar desc']];
     $this->assertEquals($expected, $this->manager->listFrameworks(true));
 }
Ejemplo n.º 2
0
 /**
  * Converts a JSON representation of a competency framework
  * into an entity graph (without persisting it).
  *
  * @param string $jsonFramework
  * @return Competency
  */
 public function convertToEntity($jsonFramework)
 {
     $frameworkData = json_decode($jsonFramework);
     $scaleRepo = $this->om->getRepository('HeVinciCompetencyBundle:Scale');
     if (!($scale = $scaleRepo->findOneBy(['name' => $frameworkData->scale->name]))) {
         $scale = new Scale();
         $scale->setName($frameworkData->scale->name);
         for ($i = 0, $levels = $frameworkData->scale->levels, $max = count($levels); $i < $max; ++$i) {
             $level = new Level();
             $level->setName($levels[$i]);
             $level->setValue($i);
             $level->setScale($scale);
             $scale->addLevel($level);
         }
     }
     $framework = new Competency();
     $framework->setName($frameworkData->name);
     $framework->setDescription($frameworkData->description);
     $framework->setScale($scale);
     return $this->walkJsonNodes($frameworkData, $framework, $scale);
 }