Пример #1
0
<?php

/** @type \Codeception\Scenario $scenario */
$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');
Пример #2
0
<?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');
Пример #3
0
<?php

/** @type \Codeception\Scenario $scenario */
$scenario->groups('front', 'posts', 'cache');
$I = new WebGuy\MemberSteps($scenario);
$I->am('Web developer');
$I->wantTo('Test cache system by writing post and tweaking service settings');
$I->expectTo('See changes instantly');
$I->autoLogin();
// if any other category is modified but the top one, categories may change
// positions in sidebar, and this behavior would be much harder to test.
$categoryNumber = 0;
$I->flushCache();
$stats = \ServiceStatusPage::of($I)->grabStats();
$totalPostsNumber = $stats['totalPosts'];
$postsTodayNumber = $stats['postsToday'];
$commentsTodayNumber = $stats['commentsToday'];
$totalCommentsNumber = $stats['totalComments'];
$I->amOnPage(\BlogFeedPage::$url);
$categoryTitle = \BlogFeedPage::of($I)->grabCategoryTitle($categoryNumber);
$categoryPostCount = \BlogFeedPage::of($I)->grabCategoryPostCount($categoryNumber);
$posts = array();
// there were issues with stall cache after series of fast posts, so this
// construct verifies that it doesn't happen again
for ($i = 0; $i < 5; $i++) {
    $title = md5(time()) . $i;
    $I->amOnPage(\BlogFeedPage::$url);
    $I->dontSee($title);
    $I->writePost($title, 'superpost is superposted', null, $categoryTitle);
    $elemId = $I->grabAttributeFrom(\PostPage::$postSelector, 'id');
    preg_match('#\\d+#', $elemId, $matches);