<?php use hipstercreative\user\tests\_pages\LoginPage; $I = new TestGuy($scenario); $I->wantTo('ensure that login works'); $page = LoginPage::openBy($I); $I->amGoingTo('try to login with empty credentials'); $page->login('', ''); $I->expectTo('see validations errors'); $I->see('Login cannot be blank.'); $I->see('Password cannot be blank.'); $I->amGoingTo('try to login with unconfirmed account'); $user = $I->getFixture('user')->getModel('unconfirmed'); $page->login($user->email, 'qwerty'); $I->see('You need to confirm your email address'); $I->amGoingTo('try to login with blocked account'); $user = $I->getFixture('user')->getModel('blocked'); $page->login($user->email, 'qwerty'); $I->see('Your account has been blocked'); $I->amGoingTo('try to login with wrong credentials'); $user = $I->getFixture('user')->getModel('user'); $page->login($user->email, 'wrong'); $I->expectTo('see validations errors'); $I->see('Invalid login or password'); $I->amGoingTo('try to login with correct credentials'); $page->login($user->email, 'qwerty'); $I->dontSee('Login'); $I->see('Logout');
<?php use hipstercreative\user\tests\_pages\CreatePage; use hipstercreative\user\tests\_pages\LoginPage; $I = new TestGuy($scenario); $I->wantTo('ensure that user creation works'); $loginPage = LoginPage::openBy($I); $user = $I->getFixture('user')->getModel('user'); $loginPage->login($user->email, 'qwerty'); $page = CreatePage::openBy($I); $I->amGoingTo('try to create user with empty fields'); $page->create('', '', ''); $I->expectTo('see validations errors'); $I->see('Username cannot be blank.'); $I->see('Email cannot be blank.'); $page->create('toster', '*****@*****.**', 'toster'); $I->see('User has been created'); $I->see('toster'); $I->see('*****@*****.**'); Yii::$app->user->logout(); $I->grabRecord('hipstercreative\\user\\models\\User', ['email' => '*****@*****.**'])->confirm(); LoginPage::openBy($I)->login('*****@*****.**', 'toster'); $I->see('Logout');
<?php use hipstercreative\user\tests\_pages\UpdatePage; use hipstercreative\user\tests\_pages\LoginPage; $I = new TestGuy($scenario); $I->wantTo('ensure that user update works'); $loginPage = LoginPage::openBy($I); $user = $I->getFixture('user')->getModel('user'); $loginPage->login($user->email, 'qwerty'); $page = UpdatePage::openBy($I, ['id' => $user->id]); $page->update('user', '*****@*****.**', 'new_pass'); $I->see('User has been updated'); Yii::$app->user->logout(); LoginPage::openBy($I)->login('*****@*****.**', 'new_pass'); $I->see('Logout');