public function testSetLevels() { $scale = new Scale(); $scale->setLevels(new ArrayCollection([$this->makeLevel('A', 1), $this->makeLevel('B', 2)])); $scale->setLevels(new ArrayCollection([$this->makeLevel('A', 1), $this->makeLevel('B', 2), $this->makeLevel('C', 3)])); $this->assertEquals(3, $scale->getLevels()->count()); }
/** * Creates a default scale if no scale exists yet. */ public function ensureHasScale() { if (!$this->hasScales()) { $defaultScale = new Scale(); $defaultScale->setName($this->translator->trans('scale.default_name', [], 'competency')); $defaultLevel = new Level(); $defaultLevel->setValue(0); $defaultLevel->setName($this->translator->trans('scale.default_level_name', [], 'competency')); $defaultScale->setLevels(new ArrayCollection([$defaultLevel])); $this->om->persist($defaultScale); $this->om->flush(); } }