diff --git a/library/ZendAfi/Auth/Adapter/CommSIGB.php b/library/ZendAfi/Auth/Adapter/CommSIGB.php index 559827a39a55d9dceb192676059952994c94d392..b96cef8bb01cfd0f9400fc6072e0870290fe7bf8 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 96c8bbbcf7b4a427c0cbb3bf3650e22ed303bd37..83dad12ec45b7578a4e4ca2460ffee4914a81580 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