diff --git a/library/Class/WebService/SIGB/Carthame/AccountResponseReader.php b/library/Class/WebService/SIGB/Carthame/AccountResponseReader.php index ebe2536e56a85f43419dda08ce89f1bb2f567ed1..8810517441a400136d38ef248b35dddc1aeb20b5 100644 --- a/library/Class/WebService/SIGB/Carthame/AccountResponseReader.php +++ b/library/Class/WebService/SIGB/Carthame/AccountResponseReader.php @@ -117,6 +117,9 @@ class Class_WebService_SIGB_Carthame_AccountResponseReader { $data = (string)$data; $this->_current_reservation->setEtat(isset($mapping[$data]) ? $mapping[$data] : ''); + + if (isset($data) && $data == 'D') + $this->_current_reservation->setWaitingToBePulled(); } diff --git a/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php b/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php index b4b0ce53933ce1df8d460e37d8100455094e4984..d8db258275752d2a51bfd17a1b7661eb863f8d6e 100644 --- a/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php +++ b/library/Class/WebService/SIGB/Nanook/PatronInfoReader.php @@ -147,8 +147,10 @@ class Class_WebService_SIGB_Nanook_PatronInfoReader extends Class_WebService_SIG * @param string $data */ public function endAvailable($data) { - if (1 == (int)$data) + if (1 == (int)$data) { $this->_currentHold->setEtat('Disponible'); + $this->_currentHold->setWaitingToBePulled(); + } } diff --git a/library/Class/WebService/SIGB/Orphee/GetLstRsvResponseReader.php b/library/Class/WebService/SIGB/Orphee/GetLstRsvResponseReader.php index 65244980c8d1ae9ecbffd5bc5ba91cfcda1d0582..726630a6cb6f5c1712dd0fb1e2d9c2d602918e4a 100644 --- a/library/Class/WebService/SIGB/Orphee/GetLstRsvResponseReader.php +++ b/library/Class/WebService/SIGB/Orphee/GetLstRsvResponseReader.php @@ -86,6 +86,9 @@ class Class_WebService_SIGB_Orphee_GetLstRsvResponseReader extends Class_WebServ public function endSit($data) { $this->_current_reservation->setEtat(trim($data)); + + if (trim($data) != 'en attente') + $this->_current_reservation->setWaitingToBePulled(); } diff --git a/tests/library/Class/WebService/SIGB/CarthameTest.php b/tests/library/Class/WebService/SIGB/CarthameTest.php index c41fc3982fb56344754acb4a92bec23349ce4ecd..6afb205919d251cfa2bd5328cf7517a3c3aeed43 100644 --- a/tests/library/Class/WebService/SIGB/CarthameTest.php +++ b/tests/library/Class/WebService/SIGB/CarthameTest.php @@ -410,6 +410,12 @@ class CarthameEmprunteurPatrickBTest extends CarthameOperationTestCase { } + /** @test */ + public function nbOfHoldsWaitingToBePulledShouldBeOne() { + $this->assertCount(1, $this->emprunteur->getHoldsWaitingToBePulled()); + } + + /** @test */ public function nbEmpruntShouldBeTwo() { $this->assertEquals(2, $this->emprunteur->getNbEmprunts()); diff --git a/tests/library/Class/WebService/SIGB/NanookTest.php b/tests/library/Class/WebService/SIGB/NanookTest.php index e0ecfa97e6fb1aab70e68340d1db4a7a0a6ba7e2..c53707def459f992d5388fe0f8d1b80ae25c8bd4 100644 --- a/tests/library/Class/WebService/SIGB/NanookTest.php +++ b/tests/library/Class/WebService/SIGB/NanookTest.php @@ -614,6 +614,12 @@ class NanookGetEmprunteurChristelDelpeyrouxTest extends NanookTestCase { } + /** @test */ + public function nbWaitingToBePulledShouldBeOne() { + $this->assertCount(1, $this->_emprunteur->getHoldsWaitingToBePulled()); + } + + /** @test */ public function firstReservationIdShouldBe7105() { $this->assertEquals('7105', $this->_emprunteur->getReservationAt(0)->getId()); diff --git a/tests/library/Class/WebService/SIGB/OrpheeFixtures.php b/tests/library/Class/WebService/SIGB/OrpheeFixtures.php index 9552d3ee30885dc45998c0ec0b225ece30a83d5d..4015b314c734cd7a766de39f38d6d23b06711213 100644 --- a/tests/library/Class/WebService/SIGB/OrpheeFixtures.php +++ b/tests/library/Class/WebService/SIGB/OrpheeFixtures.php @@ -387,6 +387,20 @@ renouvellement --> <rang>1</rang> <anx_nxt>R</anx_nxt> </document> + <document> + <cb></cb> + <no_ntc><![CDATA[975467778]]></no_ntc> + <no_dmt><![CDATA[790]]></no_dmt> + <sup><![CDATA[Livre]]></sup> + <tit><![CDATA[Le singe bleu]]></tit> + <auteur><![CDATA[Steinbeck, John (1902-1968)]]></auteur> + <editeur><![CDATA[Gallimard]]></editeur> + <sit><![CDATA[????????]]></sit> + <date_crea><![CDATA[09/06/2008]]></date_crea> + <date_fin></date_fin> + <rang>1</rang> + <anx_nxt>R</anx_nxt> + </document> </documents> </datas> '; } diff --git a/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php b/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php index be6dcacffd6937119a8a87d1e168cafeb971777b..9ed3999e537c917eb4c0c6f167a4fc3c3e53d495 100644 --- a/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php +++ b/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php @@ -731,6 +731,12 @@ class OrpheeServiceGetInfoUserCarteHenryDupontTest extends OrpheeServiceTestCase } + /** @test */ + public function nbOfHoldsWaitingToBePulledShouldBeOne() { + $this->assertCount(1, $this->emprunteur->getHoldsWaitingToBePulled()); + } + + /** @test */ public function getIdShouldAnswer100753() { $this->assertEquals('100753', $this->emprunteur->getId());