Newer
Older
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
'login' => 'tomato',
'password' => 'pwd']));
$this->dispatch('auth/newsletter-register/id/5', true);
}
/** @test */
public function dispatchShouldRedirectToIndex() {
$this->assertRedirectTo('/');
}
/** @test */
public function flashMessengerShouldBeReadyWithExpectedMessage() {
$this->assertFlashMessengerContentContains('Vous êtes inscrit à la liste de diffusion: Daily News');
}
/** @test */
public function tomatoShouldBeInDailyNewsSubscribers() {
$this->assertEquals('tomato' , Class_NewsletterSubscription::find(1)->getUser()->getLogin());
}
class AuthControllerNewsletterUnsubscribeNoBodyTest extends AuthControllerNobodyLoggedTestCase {
$this->fixture('Class_Newsletter',
['id' => 1,
'titre' => 'Daily News']);
$this->dispatch('auth/newsletter-unsubscribe/id/1', true);
}
/** @test */
public function authMessageShouldBeDisplay() {
$this->assertXPathContentContains('//p', 'Vous devez vous identifier pour vous désinscrire de la newsletter: Daily News');
}
/** @test */
public function linkToLoginShouldBePresent() {
$this->assertXPath('//a[contains(@href,"auth/ajax-login")]');
}
}
class AuthControllerNewsletterUnsubscribeWrongIdTest extends AuthControllerNobodyLoggedTestCase {
public function setUp() {
parent::setUp();
Class_Newsletter::beVolatile();
$this->dispatch('auth/newsletter-unsubscribe/id/1', true);
}
/** @test */
public function shouldRedirectToIndex() {
$this->assertRedirectTo('/');
}
/** @test */
public function flashMessageShouldBeAsExpected() {
$this->assertFlashMessengerContentContains('Vous n\'êtes plus inscrit à la lettre d\'information, celle-ci n\'existe plus.');
}
}
class AuthControllerNewsletterUnsubscribeTest extends AbstractControllerTestCase {
$tomato = $this->fixture('Class_Users',
['id' => 156,
'login' => 'tomato',
'password' => 'pwd']);
$daily_news = $this->fixture('Class_Newsletter',
['id' => 1,
'titre' => 'Daily News']);
$subscription = $this->fixture('Class_NewsletterSubscription',
['id' => 1]);
$subscription->setUser($tomato);
$subscription->setNewsletter($daily_news);
$subscription->save();
$this->dispatch('auth/newsletter-unsubscribe/id/1', true);
}
/** @test */
public function shouldRedirectToIndex() {
$this->assertRedirectTo('/');
}
/** @test */
public function flashMessageShouldBeAsExpected() {
$this->assertFlashMessengerContentContains('Vous êtes désinscrit de la liste de diffusion: Daily News');
}
class AuthControllerNewsletterRegisterSendMailWrongMailConfigurationTest extends AbstractControllerTestCase {
$this->mock_transport = new MockMailTransport();
Zend_Mail::setDefaultTransport($this->mock_transport);
$this->mock_transport->onSendDo(function() { throw new Exception();
});
Class_Profil::getCurrentProfil()
->setMailSite('tom@afi.fr');
Class_Users::beVolatile();
Class_UsersNonValid::beVolatile();
$this->fixture('Class_Newsletter', ['id' => 5, 'titre' => 'Daily News']);
$this->postDispatch('/opac/auth/newsletter-register/id/5', ['email' => 'iwanttobespamed@abo.it',
'emailCheck' => '']);
}
/** @test */
public function sendMailErrorShouldBePresent() {
$this->assertXPathContentContains('//span[@class="error"]', 'Une erreur est survenue à l\'envoi du mail de confirmation. Veuillez réessayer. Si le problème persiste, veuillez contacter votre médiathèque.');
}
}
class AuthControllerNewsletterRegisterWithAutoSubscribeNewsletterTest extends AbstractControllerTestCase {
public function setUp() {
parent::setUp();
Class_NewsletterSubscription::beVolatile();
Class_Users::beVolatile();
$this->fixture('Class_UsersNonValid', [
'id' => 1,
'login' => 'future@i.am',
'mail' => 'future@i.am',
'password' => 'random',
'cle' => '12345678']);
$daily_news = $this->fixture('Class_Newsletter',
['id' => 1,
'titre' => 'Daily News']);
$weekly_news = $this->fixture('Class_Newsletter',
['id' => 2,
'titre' => 'Weekly News']);
$this->dispatch('opac/auth/newsletter-active-user/c/12345678/id/1', true);
}
/** @test */
public function onlyOneSubscriptionsShouldBeSaved() {
$this->assertEquals(1, count(Class_NewsletterSubscription::findAll()));
/** @test */
public function newsletterSubscriptionShouldContainsDailyNewsNews() {
$this->assertEquals('Daily News', Class_NewsletterSubscription::find(1)->getNewsletter()->getTitre());
}
/** @test */
public function messageShouldBeAsExpected() {
$this->assertXPathContentContains('//p', "Vous avez bien été abonné à la newsletter");
}