public function addGroup($websiteId, $name, $rootCategoryId) { if (!Mage::helper('M2ePro/Magento_Store_Website')->isExists($websiteId)) { $error = Mage::helper('M2ePro')->__('Website with id %value% does not exist.', (int) $websiteId); throw new Exception($error); } $group = new Mage_Core_Model_Store_Group(); $group->setId(null); $group->setName($name); $group->setWebsiteId($websiteId); $group->setWebsite(Mage::app()->getWebsite($websiteId)); if (isset($rootCategoryId)) { $category = Mage::getModel('catalog/category')->load($rootCategoryId); if (!$category->hasEntityId()) { $error = Mage::helper('M2ePro')->__('Category with %category_id% doen\'t exist', $rootCategoryId); throw new Exception($error); } if ((int) $category->getLevel() !== 1) { $error = Mage::helper('M2ePro')->__('Category of level 1 must be provided.'); throw new Exception($error); } $group->setRootCategoryId($rootCategoryId); } $group->save(); return $group; }
public function testSaveDelete() { $first = new Mage_Core_Model_Store_Group(); $first->setData(array('website_id' => 1, 'name' => 'test 1', 'root_category_id' => 1, 'default_store_id' => 1)); $second = new Mage_Core_Model_Store_Group(); $second->setData(array('website_id' => 1, 'name' => 'test 2', 'root_category_id' => 1, 'default_store_id' => 1)); $first->save(); $this->_model->addObject($first)->addObject($second, 'second'); $this->_model->save(); $this->assertNotEmpty($first->getId()); $this->assertNotEmpty($second->getId()); Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID); $this->_model->delete(); $test = new Mage_Core_Model_Store_Group(); $test->load($first->getId()); $this->assertEmpty($test->getId()); }