From 8e93a249b3d9fe5fa98c55b13015a40f7c2fc6c2 Mon Sep 17 00:00:00 2001 From: Ghislain Loas <ghislo@sandbox.pergame.net> Date: Mon, 25 Aug 2014 17:44:22 +0200 Subject: [PATCH] dev #15695 display message when an error occured in sending mail process --- .../opac/controllers/AuthController.php | 2 +- .../scripts/auth/newsletter-message.phtml | 5 +-- .../opac/controllers/AuthControllerTest.php | 32 +++++++++++++++++++ 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/application/modules/opac/controllers/AuthController.php b/application/modules/opac/controllers/AuthController.php index 5e8ffb08cab..548939d463d 100644 --- a/application/modules/opac/controllers/AuthController.php +++ b/application/modules/opac/controllers/AuthController.php @@ -298,7 +298,7 @@ class AuthController extends ZendAfi_Controller_Action { ->addBcc($mail_admin) ->send(); } catch (Exception $e) { - $this->view->error = $e->getMessage(); + $this->view->error = $this->view->_('Une erreur est survenue à l\'envoi du mail de confirmation. Veuillez réessayer. Si le problème persiste, veuillez contacter votre médiathèque.'); return; } diff --git a/application/modules/opac/views/scripts/auth/newsletter-message.phtml b/application/modules/opac/views/scripts/auth/newsletter-message.phtml index e923bb9ac75..0c7a902b838 100644 --- a/application/modules/opac/views/scripts/auth/newsletter-message.phtml +++ b/application/modules/opac/views/scripts/auth/newsletter-message.phtml @@ -1,5 +1,6 @@ -<?php +<?php $this->openBoite($this->titre); echo $this->tag('p', $this->message); -echo $this->closeBoite(); +echo $this->tag('span', $this->error, ['class' => 'error']); +echo $this->closeBoite(); ?> diff --git a/tests/application/modules/opac/controllers/AuthControllerTest.php b/tests/application/modules/opac/controllers/AuthControllerTest.php index 39132ff3bc8..1184be2e0c8 100644 --- a/tests/application/modules/opac/controllers/AuthControllerTest.php +++ b/tests/application/modules/opac/controllers/AuthControllerTest.php @@ -1972,4 +1972,36 @@ class AuthControllerNewsletterUnsubscribeTest extends AbstractControllerTestCase $this->assertFlashMessengerEquals(['Vous êtes désinscrit de la liste de diffusion: Daily News']); } } + + + +class AuthControllerNewsletterRegisterSendMailWrongMailConfigurationTest extends AbstractControllerTestCase { + public function setUp() { + parent::setUp(); + + ZendAfi_Auth::getInstance()->clearIdentity(); + + $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.'); + } +} ?> \ No newline at end of file -- GitLab