$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» не найден.");
Beispiel #2
0
 * 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.');