Example #1
0
 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);
 }