Skip to content
Snippets Groups Projects
Commit fba797a6 authored by Laurent's avatar Laurent
Browse files

dev #13060 remove hand sql queries that may broke tests

parent 4cd19c00
Branches
Tags 5.13
5 merge requests!258Dev/13872 Orphee Allow Hold Available Items,!180Master,!169Dev#13060 Amelioration Formulaire Inscription,!167Master,!152Dev#13060 Amelioration Formulaire Inscription
......@@ -909,27 +909,28 @@ class Class_Users extends Storm_Model_Abstract {
if(!trim($user))
return array('error' => 1);
$enreg=fetchEnreg("Select * from bib_admin_users where LOGIN='$user'");
if (!$enreg) $enreg=fetchEnreg("Select * from bib_admin_users_non_valid where LOGIN='$user'");
if (!$enreg["LOGIN"])
return array('error' => 2);
if (!$user = Class_Users::getLoader()->findFirstBy(['login' => $user]))
$user = Class_UsersNonValid::getLoader()->findFirstBy(['login' => $user]);
if (!$enreg["MAIL"])
return array('error' => 4);
if (!$user)
return ['error' => 2];
if (!$user->hasMail())
return ['error' => 4];
// envoi du mail
$message_mail = sprintf("%s\n\n",
$this->_('Vous avez fait une demande de mot de passe sur le portail.'));
$message_mail .= $this->_("Votre identifiant : %s\n", $enreg["LOGIN"]);
$message_mail .= $this->_("Votre mot de passe : %s\n", $enreg["PASSWORD"]);
$message_mail .= $this->_("Votre identifiant : %s\n", $user->getLogin());
$message_mail .= $this->_("Votre mot de passe : %s\n", $user->getPassword());
$message_mail .= sprintf("%s\n\n", $this->_('Bonne navigation sur le portail'));
$mail = new Class_Mail();
$erreur = $mail->sendMail(Class_Profil::getCurrentProfil()->getTitreSite(), $message_mail, $enreg["MAIL"]);
$erreur = (new Class_Mail())->sendMail(Class_Profil::getCurrentProfil()->getTitreSite(),
$message_mail,
$user->getMail());
if($erreur)
return array('message_mail' => '<p class="error">'.$erreur.'</p>');
return array('message_mail' => $this->_("Un mail vient de vous être envoyé avec vos paramètres de connexion."));
return $erreur
? ['message_mail' => '<p class="error">'.$erreur.'</p>']
: ['message_mail' => $this->_("Un mail vient de vous être envoyé avec vos paramètres de connexion.")];
}
//------------------------------------------------------------------------------------------------------
......
......@@ -455,7 +455,7 @@ class UsersTestAge extends ModelTestCase {
abstract class UsersMailingActionTestCase extends Storm_Test_ModelTestCase {
protected $mock_transport, $user ,$mock_sql;
protected $mock_transport, $user;
public function setUp() {
parent::setUp();
......@@ -466,9 +466,6 @@ abstract class UsersMailingActionTestCase extends Storm_Test_ModelTestCase {
$this->user = new Class_Users();
$this->mock_sql = Storm_Test_ObjectWrapper::on(Zend_Registry::get('sql'));
Zend_Registry::set('sql', $this->mock_sql);
Class_CosmoVar::getLoader()
->newInstanceWithId('mail_admin')
......@@ -478,23 +475,22 @@ abstract class UsersMailingActionTestCase extends Storm_Test_ModelTestCase {
->setMailSite('');
}
public function tearDown() {
Zend_Registry::set('sql', $this->mock_sql->getWrappedObject());
parent::tearDown();
}
protected function getSentMail() {
return $this->mock_transport->sent_mail;
}
protected function getSentMailRecipients() {
return $this->getSentMail()->getRecipients();
}
protected function getSentMailFrom() {
return $this->getSentMail()->getFrom();
}
protected function getSentMailContent() {
return quoted_printable_decode($this->getSentMail()->getBodyText()->getContent());
}
......@@ -509,13 +505,18 @@ class UsersLostPassTest extends UsersMailingActionTestCase {
public function setUp() {
parent::setUp();
$this->mock_sql
->whenCalled('fetchEnreg')
->with("Select * from bib_admin_users where LOGIN='zork'", false)
->answers(array('LOGIN' => 'zork',
'MAIL' => 'zork@afi.fr',
'PASSWORD' => '123'))
->beStrict();
$this->fixture('Class_Users',
['id' => '8',
'login' => 'zork',
'mail' => 'zork@afi.fr',
'password' => '123']);
$this->fixture('Class_UsersNonValid',
['id' => '9',
'login' => 'glub',
'mail' => 'glub@afi.fr',
'password' => '456']);
$this->ret = $this->user->lostPass('zork');
}
......@@ -539,6 +540,13 @@ class UsersLostPassTest extends UsersMailingActionTestCase {
$this->assertContains('Votre identifiant : zork', $body);
$this->assertContains('Votre mot de passe : 123', $body);
}
/** @test */
public function withUserNonValidGlubMailShouldHaveBeenSentToGlub() {
$this->ret = $this->user->lostPass('glub');
$this->assertContains('glub@afi.fr', $this->getSentMailRecipients());
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment