Example #1
0
 public function testBeforeSave()
 {
     $this->specify("ownerId must be set before save number", function ($ownerFixture) {
         /** @var $owner Employee */
         $owner = $this->employees($ownerFixture);
         $model = new Number(['scenario' => 'create']);
         $model->number = '1234567890';
         $model->ownerName = $owner->fullName;
         $model->ownerPost = $owner->post;
         $model->operatorId = $this->operators('operator1')->getPrimaryKey();
         $model->save();
         $this->tester->seeInCollection($model::collectionName(), ['number' => '1234567890', 'ownerId' => $owner->getPrimaryKey()]);
         Number::deleteAll(['number' => '1234567890']);
     }, ['examples' => [['employee1'], ['employee4']]]);
     $this->specify("ownerId must be null if ownerName is empty string", function () {
         $model = $this->numbers('number1');
         /** @var $model Number */
         $model->setScenario('update');
         $model->ownerName = "";
         $model->save();
         $this->tester->seeInCollection($model::collectionName(), ['number' => $model['number'], 'ownerId' => null]);
     });
 }