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.
61 lines
1.6 KiB
61 lines
1.6 KiB
7 years ago
|
<?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');
|
||
|
}
|
||
|
}
|