$I = new FunctionalTester($scenario); $I->wantTo('test validation of Number model'); CreatePage::openBy($I); $I->seeInTitle('Новый номер'); $I->amGoingTo("send empty form"); CreatePage::openBy($I)->submit(); $I->see('Необходимо заполнить «Номер».'); $I->amGoingTo("introduce too short number"); CreatePage::openBy($I)->submit(['number' => '1234']); $I->see('Значение «Номер» должно содержать 10 символов.'); $I->amGoingTo("introduce number and limit of letters and numbers"); CreatePage::openBy($I)->submit(['number' => '123abc', 'limit' => '123abc']); $I->see('Значение «Номер» должно быть целым числом.'); $I->see('Значение «Лимит» должно быть целым числом.'); $I->amGoingTo("introduce negative value of number and limit"); CreatePage::openBy($I)->submit(['number' => '-123', 'limit' => '-456']); $I->see('Значение «Номер» должно быть не меньше 0.'); $I->see('Значение «Лимит» должно быть не меньше 0.'); $I->amGoingTo("introduce non unique value of number"); $I->haveRecord(Number::className(), ['number' => '9101234567']); CreatePage::openBy($I)->submit(['number' => '9101234567']); $I->see('Номер «9101234567» уже занят.'); $I->amGoingTo("check accounting option and empty limit"); CreatePage::openBy($I)->submit(['number' => '0123456789', 'options' => [Number::OPTION_ACCOUNTING]]); $I->see("При выбранной опции «Учитывать перерасход» лимит должен быть указан"); $I->amGoingTo("introduce non existent owner name"); CreatePage::openBy($I)->submit(['number' => '0123456789', 'ownerName' => 'Non Existent Employee']); $I->see("Сотрудник «Non Existent Employee» не найден."); $I->amGoingTo("introduce non existent owner post"); CreatePage::openBy($I)->submit(['number' => '0123456789', 'ownerName' => 'Иванов Иван Иванович', 'ownerPost' => 'Non Existent Post']); $I->see("Сотрудник «Иванов Иван Иванович» c должностью «Non Existent Post» не найден.");
* 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.');