public function _before(TestGuy $I) { $I->amOnPage('/logout'); $I->submitForm('#login-form', array('_username' => 'admin', '_password' => 'pass')); $I->fillField('Host', 'localhost'); $I->fillField('Port', '830'); $I->fillField('User', CommonScenarios::$deviceUser); $I->fillField('Password', CommonScenarios::$devicePass); $I->click('Connect'); }
<?php $I = new TestGuy($scenario); $I->wantTo('ensure that home page works'); $I->amOnPage(''); $I->see('My Company'); $I->seeLink('About'); $I->click('About'); $I->see('This is the About page.');
<?php use Codeception\Util\Fixtures; /** @type \Codeception\Scenario $scenario */ $scenario->groups('front', 'user-management'); \Yii::app()->fixtureManager->prepare(); $I = new TestGuy($scenario); $I->wantTo('Delete my account'); $I->expectTo('Lose ability to sign in under my regular account and all my posts'); $login = Fixtures::get('data:users[0]:login'); $password = Fixtures::get('data:users[0]:password'); $I->amOnPage(\AuthorFeedPage::route(1)); // confirming that test landed on required page $I->see($login, \AuthorFeedPage::$postSelector); $I->amOnPage(\LoginPage::$url); $I->submitForm(\LoginPage::$formSelector, array(\LoginPage::$loginField => $login, \LoginPage::$passwordField => $password)); $I->amOnPage(\SuicideBoothPage::$url); $I->click(\SuicideBoothPage::$benderButtonXPath); $I->seeCurrentUrlEquals('/'); $I->amOnPage(\LoginPage::$url); $I->submitForm(\LoginPage::$formSelector, array(\LoginPage::$loginField => $login, \LoginPage::$passwordField => $password)); $I->see('auth.login.fail'); $I->amOnPage(\AuthorFeedPage::route(1)); $I->see('pageTitle.site.error', \AuthorFeedPage::$pageHeaderSelector); $I->seeResponseCodeIs(404); $h = fopen(\Yii::getPathOfAlias('application.runtime.login'), 'a'); fwrite($h, $login . PHP_EOL); fclose($h); $I->assertNull(\User::findByUsername($login, false)); $I->assertEmpty(\Post::model()->with(array('author' => array('condition' => 'author.username = :login', 'params' => array(':login' => $login))))->findAll());
<?php $I = new TestGuy($scenario); $I->wantTo('保证site/index页面正常工作'); $I->amOnPage(Yii::$app->homeUrl); $I->seeLink('Yii2 Blog'); $I->seeLink('首页'); $I->seeLink('yii2-blog说明'); $I->click('yii2-blog说明'); $I->see('yii2-blog说明');
$I->seeInTitle($details['title']); } if (isset($details['nav'])) { foreach ($details['nav'] as $navItem) { $I->see($navItem, \GeneralPage::$pageHeaderNavigationSelector); } } if (isset($details['backTo'])) { $backTo = \Yii::t('templates', 'link.backTo', array('{pageTitle}' => $details['backTo'])); $I->see($details['backTo'], \GeneralPage::$backLink); } } } $I->amOnPage(\UsersDashboardPage::$url . '?language=ru'); $I->see('Создать пользователя'); $I->click(\GeneralPage::$logoutLinkXPath); $I->resetCookie('language'); $prepareData = function ($data, $redirects = false) { if (!is_array($data)) { $data = array($data); } $defaults = array('opts' => array(), 'method' => 'get', 'expectedCode' => 200, 'redirects' => $redirects); foreach ($defaults as $key => $value) { if (!isset($data[$key])) { $data[$key] = $value; } } $data['url'] = \Yii::app()->createUrl($data[0], $data['opts']); return $data; }; foreach ($publicPages as $def) {
<?php $I = new TestGuy($scenario); $I->wantTo('Verify that the home page wellcome me'); $I->amOnPage('/'); $I->see('Log In with Github'); $I->click('Log In with Github'); $I->see('Profile');
<?php use Codeception\Util\Fixtures; /** @type \Codeception\Scenario $scenario */ $scenario->groups('internals', 'content', 'update'); \Yii::app()->fixtureManager->prepare(); $I = new TestGuy($scenario); $I->am('Dr. Jan Itor'); $I->wantTo('Update my nickname and see fancy cascade of nickname update in ' . 'previous comments'); $login = Fixtures::get('data:users[0]:login'); $password = Fixtures::get('data:users[0]:password'); $I->amOnPage(\LoginPage::$url); $I->submitForm(\LoginPage::$formSelector, array(\LoginPage::$loginField => $login, \LoginPage::$passwordField => $password)); $I->amOnPage(\BlogFeedPage::$url); $I->click(\BlogFeedPage::$postTitleSelector); $url = $I->grabFromCurrentUrl(); $I->submitForm(\PostPage::$commentForm, array(\PostPage::$commentTextArea => 'sample comment')); $newUsername = md5(microtime()); $I->amOnPage(\ProfilePage::$url); $I->submitForm(\ProfilePage::$usernameUpdateFormSelector, array(\ProfilePage::$usernameField => $newUsername)); $I->see('profile.usernameUpdate.success'); $I->amOnPage($url); $I->seeLink('@' . $newUsername); \Yii::app()->fixtureManager->prepare();