public function testCreateAndGetProductById() { Yii::app()->user->userModel = User::getByUsername('super'); $contacts = Contact::getAll(); $accounts = Account::getByName('superAccount'); $opportunities = Opportunity::getByName('superOpportunity'); $productTemplates = ProductTemplate::getByName('superProductTemplate'); $account = $accounts[0]; $user = $account->owner; $product = new Product(); $product->name = 'Product 1'; $product->owner = $user; $product->description = 'Description'; $product->quantity = 2; $product->stage->value = 'Open'; $product->account = $accounts[0]; $product->contact = $contacts[0]; $product->opportunity = $opportunities[0]; $product->productTemplate = $productTemplates[0]; $product->priceFrequency = ProductTemplate::PRICE_FREQUENCY_ONE_TIME; $product->sellPrice->value = 200; $product->type = ProductTemplate::TYPE_PRODUCT; $this->assertTrue($product->save()); $id = $product->id; $product->forget(); unset($product); $product = Product::getById($id); $this->assertEquals('Product 1', $product->name); $this->assertEquals(2, $product->quantity); $this->assertEquals('Description', $product->description); $this->assertEquals('Open', $product->stage->value); $this->assertEquals($user->id, $product->owner->id); $this->assertTrue($product->contact->isSame($contacts[0])); $this->assertTrue($product->account->isSame($accounts[0])); $this->assertTrue($product->opportunity->isSame($opportunities[0])); $this->assertTrue($product->productTemplate->isSame($productTemplates[0])); $this->assertEquals(ProductTemplate::PRICE_FREQUENCY_ONE_TIME, $product->priceFrequency); $this->assertEquals(200, $product->sellPrice->value); $this->assertEquals(ProductTemplate::TYPE_PRODUCT, $product->type); }