Пример #1
0
 /**
  * @depends testCreateStageValues
  */
 public function testVariousCurrencyValues()
 {
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     $currencies = Currency::getAll();
     $currencyValue = new CurrencyValue();
     $currencyValue->value = 100;
     $currencyValue->currency = $currencies[0];
     $this->assertEquals('USD', $currencyValue->currency->code);
     $contract = new Contract();
     $contract->owner = $super;
     $contract->name = 'test';
     $contract->amount = $currencyValue;
     $contract->closeDate = '2011-01-01';
     $contract->stage->value = 'Verbal';
     $this->assertEquals(0, $contract->probability);
     $saved = $contract->save();
     $this->assertTrue($saved);
     $this->assertEquals(75, $contract->probability);
     $contract1Id = $contract->id;
     $contract->forget();
     $currencyValue = new CurrencyValue();
     $currencyValue->value = 800;
     $currencyValue->currency = $currencies[0];
     $this->assertEquals('USD', $currencyValue->currency->code);
     $contract = new Contract();
     $contract->owner = $super;
     $contract->name = 'test';
     $contract->amount = $currencyValue;
     $contract->closeDate = '2011-01-01';
     $contract->stage->value = 'Verbal';
     $saved = $contract->save();
     $this->assertTrue($saved);
     $contract2Id = $contract->id;
     $contract->forget();
     $currencyValue->forget();
     //need to forget this to pull the accurate value from the database
     $contract1 = Contract::getById($contract1Id);
     $this->assertEquals(100, $contract1->amount->value);
     $contract2 = Contract::getById($contract2Id);
     $this->assertEquals(800, $contract2->amount->value);
     $contract1->delete();
     $contract2->delete();
 }