LoginCest.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace frontend\tests\functional;
  3. use frontend\tests\FunctionalTester;
  4. use common\fixtures\UserFixture;
  5. class LoginCest
  6. {
  7. public function _before(FunctionalTester $I)
  8. {
  9. $I->haveFixtures([
  10. 'user' => [
  11. 'class' => UserFixture::className(),
  12. 'dataFile' => codecept_data_dir() . 'login_data.php'
  13. ]
  14. ]);
  15. $I->amOnRoute('site/login');
  16. }
  17. protected function formParams($login, $password)
  18. {
  19. return [
  20. 'LoginForm[username]' => $login,
  21. 'LoginForm[password]' => $password,
  22. ];
  23. }
  24. public function checkEmpty(FunctionalTester $I)
  25. {
  26. $I->submitForm('#login-form', $this->formParams('', ''));
  27. $I->seeValidationError('Username cannot be blank.');
  28. $I->seeValidationError('Password cannot be blank.');
  29. }
  30. public function checkWrongPassword(FunctionalTester $I)
  31. {
  32. $I->submitForm('#login-form', $this->formParams('admin', 'wrong'));
  33. $I->seeValidationError('Incorrect username or password.');
  34. }
  35. public function checkValidLogin(FunctionalTester $I)
  36. {
  37. $I->submitForm('#login-form', $this->formParams('erau', 'password_0'));
  38. $I->see('Logout (erau)', 'form button[type=submit]');
  39. $I->dontSeeLink('Login');
  40. $I->dontSeeLink('Signup');
  41. }
  42. }