Exemplo n.º 1
0
$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);
    $posts[$matches[0]] = $title;
    $I->amOnPage(\BlogFeedPage::$url);
    $I->see($title, \BlogFeedPage::$postTitleSelector);
    $I->see($title, \BlogFeedPage::$sidebarPostListSelector);
    $totalPostsNumber++;
Exemplo n.º 2
0
$I->amOnPage(\BlogFeedPage::$url);
$I->see('heading.lastPosts');
$I->see('heading.categories');
$I->see(Fixtures::get("data:posts[{$lastPost}]:title"), 'article');
$I->dontSee(Fixtures::get("data:posts[{$penultimatePagePost}]:title"), 'article');
$I->see('2', 'ul.pagination');
$I->click('2', 'ul.pagination');
$I->seeCurrentUrlEquals(\BlogFeedPage::route(2));
$I->see(Fixtures::get("data:posts[{$penultimatePagePost}]:title"), 'article');
$I->dontSee(Fixtures::get("data:posts[{$lastPost}]:title"), 'article');
$I->amOnPage(\BlogFeedPage::route(ceil(Fixtures::get('data:posts:length') / 5) + 1));
$I->seeHttpErrorPage(404);
// categories
$I->amOnPage(\BlogFeedPage::$url);
$category = \BlogFeedPage::of($I)->getSidebarCategoryTitle(1);
$otherCategory = \BlogFeedPage::of($I)->getSidebarCategoryTitle(2);
$I->click($category, '.sidebar');
$I->seeCurrentUrlMatches(\CategoryFeedPage::$urlRegexp);
$I->seeInTitle($category);
$I->see($category, \CategoryFeedPage::$pageHeaderSelector);
$I->see($category, \CategoryFeedPage::$postCategoryLinkSelector);
$I->dontSee($otherCategory, 'article');
/*
$I->amOnPage(\CategoryFeedPage::route('category-1', 2));
$I->see('heading.httpError [errorCode:404]');
$I->dontSeeElement('article');
*/
// authors
$I->amOnPage(\BlogFeedPage::$url);
$firstPostTitle = $I->grabTextFrom(\BlogFeedPage::$postTitleSelector);
$authorName = $I->grabTextFrom(\BlogFeedPage::$postUserLinkSelector);