You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
<?php |
|
|
|
namespace frontend\tests\functional; |
|
|
|
use frontend\tests\FunctionalTester; |
|
use common\fixtures\UserFixture; |
|
|
|
class LoginCest |
|
{ |
|
/** |
|
* Load fixtures before db transaction begin |
|
* Called in _before() |
|
* @see \Codeception\Module\Yii2::_before() |
|
* @see \Codeception\Module\Yii2::loadFixtures() |
|
* @return array |
|
*/ |
|
public function _fixtures() |
|
{ |
|
return [ |
|
'user' => [ |
|
'class' => UserFixture::className(), |
|
'dataFile' => codecept_data_dir() . 'login_data.php' |
|
] |
|
]; |
|
} |
|
|
|
public function _before(FunctionalTester $I) |
|
{ |
|
$I->amOnRoute('site/login'); |
|
} |
|
|
|
protected function formParams($login, $password) |
|
{ |
|
return [ |
|
'LoginForm[username]' => $login, |
|
'LoginForm[password]' => $password, |
|
]; |
|
} |
|
|
|
public function checkEmpty(FunctionalTester $I) |
|
{ |
|
$I->submitForm('#login-form', $this->formParams('', '')); |
|
$I->seeValidationError('Username cannot be blank.'); |
|
$I->seeValidationError('Password cannot be blank.'); |
|
} |
|
|
|
public function checkWrongPassword(FunctionalTester $I) |
|
{ |
|
$I->submitForm('#login-form', $this->formParams('admin', 'wrong')); |
|
$I->seeValidationError('Incorrect username or password.'); |
|
} |
|
|
|
public function checkValidLogin(FunctionalTester $I) |
|
{ |
|
$I->submitForm('#login-form', $this->formParams('erau', 'password_0')); |
|
$I->see('Logout (erau)', 'form button[type=submit]'); |
|
$I->dontSeeLink('Login'); |
|
$I->dontSeeLink('Signup'); |
|
} |
|
}
|
|
|