SignupCest.php 2.23 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
<?php

namespace frontend\tests\acceptance;

use frontend\tests\_pages\SignupPage;
use common\models\User;

class SignupCest
{

11 12 13 14 15 16 17
    /**
     * This method is called before each cest class test method
     * @param \Codeception\Event\Test $event
     */
    public function _before($event)
    {
    }
18

19 20 21 22 23 24 25 26 27 28 29
    /**
     * This method is called after each cest class test method, even if test failed.
     * @param \Codeception\Event\Test $event
     */
    public function _after($event)
    {
        User::deleteAll([
            'email' => 'tester.email@example.com',
            'username' => 'tester',
        ]);
    }
30

31 32 33 34 35 36 37
    /**
     * This method is called when test fails.
     * @param \Codeception\Event\Fail $event
     */
    public function _fail($event)
    {
    }
38

39 40 41 42 43 44 45
    /**
     * @param \WebGuy               $I
     * @param \Codeception\Scenario $scenario
     */
    public function testUserSignup($I, $scenario)
    {
        $I->wantTo('ensure that signup works');
46

47 48 49
        $signupPage = SignupPage::openBy($I);
        $I->see('Signup', 'h1');
        $I->see('Please fill out the following fields to signup:');
50

51
        $I->amGoingTo('submit signup form with no data');
52

53
        $signupPage->submit([]);
54

55 56 57 58
        $I->expectTo('see validation errors');
        $I->see('Username cannot be blank.', '.help-block');
        $I->see('Email cannot be blank.', '.help-block');
        $I->see('Password cannot be blank.', '.help-block');
59

60 61 62 63 64 65
        $I->amGoingTo('submit signup form with not correct email');
        $signupPage->submit([
            'username'		=>	'tester',
            'email'			=>	'tester.email',
            'password'		=>	'tester_password',
        ]);
66

67 68 69 70
        $I->expectTo('see that email address is wrong');
        $I->dontSee('Username cannot be blank.', '.help-block');
        $I->dontSee('Password cannot be blank.', '.help-block');
        $I->see('Email is not a valid email address.', '.help-block');
71

72 73 74 75 76 77
        $I->amGoingTo('submit signup form with correct email');
        $signupPage->submit([
            'username'		=>	'tester',
            'email'			=>	'tester.email@example.com',
            'password'		=>	'tester_password',
        ]);
78

79 80 81
        $I->expectTo('see that user logged in');
        $I->seeLink('Logout (tester)');
    }
82
}