Blame view

frontend/tests/functional/LoginCest.php 1.59 KB
54f2fc2b   Alexey Boroda   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  <?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');
      }
  }