/** * @param object $model * @param attay $explicitReadWriteModelPermissions */ protected function afterSetAttributesDuringSave($model, $explicitReadWriteModelPermissions) { assert('$model instanceof Product'); $postData = PostUtil::getData(); if (isset($postData[$this->productCategoryFormName])) { $this->peopleAddedAsProductCategories = ProductCategoriesUtil::resolveProductHasManyProductCategoriesFromPost($model, $postData[$this->productCategoryFormName]); } }
public function testResolveProductHasManyProductCategoriesFromPost() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $category1 = ProductCategoryTestHelper::createProductCategoryByName('Test Product Category'); $category2 = ProductCategoryTestHelper::createProductCategoryByName('Test Product Category2'); $product = ProductTestHelper::createProductByNameForOwner('I am testing products', $super); $postData = array('categoryIds' => $category1->id . ',' . $category2->id); // Not Coding Standard $id = $product->id; $product->forget(); unset($product); $product = Product::getById($id); $categories = ProductCategoriesUtil::resolveProductHasManyProductCategoriesFromPost($product, $postData); $this->assertEquals(count($categories), 2); $this->assertEquals($categories[$category1->id]->id, $category1->id); }