* User: bill * Date: 26.01.15 * Time: 11:31 */ use app\tests\codeception\_pages\mobile\number\CreatePage; use app\modules\mobile\models\Number; use app\modules\mobile\models\Document; use app\modules\directory\models\Employee; $I = new FunctionalTester($scenario); $I->wantTo("ensure that creation Number model works"); $owner = $I->grabRecord(Employee::className(), ['id' => 1]); $newDocument = 'file1.jpg'; $number = '9876543210'; $I->amGoingTo("prepare database."); Document::deleteAll(['filename' => $newDocument]); Number::deleteAll(['number' => $number]); $page = CreatePage::openBy($I); $I->dontSeeElement("input[type=file]"); $I->dontSeeElement("#documents-panel-body"); $I->dontSeeElement("#history-panel-body"); $page->submit(['number' => $number, 'ownerName' => $owner->fullName, 'ownerPost' => $owner->post, 'operatorId' => 'operator2', 'destination' => Number::DESTINATION_MODEM, 'limit' => "1000", 'options' => [Number::OPTION_ACCOUNTING, Number::OPTION_DIRECTORY], 'comment' => 'This is comment of testing number.']); $I->SeeRecord(Number::className(), ['number' => $number, 'ownerId' => 1, 'operatorId' => 'operator2', 'destination' => Number::DESTINATION_MODEM, 'limit' => 1000, 'options' => [Number::OPTION_ACCOUNTING, Number::OPTION_DIRECTORY], 'history' => [['ownerId' => 'employee1', 'rentDate' => time()]], 'comment' => 'This is comment of testing number.']); $I->see("Номер успешно создан", '.alert-success'); $I->seeInField($page->fieldSelector('ownerName'), $owner->fullName); $I->seeInField($page->fieldSelector('ownerPost'), $owner->posts[1]); $I->seeOptionIsSelected($page->fieldSelector('operatorId'), "Оператор 2"); $I->seeOptionIsSelected($page->fieldSelector('destination'), Number::DESTINATION_MODEM); $I->seeCheckboxIsChecked($page->fieldSelector(Number::OPTION_ACCOUNTING)); $I->seeCheckboxIsChecked($page->fieldSelector(Number::OPTION_DIRECTORY)); $I->dontSeeCheckboxIsChecked($page->fieldSelector(Number::OPTION_TRIP)); $I->seeInField($page->fieldSelector('comment'), 'This is comment of testing number.');
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]); }); }