diff --git a/VERSIONS_HOTLINE/144097 b/VERSIONS_HOTLINE/144097 new file mode 100644 index 0000000000000000000000000000000000000000..6970f489dee6780ac6b6ecff37f00f9455313d22 --- /dev/null +++ b/VERSIONS_HOTLINE/144097 @@ -0,0 +1 @@ + - correctif #144097 : SIGB Koha ; correction de l'identifiant pour la notice utilisé lors de l'appel webservice \ No newline at end of file diff --git a/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php b/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php index 57ce34ea82df096b834a0fbd90f10772dc5b4be8..2ff3ccccebc8cdea690179b65ea5333ad1948a01 100644 --- a/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php +++ b/library/Class/WebService/SIGB/Koha/GetRecordsResponseReader.php @@ -98,8 +98,8 @@ class Class_WebService_SIGB_Koha_GetRecordsResponseReader { $record = $doc->record; - if ($this->_hasChild('biblioitemnumber', $record)) - $this->_record->setId((string)$record->biblioitemnumber); + if ($this->_hasChild('biblionumber', $record)) + $this->_record->setId((string)$record->biblionumber); foreach($record->reserves->reserve as $xml_hold) $this->_handleHold($xml_hold); diff --git a/tests/fixtures/KohaFixtures.php b/tests/fixtures/KohaFixtures.php index fdf3058301138161e7332677b33b8cdafb978f5c..6af1681958aff347c38a510a110e8441436b50e5 100644 --- a/tests/fixtures/KohaFixtures.php +++ b/tests/fixtures/KohaFixtures.php @@ -311,6 +311,102 @@ class KohaFixtures { } + public static function xmlGetRecordOneJardinEnfanceWithWrongBiblioitemnumber() { + return + '<?xml version="1.0" encoding="ISO-8859-1" ?> + <GetRecords> + <record> + <isbn>9782862749198</isbn> + <marcxml> + <record + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd" + xmlns="http://www.loc.gov/MARC21/slim"> + <leader>00397nac a22001451u 4500</leader> + <datafield tag="010" ind1=" " ind2=" "> + <subfield code="a">9782862749198</subfield> + </datafield> + <datafield tag="090" ind1=" " ind2=" "> + <subfield code="a">1</subfield> + </datafield> + <datafield tag="101" ind1=" " ind2=" "> + <subfield code="a">fre</subfield> + </datafield> + <datafield tag="100" ind1=" " ind2=" "> + <subfield code="a">20080725 frey50 </subfield> + </datafield> + <datafield tag="200" ind1=" " ind2=" "> + <subfield code="a">Jardins d\'enfance</subfield> + <subfield code="b">LITT</subfield> + <subfield code="f">Abécassis, Eliette</subfield> + </datafield> + <datafield tag="210" ind1=" " ind2=" "> + <subfield code="c">cherche midi éditeur</subfield> + <subfield code="d">11/2001</subfield> + </datafield> + <datafield tag="215" ind1=" " ind2=" "> + <subfield code="a">180</subfield> + </datafield> + <datafield tag="225" ind1=" " ind2=" "> + <subfield code="a">nouvelles</subfield> + </datafield> + <datafield tag="995" ind1=" " ind2=" "> + <subfield code="9">1</subfield> + <subfield code="c">BIB</subfield> + <subfield code="2">0</subfield> + <subfield code="k">R ABE</subfield> + <subfield code="o">0</subfield> + <subfield code="e">Secteur Adulte</subfield> + <subfield code="b">BIB</subfield> + <subfield code="j">7786000200</subfield> + <subfield code="q">a</subfield> + <subfield code="r">2</subfield> + <subfield code="s">Achats</subfield> + </datafield> + <controlfield tag="001">1</controlfield> + </record> + </marcxml> + <publicationyear>2001</publicationyear> + <collectiontitle>nouvelles</collectiontitle> + <pages>180</pages> + <issues> + </issues> + <itemtype>LITT</itemtype> + <biblionumber>1</biblionumber> + <timestamp>2008-09-03 18:43:19</timestamp> + <cn_sort>_</cn_sort> + <publishercode>cherche midi éditeur</publishercode> + <reserves> + </reserves> + <items> + <item> + <biblioitemnumber>2</biblioitemnumber> + <wthdrawn>0</wthdrawn> + <holdingbranchname>Bibliothèque Jean Prunier</holdingbranchname> + <notforloan>0</notforloan> + <replacementpricedate>2008-08-20</replacementpricedate> + <itemnumber>1</itemnumber> + <location>Secteur Adulte</location> + <itemcallnumber>R ABE</itemcallnumber> + <date_due>2011-08-20</date_due> + <itemlost>0</itemlost> + <datelastseen>2008-08-20</datelastseen> + <homebranch>BIB</homebranch> + <homebranchname>Bibliothèque Jean Prunier</homebranchname> + <biblionumber>1</biblionumber> + <holdingbranch>BIB</holdingbranch> + <timestamp>2008-08-20 17:15:51</timestamp> + <damaged>0</damaged> + <cn_sort>R_ABE</cn_sort> + <dateaccessioned>2008-08-20</dateaccessioned> + </item> + </items> + <biblioitemnumber>2</biblioitemnumber> + </record> + </GetRecords>'; + } + + public static function xmlGetRecordOneJardinEnfance() { return '<?xml version="1.0" encoding="ISO-8859-1" ?> diff --git a/tests/library/Class/WebService/SIGB/KohaTest.php b/tests/library/Class/WebService/SIGB/KohaTest.php index 748e86be9596f05994c6cde8b551899fc4288e1d..029d4e74b2a580663a814dbe637c0fa4d3ff3da3 100644 --- a/tests/library/Class/WebService/SIGB/KohaTest.php +++ b/tests/library/Class/WebService/SIGB/KohaTest.php @@ -204,6 +204,30 @@ class KohaServiceGetNoticeJardinEnfantTest extends KohaTestCase { + + +class KohaServiceGetNoticeJardinEnfantWithInconsistantBiblioitemnumberTest extends KohaTestCase { + public function setUp() { + parent::setUp(); + + $this->mock_web_client + ->whenCalled('open_url') + ->with('http://cat-aficg55.biblibre.com/cgi-bin/koha/ilsdi.pl?service=GetRecords&id=1') + ->answers(KohaFixtures::xmlGetRecordOneJardinEnfanceWithWrongBiblioitemnumber()); + + $this->jardins_enfant = $this->service->getNotice('1'); + } + + + /** @test */ + public function noticeIdShouldBe1() { + $this->assertEquals('1', $this->jardins_enfant->getId()); + } +} + + + + abstract class KohaServiceGetNoticeHarryPotterTestCase extends KohaTestCase { public function setUp() { parent::setUp();