Example #1
0
<?php

use Codeception\Util\Fixtures;
$firstCategorySlug = Fixtures::get('data:categories[0]:slug');
$firstCategoryTitle = Fixtures::get('data:categories[0]:title');
$firstUserLogin = Fixtures::get('data:users[0]:login');
for ($k = 0; $k < Fixtures::get('data:posts:length'); $k++) {
    if (Fixtures::get("data:posts[{$k}]:author") === 1) {
        $firstPostTitle = Fixtures::get("data:posts[{$k}]:title");
        $firstPostSlug = Fixtures::get("data:posts[{$k}]:slug");
        $firstPostId = $k + 1;
        break;
    }
}
if (!isset($firstPostTitle, $firstPostId, $firstPostSlug)) {
    throw new \RuntimeException('Couldn\'t find post written by first user.');
}
return array(\BlogFeedPage::$url => array('title' => 'Блог'), \CategoryListPage::$url => array('title' => 'Категории', 'backTo' => 'Блог', 'nav' => array('Управление')), \CategoryFeedPage::route($firstCategorySlug) => array('title' => $firstCategoryTitle, 'backTo' => 'Блог', 'nav' => array('блог', 'категории')), \UserListPage::$url => array('title' => 'Авторы', 'backTo' => 'Блог', 'nav' => array('блог')), \AuthorFeedPage::route(1) => array('title' => 'Записи ' . $firstUserLogin, 'backTo' => 'Блог', 'nav' => array('блог', 'авторы')), \AdminPanelPage::$url => array('title' => 'Панель управления', 'backTo' => 'Блог'), \PostsDashboardPage::$url => array('title' => 'Управление записями', 'backTo' => 'Панель управления', 'nav' => array('Создать новую запись', 'Управление категориями')), \PostFormPage::$newPostUrl => array('title' => 'Новая запись', 'backTo' => 'Управление записями', 'nav' => array('управление записями', 'блог')), \PostFormPage::route($firstPostId) => array('title' => 'Запись "' . $firstPostTitle . '"', 'backTo' => 'Управление записями', 'nav' => array('управление записями', 'блог', 'эту запись')), \UsersDashboardPage::$url => array('title' => 'Управление пользователями', 'backTo' => 'Панель управления', 'nav' => array('Создать пользователя')), \CreateNewUserPage::$url => array('title' => 'Новый пользователь', 'backTo' => 'Управление пользователями', 'nav' => array('панель управления', 'управление пользователями')), \CategoryDashboardPage::$url => array('title' => 'Управление категориями', 'backTo' => 'Панель управления', 'nav' => array('Создать новую')), \CategoryFormPage::$newCategoryUrl => array('title' => 'Новая категория', 'backTo' => 'Управление категориями', 'nav' => array('управление категориями', 'панель управления')), \CategoryFormPage::route($firstCategorySlug) => array('title' => 'Категория "' . $firstCategoryTitle . '"', 'backTo' => 'Управление категориями', 'nav' => array('управление категориями', 'панель управления')), \OptionsPage::$url => array('title' => 'Настройки', 'backTo' => 'Панель управления', 'nav' => array('панель управления')), \ServiceStatusPage::$url => array('title' => 'Статус приложения', 'backTo' => 'Панель управления', 'nav' => array('панель управления')), \ProfilePage::$url => array('title' => 'Профиль', 'backTo' => 'Панель управления', 'nav' => array('панель управления')), \SuicideBoothPage::$url => array('title' => 'Будка самоубийств имени Бендера Б.Родригеза', 'backTo' => 'Профиль', 'nav' => null), \HelpPage::$url => array('title' => 'Помощь', 'backTo' => 'Панель управления', 'nav' => array('панель управления')), \DevHelpPage::$url => array('title' => 'Расширенная помощь', 'backTo' => 'Помощь', 'nav' => array('помощь', 'панель управления')));
Example #2
0
<?php

use Codeception\Util\Fixtures;
$firstCategorySlug = Fixtures::get('data:categories[0]:slug');
$firstCategoryTitle = Fixtures::get('data:categories[0]:title');
$firstUserLogin = Fixtures::get('data:users[0]:login');
for ($k = 0; $k < Fixtures::get('data:posts:length'); $k++) {
    if (Fixtures::get("data:posts[{$k}]:author") === 1) {
        $firstPostTitle = Fixtures::get("data:posts[{$k}]:title");
        $firstPostSlug = Fixtures::get("data:posts[{$k}]:slug");
        $firstPostId = $k + 1;
        break;
    }
}
if (!isset($firstPostTitle, $firstPostId, $firstPostSlug)) {
    throw new \RuntimeException('Couldn\'t find post written by first user.');
}
return array(\BlogFeedPage::$url => array('title' => 'Blog'), \CategoryListPage::$url => array('title' => 'Categories', 'backTo' => 'Blog', 'nav' => array('Manage')), \CategoryFeedPage::route($firstCategorySlug) => array('title' => $firstCategoryTitle, 'backTo' => 'Blog', 'nav' => array('Blog', 'Categories')), \UserListPage::$url => array('title' => 'Authors', 'backTo' => 'Blog', 'nav' => array('Blog')), \AuthorFeedPage::route(1) => array('title' => $firstUserLogin . '\'s posts', 'backTo' => 'Blog', 'nav' => array('Blog', 'Authors')), \AdminPanelPage::$url => array('title' => 'Admin panel', 'backTo' => 'Blog'), \PostsDashboardPage::$url => array('title' => 'Posts management', 'backTo' => 'Admin panel', 'nav' => array('Create new post', 'Categories management')), \PostFormPage::$newPostUrl => array('title' => 'New post', 'backTo' => 'Posts management', 'nav' => array('Posts management', 'Blog')), \PostFormPage::route($firstPostId) => array('title' => 'Edit post "' . $firstPostTitle . '"', 'backTo' => 'Posts management', 'nav' => array('Posts management', 'Blog', 'This post')), \UsersDashboardPage::$url => array('title' => 'Users management', 'backTo' => 'Admin panel', 'nav' => array('Create user')), \CreateNewUserPage::$url => array('title' => 'New user', 'backTo' => 'Users management', 'nav' => array('Admin panel', 'Users management')), \CategoryDashboardPage::$url => array('title' => 'Categories management', 'backTo' => 'Admin panel', 'nav' => array('Create new')), \CategoryFormPage::$newCategoryUrl => array('title' => 'New category', 'backTo' => 'Categories management', 'nav' => array('Categories management', 'Admin panel')), \CategoryFormPage::route($firstCategorySlug) => array('title' => 'Edit category "' . $firstCategoryTitle . '"', 'backTo' => 'Categories management', 'nav' => array('Categories management', 'Admin panel')), \OptionsPage::$url => array('title' => 'Options', 'backTo' => 'Admin panel', 'nav' => array('Admin panel')), \ServiceStatusPage::$url => array('title' => 'Application status', 'backTo' => 'Admin panel', 'nav' => array('Admin panel')), \ProfilePage::$url => array('title' => 'Profile', 'backTo' => 'Admin panel', 'nav' => array('Admin panel')), \SuicideBoothPage::$url => array('title' => 'Stop\'n\'Drop suicide booth', 'backTo' => 'Profile', 'nav' => null), \HelpPage::$url => array('title' => 'Help', 'backTo' => 'Admin panel', 'nav' => array('Admin panel')), \DevHelpPage::$url => array('title' => 'Extended help', 'backTo' => 'Help', 'nav' => array('Help', 'Admin panel')));
Example #3
0
$id = $I->grabFromCurrentUrl('~(\\d+)~');
$I->amOnPage(\BlogFeedPage::$url);
$I->see('What a title', '.sidebar');
$I->editPost($id, '');
\PostFormPage::of($I)->hasErrors();
$I->editPost($id, 'Another title', '');
\PostFormPage::of($I)->hasErrors();
$I->editPost($id, 'Another title');
\PostFormPage::of($I)->hasNoErrors();
$I->amOnPage(\BlogFeedPage::$url);
$I->see('Another title', '.sidebar');
$I->editPost($id, 'Another title', null, '');
\PostFormPage::of($I)->hasNoErrors();
$I->seeInField(\PostFormPage::$slugField, 'another-title');
$slug = \Codeception\Util\Fixtures::get('data:posts[0]:slug');
$I->editPost($id, null, null, $slug);
\PostFormPage::of($I)->hasNoErrors();
$I->seeInField(\PostFormPage::$slugField, $slug . '-1');
$I->click(\PostFormPage::$categoryMenuToggleButton);
$I->wait(1);
$I->fillField(\PostFormPage::$newCategoryField, 'Phantom menace');
$I->click(\PostFormPage::$submitButton);
$I->click('link.navigation [location:link.thispost]');
$I->seeLink('Phantom menace', 'phantom-menace');
$I->amOnPage(\PostsDashboardPage::$url);
$I->click('control.delete', '#post-' . $id);
$I->seeCurrentUrlEquals(\PostsDashboardPage::$url);
// flash message containing post title will be shown
$I->dontSee('Another title', '#post-' . $id);
$I->amOnPage(\BlogFeedPage::$url);
$I->dontSee('Another title');
Example #4
0
 /**
  * Updates existing post.
  *
  * @param int         $id       Post id.
  * @param string|null $title    Post title.
  * @param string|null $text     Post text.
  * @param string|null $slug     Post slug.
  * @param string|null $category Post category.
  *
  * @return void
  * @since 0.1.0
  */
 public function editPost($id, $title = null, $text = null, $slug = null, $category = null)
 {
     $I = $this;
     $I->amOnPage(\PostFormPage::route($id));
     $I->seeCurrentUrlEquals(\PostFormPage::route($id));
     $I->fillPostForm($title, $text, $slug, $category);
     $I->click(\PostFormPage::$submitButton);
 }