From 4d266250de0682fc9301525d7698b535c9f6c4aa Mon Sep 17 00:00:00 2001 From: llaffont <llaffont@git-test.afi-sa.fr> Date: Wed, 22 Aug 2012 13:15:25 +0000 Subject: [PATCH] =?UTF-8?q?R=C3=A9cup=C3=A9ration=20des=20infos=20SIGB=20s?= =?UTF-8?q?ur=20cr=C3=A9ation=20de=20l'utilisateur=20en=20temps=20r=C3=A9e?= =?UTF-8?q?l?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/ZendAfi/Auth/Adapter/CommSIGB.php | 14 ++++++++++++- .../ZendAfi/Auth/Adapter/AuthCommSigbTest.php | 20 +++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/library/ZendAfi/Auth/Adapter/CommSIGB.php b/library/ZendAfi/Auth/Adapter/CommSIGB.php index 559827a39a5..b96cef8bb01 100644 --- a/library/ZendAfi/Auth/Adapter/CommSIGB.php +++ b/library/ZendAfi/Auth/Adapter/CommSIGB.php @@ -59,6 +59,11 @@ class ZendAfi_Auth_Adapter_CommSigb implements Zend_Auth_Adapter_Interface { $user ->beAbonneSIGB() + ->setIdabon($emprunteur->getId()) + ->setIdSite($bib->getId()) + ->setNom($emprunteur->getNom()) + ->setPrenom($emprunteur->getPrenom()) + ->setMail($emprunteur->getEmail()) ->save(); $this->_authenticated_user = $user; return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $login); @@ -69,7 +74,14 @@ class ZendAfi_Auth_Adapter_CommSigb implements Zend_Auth_Adapter_Interface { public function getResultObject() { - return new StdClass(); + $result = new StdClass(); + + $fields = $this->_authenticated_user->toArray(); + foreach($fields as $field => $value) { + $prop_name = strtoupper($field); + $result->$prop_name = $value; + } + return $result; } } diff --git a/tests/library/ZendAfi/Auth/Adapter/AuthCommSigbTest.php b/tests/library/ZendAfi/Auth/Adapter/AuthCommSigbTest.php index 96c8bbbcf7b..83dad12ec45 100644 --- a/tests/library/ZendAfi/Auth/Adapter/AuthCommSigbTest.php +++ b/tests/library/ZendAfi/Auth/Adapter/AuthCommSigbTest.php @@ -20,7 +20,7 @@ */ -class AuthAdapterCommSigbTest extends Storm_Test_ModelTestCase { +class AuthAdapterCommSigbSuccessfullAuthenticationTest extends Storm_Test_ModelTestCase { public function setUp() { parent::setUp(); @@ -28,7 +28,9 @@ class AuthAdapterCommSigbTest extends Storm_Test_ModelTestCase { Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Users') ->whenCalled('save') - ->answers(true); + ->willDo(function($user) { + $user->setId(23); + return true; }); $this->_adapter = (new ZendAfi_Auth_Adapter_CommSigb()) ->setIdentity('zork_sigb') @@ -66,6 +68,7 @@ class AuthAdapterCommSigbTest extends Storm_Test_ModelTestCase { ->answers(Class_WebService_SIGB_Emprunteur::newInstance('001234') ->setNom('Zork') ->setPrenom('Zinn') + ->setEMail('zork@gmail.com') ->beValid()); return $this; } @@ -75,5 +78,18 @@ class AuthAdapterCommSigbTest extends Storm_Test_ModelTestCase { public function authenticateZorkShouldReturnValidResult() { $this->assertTrue($this->_adapter->authenticate()->isValid()); } + + + /** @test */ + public function resultObjectShouldBeSetUp() { + $this->_adapter->authenticate(); + $result = $this->_adapter->getResultObject(); + $this->assertEquals(23, $result->ID_USER); + $this->assertEquals('001234', $result->IDABON); + $this->assertEquals(74, $result->ID_SITE); + $this->assertEquals('Zork', $result->NOM); + $this->assertEquals('Zinn', $result->PRENOM); + $this->assertEquals('zork@gmail.com', $result->MAIL); + } } ?> \ No newline at end of file -- GitLab