<?php

require_once dirname(__FILE__) . '/../../bootstrap/functional.php';
# load fixtures of this plugin
$propelData->loadData(sfConfig::get('sf_plugins_dir') . '/sfNewsletterPlugin/data/fixtures');
$browser = new sfTestFunctional(new sfBrowser());
$limeTest = $browser->test();
$browser->getAndCheck('sfSubscription', 'subscribe', '/newsletter/subscription', 200);
$browser->responseContains(sfSubscribeForm::PARAMETER_NAME);
$name = 'A valid username';
$email = '*****@*****.**';
$postData = array('name' => $name, 'email' => $email);
$browser->post('/newsletter/subscription', array(sfSubscribeForm::PARAMETER_NAME => $postData));
$browser->isStatusCode(200);
$browser->responseContains('An email has been sent to you, in order to verify your address.');
$limeTest->plan += 3;
$subscriber = SubscriberPeer::retrieveByEmail($email);
$limeTest->isa_ok($subscriber, 'Subscriber', 'Subscriber found.');
$limeTest->is($subscriber->getName(), $name, 'Name matches.');
$limeTest->is($subscriber->getEmail(), $email, 'Email matches.');
$limeTest->plan += 3;
$activationHash = $subscriber->getActivateHash();
$unsubscribeHash = $subscriber->getUnsubscribeHash();
$limeTest->isnt(empty($activationHash), true, 'Activation Hash set.');
$limeTest->isnt(empty($unsubscribeHash), true, 'Unsubscribe Hash set.');
$limeTest->isnt($subscriber->isSubscribed(), true, 'Subscriber is not activated, yet.');
# test activation and unsubscribe with fixtures
$limeTest->plan += 1;
$subscriber = SubscriberPeer::retrieveByEmail('*****@*****.**');
$limeTest->ok(!$subscriber->isSubscribed(), 'Subscriber not activated, yet.');
$browser->getAndCheck('sfSubscription', 'activate', '/newsletter/subscription/activate/' . $subscriber->getId() * 42 . '?' . activateAction::PARAMETER_NAME . '=invalid', 404);
<?php

require_once dirname(__FILE__) . '/../../bootstrap/functional.php';
# load fixtures of this plugin
$propelData->loadData(sfConfig::get('sf_plugins_dir') . '/sfNewsletterPlugin/data/fixtures');
$browser = new sfTestFunctional(new sfBrowser());
$limeTest = $browser->test();
$limeTest->plan += 1;
$newsletter = NewsletterPeer::retrieveByName('second newsletter');
$limeTest->isa_ok($newsletter, 'Newsletter', 'Newsletter found.');
$browser->getAndCheck('sfNewsletter', 'read', '/newsletter/read/' . 0, 404);
$browser->getAndCheck('sfNewsletter', 'read', '/newsletter/read/' . $newsletter->getId(), 200);
$browser->responseContains($newsletter->getContent());
Example #3
0
$app = 'frontend';
$fixtures = 'fixtures/fixtures.yml';
if (!include(dirname(__FILE__).'/../bootstrap/functional.php'))
{
  return;
}

$browser = new sfTestFunctional(new sfBrowser());

ArticlePeer::doDeleteAll();
$category = CategoryPeer::doSelectOne(new Criteria());

foreach (range(1, 20) as $n)
{
  $article = new Article();
  $article->setTitle(sprintf('Article #%s', $n));
  $article->setCategory($category);
  $article->save();
}

$browser
  ->getAndCheck('pager', 'interfaces')

  ->with('response')->begin()
    ->checkElement('#pagerResults li', 10)

    ->checkElement('#pagerCount:contains(20)')
  ->end()
;
<?php

require_once dirname(__FILE__) . '/../../bootstrap/functional.php';
// set up test env correctly
sfConfig::set('app_xcssplugin_path_to_css_dir', sfConfig::get('sf_plugins_dir') . DIRECTORY_SEPARATOR . 'sfXCSSPlugin' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'fixtures' . DIRECTORY_SEPARATOR . 'web' . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR);
sfConfig::set('app_xcssplugin_saveforweb', 'xcss');
$browser = new sfTestFunctional(new sfBrowser());
$limeTest = $browser->test();
$limeTest->plan++;
$limeTest->ok(!file_exists($filename), 'File does not exist.');
$limeTest->plan++;
$limeTest->is(sfConfig::get('app_xcssplugin_saveforweb'), 'xcss', 'Save For Web enabled.');
$browser->getAndCheck('xcss', 'process', '/xcss/stylesheet.css', 200);
$browser->responseContains('h1 {border: #F00 1px solid;}');
$browser->isResponseHeader('Content-Type', 'text/css; charset=utf-8');
$limeTest->plan++;
$filename = sfConfig::get('sf_web_dir') . DIRECTORY_SEPARATOR . 'xcss' . DIRECTORY_SEPARATOR . 'stylesheet.css';
$limeTest->ok(file_exists($filename), 'File has been saved for web access.');
// cleanup
$limeTest->plan++;
$limeTest->ok(unlink($filename), 'File has been removed.');
Example #5
0
<?php

/*
 * This file is part of the symfony package.
 * (c) Fabien Potencier <*****@*****.**>
 * 
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
$app = 'frontend';
$fixtures = 'fixtures/fixtures.yml';
if (!(include dirname(__FILE__) . '/../bootstrap/functional.php')) {
    return;
}
$browser = new sfTestFunctional(new sfBrowser());
ArticlePeer::doDeleteAll();
$category = CategoryPeer::doSelectOne(new Criteria());
foreach (range(1, 20) as $n) {
    $article = new Article();
    $article->setTitle(sprintf('Article #%s', $n));
    $article->setCategory($category);
    $article->save();
}
$browser->getAndCheck('pager', 'interfaces')->with('response')->begin()->checkElement('#pagerResults li', 10)->checkElement('#pagerCount:contains(20)')->end();