LoginAcceptanceCest::testLoginPage()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 7
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Tests\Acceptance;
6
7
use App\Tests\Support\AcceptanceTester;
8
9
final class LoginAcceptanceCest
10
{
11
    public function testLoginPage(AcceptanceTester $I): void
12
    {
13
        $I->amGoingTo('go to the log in page.');
14
        $I->amOnPage('/login');
15
16
        $I->expectTo('see log in page.');
17
        $I->see('Login');
18
    }
19
20
    public function testLoginEmptyDataTest(AcceptanceTester $I): void
21
    {
22
        $I->amGoingTo('go to the log in page.');
23
        $I->amOnPage('/login');
24
25
        $I->fillField('#login-login', '');
26
        $I->fillField('#login-password', '');
27
28
        $I->click('Submit', '#loginForm');
29
30
        $I->expectTo('see validations errors.');
31
        $I->see('Login cannot be blank.');
32
        $I->see('Password cannot be blank.');
33
        $I->seeElement('button', ['name' => 'login-button']);
34
    }
35
36
    public function testLoginSubmitFormWrongDataUsername(AcceptanceTester $I): void
37
    {
38
        $I->amGoingTo('go to the log in page.');
39
        $I->amOnPage('/login');
40
41
        $I->fillField('#login-login', 'admin1');
42
        $I->fillField('#login-password', '123456');
43
        $I->checkOption('#login-rememberme');
44
45
        $I->click('Submit', '#loginForm');
46
47
        $I->expectTo('see validations errors.');
48
        $I->see('Invalid login or password');
49
        $I->seeElement('button', ['name' => 'login-button']);
50
    }
51
52
    public function testLoginSubmitFormWrongDataPassword(AcceptanceTester $I): void
53
    {
54
        $I->amGoingTo('go to the login page.');
55
        $I->amOnPage('/login');
56
57
        $I->fillField('#login-login', 'admin');
58
        $I->fillField('#login-password', '1');
59
        $I->checkOption('#login-rememberme');
60
61
        $I->click('Submit', '#loginForm');
62
63
        $I->expectTo('see validations errors.');
64
        $I->see('Invalid login or password');
65
        $I->seeElement('button', ['name' => 'login-button']);
66
    }
67
68
    /**
69
     * @depends App\Tests\Acceptance\SignupAcceptanceCest:testRegisterSuccess
70
     */
71
    public function testLoginUsernameSubmitFormSuccessData(AcceptanceTester $I): void
72
    {
73
        $I->amGoingTo('go to the log in page.');
74
        $I->amOnPage('/login');
75
76
        $I->fillField('#login-login', 'admin');
77
        $I->fillField('#login-password', '12345678');
78
        $I->checkOption('#login-rememberme');
79
80
        $I->click('Submit', '#loginForm');
81
82
        $I->expectTo('see logged index page.');
83
        $I->dontSeeLink('login');
84
85
        $I->click('Logout (admin)');
86
87
        $I->expectTo('no see link logout.');
88
        $I->dontSeeLink('logout');
89
    }
90
}
91