public static function createProductCategoryByName($name, $parentCategory = null) { $productCategory = new ProductCategory(); $productCategory->name = $name; $productCatalog = new ProductCatalog(); $productCatalog->name = ProductCatalog::DEFAULT_NAME; $productCatalog->save(); $productCategory->productCatalogs->add($productCatalog); $saved = $productCategory->save(); if ($parentCategory != null) { $productCategory->productCategories->add($parentCategory); } assert('$saved'); return $productCategory; }
public function testCreateAndGetProductCategoryById() { $user = UserTestHelper::createBasicUser('Steven'); $productCategory = new ProductCategory(); $productCategory->name = "My Test Category"; $productCatalog = new ProductCatalog(); $productCatalog->name = ProductCatalog::DEFAULT_NAME; $productCatalog->save(); $productCategory->productCatalogs->add($productCatalog); $this->assertTrue($productCategory->save()); $id = $productCategory->id; $productCategory->forget(); unset($productCategory); $productCategory = ProductCategory::getById($id); $this->assertEquals('My Test Category', $productCategory->name); $this->assertEquals(ProductCatalog::DEFAULT_NAME, $productCategory->productCatalogs[0]->name); }
/** * @param string $name * @return string */ public static function resolveAndGetByName($name) { assert('is_string($name)'); assert('$name != ""'); try { $catalog = self::getByName($name); } catch (NotFoundException $e) { if ($name == self::DEFAULT_NAME) { $catalog = new ProductCatalog(); $catalog->name = self::DEFAULT_NAME; $saved = $catalog->save(); assert('$saved'); } else { throw new NotFoundException(); } } return $catalog; }