protected function getTestGroup() { $group = new XLite\Module\CDev\ProductOptions\Model\OptionGroup(); $group->setProduct($this->getProduct()); $this->getProduct()->addOptionGroups($group); $group->map($this->testGroup); $option = new XLite\Module\CDev\ProductOptions\Model\Option(); $option->setGroup($group); $group->addOptions($option); $option->map($this->testOption); $option = new XLite\Module\CDev\ProductOptions\Model\Option(); $option->setGroup($group); $group->addOptions($option); $option->map($this->testOption); $option->setName('o2'); $option = new XLite\Module\CDev\ProductOptions\Model\Option(); $option->setGroup($group); $group->addOptions($option); $option->map($this->testOption); $option->setName('o3'); $s = new XLite\Module\CDev\ProductOptions\Model\OptionSurcharge(); $s->setOption($option); $s->setType('price'); $s->setModifier(10); $s->setModifierType('$'); $option->addSurcharges($s); $e = new XLite\Module\CDev\ProductOptions\Model\OptionException(); $e->setOption($option); $e->setExceptionId(\XLite\Core\Database::getRepo('XLite\\Module\\CDev\\ProductOptions\\Model\\OptionException')->getNextExceptionId()); $option->addExceptions($e); \XLite\Core\Database::getEM()->persist($group); \XLite\Core\Database::getEM()->flush(); return $group; }