From cc9aa24ad1d9a179bdc4604bc1f49e356c1df6d1 Mon Sep 17 00:00:00 2001 From: Laurent Laffont <llaffont@afi-sa.fr> Date: Fri, 23 Nov 2018 14:19:22 +0100 Subject: [PATCH] hotline #82155 handle Can_Rsv WS Orphee --- VERSIONS_HOTLINE/82155 | 1 + .../SIGB/Orphee/GetLstDmtResponseReader.php | 7 ++ .../Class/WebService/SIGB/OrpheeFixtures.php | 83 +++++++++++++++++++ .../WebService/SIGB/OrpheeServiceTest.php | 26 ++++++ 4 files changed, 117 insertions(+) create mode 100644 VERSIONS_HOTLINE/82155 diff --git a/VERSIONS_HOTLINE/82155 b/VERSIONS_HOTLINE/82155 new file mode 100644 index 00000000000..fe84d94d8c1 --- /dev/null +++ b/VERSIONS_HOTLINE/82155 @@ -0,0 +1 @@ + - ticket #82155 : SIGB Orphée: prise en compte de la donnée Can_Rsv pour indiquer la réservabilité des exemplaires dans la nouvelle version des web services d'Orphée \ No newline at end of file diff --git a/library/Class/WebService/SIGB/Orphee/GetLstDmtResponseReader.php b/library/Class/WebService/SIGB/Orphee/GetLstDmtResponseReader.php index 4b203f3722e..56cc0002941 100644 --- a/library/Class/WebService/SIGB/Orphee/GetLstDmtResponseReader.php +++ b/library/Class/WebService/SIGB/Orphee/GetLstDmtResponseReader.php @@ -78,6 +78,13 @@ class Class_WebService_SIGB_Orphee_GetLstDmtResponseReader extends Class_WebServ } + public function endCan_Rsv($data) { + $this + ->_current_exemplaire + ->setReservable('1' === $data); + } + + public function endDate_Last_Retour($data) { $this->_current_exemplaire->setDateRetour(trim($data)); } diff --git a/tests/library/Class/WebService/SIGB/OrpheeFixtures.php b/tests/library/Class/WebService/SIGB/OrpheeFixtures.php index d4788e1d868..ac16e65da1c 100644 --- a/tests/library/Class/WebService/SIGB/OrpheeFixtures.php +++ b/tests/library/Class/WebService/SIGB/OrpheeFixtures.php @@ -283,6 +283,89 @@ class OrpheeFixtures { <titre><![CDATA[[Millenium (Larsson, Stieg (1954-2004))]]></titre> <date_edi><![CDATA[2010]]></date_edi> </document> + + + <document> + <no><![CDATA[148899]]></no> + <ntc><![CDATA[1301700727]]></ntc> + <carte><![CDATA[200014899]]></carte> + <sit><![CDATA[1]]></sit> + <lib_sit><![CDATA[ en rayon]]></lib_sit> + <loc><![CDATA[2]]></loc> + <lib_loc><![CDATA[ Salle bleue]]></lib_loc> + <loc_ori><![CDATA[2]]></loc_ori> + <lib_loc_ori><![CDATA[ Salle bleue]]></lib_loc_ori> + <cote><![CDATA[952.05 SCO]]></cote> + <anx_ori><![CDATA[1]]></anx_ori> + <lib_anx_ori><![CDATA[ Bibliothèque]]></lib_anx_ori> + <anx_cur><![CDATA[1]]></anx_cur> + <lib_anx_cur><![CDATA[ Bibliothèque]]></lib_anx_cur> + <anx_nxt><![CDATA[1]]></anx_nxt> + <lib_anx_nxt><![CDATA[ Bibliothèque]]></lib_anx_nxt> + <no_coll><![CDATA[0]]></no_coll> + <site><![CDATA[20]]></site> + <lib_site><![CDATA[ Saint Cloud]]></lib_site> + <sup><![CDATA[108]]></sup> + <lib_sup><![CDATA[ Livre]]></lib_sup> + <sec><![CDATA[2]]></sec> + <lib_sec><![CDATA[ Adultes]]></lib_sec> + <uti><![CDATA[2]]></uti> + <lib_uti><![CDATA[ Prêt normal]]></lib_uti> + <sta1><![CDATA[98]]></sta1> + <lib_sta1><![CDATA[ Docum Adulte]]></lib_sta1> + <sta2><![CDATA[57]]></sta2> + <lib_sta2><![CDATA[ Histoire]]></lib_sta2> + <sta3><![CDATA[0]]></sta3> + <lib_sta3 /> + <date_last_pret><![CDATA[03/05/2018]]></date_last_pret> + <date_last_retour><![CDATA[31/08/2018]]></date_last_retour> + <droit_resa><![CDATA[0]]></droit_resa> + <lib_droit_resa /> + <titre><![CDATA[[Millenium (Larsson, Stieg (1954-2004))]]></titre> + <date_edi><![CDATA[2010]]></date_edi> + <can_rsv>1</can_rsv> + </document> + + + <document> + <no><![CDATA[148900]]></no> + <ntc><![CDATA[1301700727]]></ntc> + <carte><![CDATA[200014900]]></carte> + <sit><![CDATA[2]]></sit> + <lib_sit><![CDATA[ en rayon]]></lib_sit> + <loc><![CDATA[2]]></loc> + <lib_loc><![CDATA[ Salle bleue]]></lib_loc> + <loc_ori><![CDATA[2]]></loc_ori> + <lib_loc_ori><![CDATA[ Salle bleue]]></lib_loc_ori> + <cote><![CDATA[952.05 SCO]]></cote> + <anx_ori><![CDATA[1]]></anx_ori> + <lib_anx_ori><![CDATA[ Bibliothèque]]></lib_anx_ori> + <anx_cur><![CDATA[1]]></anx_cur> + <lib_anx_cur><![CDATA[ Bibliothèque]]></lib_anx_cur> + <anx_nxt><![CDATA[1]]></anx_nxt> + <lib_anx_nxt><![CDATA[ Bibliothèque]]></lib_anx_nxt> + <no_coll><![CDATA[0]]></no_coll> + <site><![CDATA[20]]></site> + <lib_site><![CDATA[ Saint Cloud]]></lib_site> + <sup><![CDATA[108]]></sup> + <lib_sup><![CDATA[ Livre]]></lib_sup> + <sec><![CDATA[2]]></sec> + <lib_sec><![CDATA[ Adultes]]></lib_sec> + <uti><![CDATA[2]]></uti> + <lib_uti><![CDATA[ Prêt normal]]></lib_uti> + <sta1><![CDATA[98]]></sta1> + <lib_sta1><![CDATA[ Docum Adulte]]></lib_sta1> + <sta2><![CDATA[57]]></sta2> + <lib_sta2><![CDATA[ Histoire]]></lib_sta2> + <sta3><![CDATA[0]]></sta3> + <lib_sta3 /> + <date_last_pret><![CDATA[03/05/2018]]></date_last_pret> + <date_last_retour><![CDATA[31/08/2018]]></date_last_retour> + <droit_resa><![CDATA[0]]></droit_resa> + <lib_droit_resa /> + <titre><![CDATA[[Millenium (Larsson, Stieg (1954-2004))]]></titre> + <date_edi><![CDATA[2010]]></date_edi> + <can_rsv>0</can_rsv> </documents> </datas>'; } diff --git a/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php b/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php index efcceec424e..defadebe3d4 100644 --- a/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php +++ b/tests/library/Class/WebService/SIGB/OrpheeServiceTest.php @@ -328,6 +328,16 @@ class OrpheeServiceTestGetLstDmntWithMillenium extends OrpheeServiceTestCase { ['id' => 3, 'code_barres' => '200019001649', 'id_origine' => 'frOr1301200059']), + + $this->fixture('Class_Exemplaire', + ['id' => 5, + 'code_barres' => '200014899', + 'id_origine' => 'frOr1301200059']), + + $this->fixture('Class_Exemplaire', + ['id' => 6, + 'code_barres' => '200014900', + 'id_origine' => 'frOr1301200059']) ] ]); @@ -466,6 +476,22 @@ class OrpheeServiceTestGetLstDmntWithMillenium extends OrpheeServiceTestCase { $this->assertNotEmpty($exemplaire); $this->assertTrue($exemplaire->isDisponible()); } + + + /** @test */ + public function exemplaireByCodeBarre200014899WithCanRsvOneShouldBeHoldable() { + $exemplaire = $this->_orphee->getExemplaire('frOr1301700727', '200014899'); + $this->assertNotEmpty($exemplaire); + $this->assertTrue($exemplaire->isReservable()); + } + + + /** @test */ + public function exemplaireByCodeBarre200014900WithCanRsvOneShouldNotBeHoldable() { + $exemplaire = $this->_orphee->getExemplaire('frOr1301700727', '200014900'); + $this->assertNotEmpty($exemplaire); + $this->assertFalse($exemplaire->isReservable()); + } } -- GitLab