public function testResolveProductTemplateHasManyProductCategoriesFromPost() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $category1 = ProductCategoryTestHelper::createProductCategoryByName('Test Product Category'); $category2 = ProductCategoryTestHelper::createProductCategoryByName('Test Product Category2'); $productTemplate = ProductTemplateTestHelper::createProductTemplateByName('PT1'); $postData = array('categoryIds' => $category1->id . ',' . $category2->id); // Not Coding Standard $id = $productTemplate->id; $productTemplate->forget(); unset($productTemplate); $productTemplate = ProductTemplate::getById($id); $categories = ProductTemplateProductCategoriesUtil::resolveProductTemplateHasManyProductCategoriesFromPost($productTemplate, $postData); $this->assertEquals(count($categories), 2); $this->assertEquals($categories[$category1->id]->id, $category1->id); }
public function testSuperUserDeleteAction() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); Yii::app()->user->userModel = $super; $productCategory = ProductCategoryTestHelper::createProductCategoryByName("My New Category"); //Delete a product template $this->setGetArray(array('id' => $productCategory->id)); $this->resetPostArray(); $productCategories = ProductCategory::getAll(); $this->assertEquals(14, count($productCategories)); $this->runControllerWithRedirectExceptionAndGetContent('productTemplates/category/delete'); $productCategories = ProductCategory::getAll(); $this->assertEquals(13, count($productCategories)); try { ProductCategory::getById($productCategory->id); $this->fail(); } catch (NotFoundException $e) { //success } }
public function testProductTemplateCategories() { $user = UserTestHelper::createBasicUser('Steven 2'); $product = ProductTestHelper::createProductByNameForOwner('Product 1', $user); $productTemplate = ProductTemplateTestHelper::createProductTemplateByVariables($product, ProductTemplate::PRICE_FREQUENCY_ONE_TIME, ProductTemplate::TYPE_PRODUCT, ProductTemplate::STATUS_ACTIVE, SellPriceFormula::TYPE_EDITABLE); $productCategory = ProductCategoryTestHelper::createProductCategoryByName("Test Category"); $productCategoryII = ProductCategoryTestHelper::createProductCategoryByName("Test CategoryII"); $productTemplate->productCategories->add($productCategory); $productTemplate->productCategories->add($productCategoryII); $this->assertTrue($productTemplate->save()); $id = $productTemplate->id; $productTemplate->forget(); unset($productTemplate); $productTemplate = ProductTemplate::getById($id); $this->assertEquals($productCategory, $productTemplate->productCategories[0]); $this->assertEquals($productCategoryII, $productTemplate->productCategories[1]); }
public function testSuperUserCreateProductFromProductTemplateControllerAction() { $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super'); $products = Product::getAll(); $this->assertEquals(1, count($products)); $superProductTemplateId = self::getModelIdByModelNameAndName('ProductTemplate', 'My Product Template'); $productTemplate = ProductTemplate::getById($superProductTemplateId); $productCategory = ProductCategoryTestHelper::createProductCategoryByName("Test Category"); $productCategoryII = ProductCategoryTestHelper::createProductCategoryByName("Test CategoryII"); $productTemplate->productCategories->add($productCategory); $productTemplate->productCategories->add($productCategoryII); $productTemplate->save(); $superProductTemplateId = $productTemplate->id; $productTemplate->forget(); unset($productTemplate); $accountId = self::getModelIdByModelNameAndName('Account', 'superAccount'); $this->setGetArray(array('relationModuleId' => 'accounts', 'portletId' => '1', 'uniqueLayoutId' => 'AccountDetailsAndRelationsView_1', 'id' => $superProductTemplateId, 'relationModelId' => $accountId, 'relationAttributeName' => 'account', 'relationModelClassName' => 'Account', 'redirect' => '0')); $this->runControllerWithNoExceptionsAndGetContent('products/default/createProductFromProductTemplate', true); $products = Product::getAll(); $this->assertEquals(2, count($products)); $latestProduct = $products[1]; $productSavedCategory = $latestProduct->productCategories[0]; $productSavedCategoryII = $latestProduct->productCategories[1]; $this->assertEquals('Test Category', $productSavedCategory->name); $this->assertEquals('Test CategoryII', $productSavedCategoryII->name); $this->assertEquals('My Product Template', $latestProduct->name); $this->assertEquals(500.54, $latestProduct->sellPrice->value); //When created from contact should copy the contact account to product $contactId = self::getModelIdByModelNameAndName('Contact', 'superContact superContactson'); $this->setGetArray(array('relationModuleId' => 'accounts', 'portletId' => '1', 'uniqueLayoutId' => 'ContactDetailsAndRelationsView_1', 'id' => $superProductTemplateId, 'relationModelId' => $contactId, 'relationAttributeName' => 'contact', 'relationModelClassName' => 'Contact', 'redirect' => '0')); $this->runControllerWithNoExceptionsAndGetContent('products/default/createProductFromProductTemplate', true); $products = Product::getAll(); $this->assertEquals(3, count($products)); $latestProduct = $products[2]; $this->assertEquals($accountId, $latestProduct->account->id); }