Exemple #1
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.');
Exemple #2
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]);
     });
 }