<?php use Codeception\Util\Fixtures; /** @type \Codeception\Scenario $scenario */ $scenario->groups('auth', 'front'); $i = new \WebGuy\MemberSteps($scenario); $i->am('admin'); $i->wantTo('check auth mechanism'); $i->expect('login failure on invalid data and login success on valid data'); $i->logout(); $i->seeCurrentUrlEquals(\BlogFeedPage::$url); $i->seeAlert('auth.logout.guestAttempt'); $i->seeElement(\FeedPage::$loginLink); $i->click('link.login'); $i->seeCurrentUrlEquals(\LoginPage::$url); $i->login(null, null); $i->seeAlert('auth.login.fail'); $i->login('missing username', 'nonexisting password'); $i->seeAlert('auth.login.fail'); $i->autoLogin(); $i->see('auth.login.greeting'); $i->seeCurrentUrlEquals(\AdminPanelPage::$url); $i->amOnPage(\LoginPage::$url); $i->seeCurrentUrlEquals(\AdminPanelPage::$url); $i->seeAlert('auth.login.alreadyAuthorized'); $i->seeLink('link.logout'); $i->click('link.logout'); $i->seeCurrentUrlEquals(\BlogFeedPage::$url); //$i->canSee('You have successfully logged out');
$scenario->groups('front', 'settings'); $I = new WebGuy\MemberSteps($scenario); $I->am('admin'); $I->wantTo('add my friend as a new user'); $random = md5(microtime()); $I->autoLogin(); $I->amOnPage(\UsersDashboardPage::$url); $I->seeCurrentUrlEquals(\UsersDashboardPage::$url); $I->click(\UsersDashboardPage::$createNewButtonSelector); $I->seeCurrentUrlEquals(\CreateNewUserPage::$url); $I->fillField(\CreateNewUserPage::$usernameFieldSelector, $random); $I->click(\CreateNewUserPage::$submitButtonSelector); $I->seeCurrentUrlEquals(\CreateNewUserPage::$url); $I->seeAlert('user.creation.fail'); // testing validation and data binding $I->seeElement(\CreateNewUserPage::$passwordFieldSelector . '.error'); $I->seeElement(\CreateNewUserPage::$repeatPasswordFieldSelector . '.error'); $I->dontSeeElement(\CreateNewUserPage::$usernameFieldSelector . '.error'); $I->seeInField(\CreateNewUserPage::$usernameFieldSelector, $random); $I->fillField(\CreateNewUserPage::$passwordFieldSelector, $random); $I->click(\CreateNewUserPage::$submitButtonSelector); $I->seeCurrentUrlEquals(\CreateNewUserPage::$url); $I->seeAlert('user.creation.fail'); $I->seeInField(\CreateNewUserPage::$usernameFieldSelector, $random); $I->seeInField(\CreateNewUserPage::$passwordFieldSelector, $random); $I->seeElement(\CreateNewUserPage::$repeatPasswordFieldSelector . '.error'); $I->dontSeeElement(\CreateNewUserPage::$passwordFieldSelector . '.error'); $I->dontSeeElement(\CreateNewUserPage::$usernameFieldSelector . '.error'); $I->fillField(\CreateNewUserPage::$passwordFieldSelector, '0'); $I->fillField(\CreateNewUserPage::$repeatPasswordFieldSelector, '0'); $I->click(\CreateNewUserPage::$submitButtonSelector);