diff --git a/library/Class/WebService/SIGB/Exemplaire.php b/library/Class/WebService/SIGB/Exemplaire.php index c9de0d2a6c827eb217d0af0fc59057dc91568ebc..8e7a2aa529e689c8ca26883672d29e248a197d4e 100644 --- a/library/Class/WebService/SIGB/Exemplaire.php +++ b/library/Class/WebService/SIGB/Exemplaire.php @@ -352,6 +352,7 @@ class Class_WebService_SIGB_Exemplaire { public function setNbReservations($nb_resas) { $this->nb_resas = $nb_resas; + return $this; } public function getNbReservations() { diff --git a/library/ZendAfi/View/Helper/Notice/Exemplaires.php b/library/ZendAfi/View/Helper/Notice/Exemplaires.php index 7186e30bd59d7078a8310c4df2aad1bbeb63e64c..3d54b4361f0518e9855de57e7a6099699a8fda3e 100644 --- a/library/ZendAfi/View/Helper/Notice/Exemplaires.php +++ b/library/ZendAfi/View/Helper/Notice/Exemplaires.php @@ -23,7 +23,6 @@ class ZendAfi_View_Helper_Notice_Exemplaires extends Zend_View_Helper_HtmlElemen public function Notice_Exemplaires($exemplaires,$nb_notices_oeuvre=0,$aff="normal") { $this->preferences = Class_Profil::getCurrentProfil()->getCfgNoticeAsArray(); - if (!$exemplaires) return false; $preferences = $this->preferences["exemplaires"]; @@ -81,8 +80,8 @@ class ZendAfi_View_Helper_Notice_Exemplaires extends Zend_View_Helper_HtmlElemen if($ex["dispo"] == Class_WebService_SIGB_Exemplaire::DISPO_LIBRE){ $class_dispo = 'disponible'; } - if ( isset($ex['nb_resas']) && $nb_resa=$ex['nb_resas']>0) - $ex['dispo'].=' '.$this->view->_plural($nb_resa,'','%s réservation','%s réservations',$nb_resa).' en cours'; + if ( isset($ex['nb_resas']) && $ex['nb_resas']>0) + $ex['dispo'].=' '.$this->view->_plural($ex['nb_resas'],'','%s réservation','%s réservations',$ex['nb_resas']).' en cours'; $html.='<td class="dispo '.$class_dispo.'">'.$ex["dispo"].'</td>'; } if($preferences["date_retour"]==1) $html.='<td class="date_retour">'.$ex["date_retour"].'</td>'; diff --git a/tests/library/ZendAfi/View/Helper/Notice/ExemplairesTest.php b/tests/library/ZendAfi/View/Helper/Notice/ExemplairesTest.php index 22e7a0f52278ff5c46621a7d0e5d48bc01f74550..d9fb4bd71a9b7bb10a7d39e400d4ddd702cee551 100644 --- a/tests/library/ZendAfi/View/Helper/Notice/ExemplairesTest.php +++ b/tests/library/ZendAfi/View/Helper/Notice/ExemplairesTest.php @@ -67,7 +67,7 @@ class NoticeHtmlGetExemplairesWithOneExemplaireNoWebServiceTest extends ZendAfi_ /** @test */ public function reservationLinkShouldNotBeVisible() { $this->assertNotXPath($this->html, - '//a[@data-popup="true"]'); + '//a[@data-popup="true"]'); } } @@ -81,18 +81,18 @@ abstract class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase ex parent::setUp(); $_SESSION['id_profil'] = 4; Class_Profil::setCurrentProfil( - Class_Profil::getLoader() - ->newInstanceWithId(4) - ->setCfgNotice(array('exemplaires' => array('grouper' => 1, - 'bib' => 1, - 'annexe' => 1, - 'section' => 1, - 'emplacement' => 1, - 'dispo' => 1, - 'date_retour' => 1, - 'localisation' => 1, - 'plan' => 1, - 'resa' => 1)))); + Class_Profil::getLoader() + ->newInstanceWithId(4) + ->setCfgNotice(array('exemplaires' => array('grouper' => 1, + 'bib' => 1, + 'annexe' => 1, + 'section' => 1, + 'emplacement' => 1, + 'dispo' => 1, + 'date_retour' => 1, + 'localisation' => 1, + 'plan' => 1, + 'resa' => 1)))); Class_IntBib::getLoader() @@ -107,22 +107,25 @@ abstract class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase ex ->setId(5) ->setDisponibiliteEnPret() ->setDateRetour('20/03/2012') - ->beReservable()) + ->beReservable() + ->setNbReservations(4)) ->whenCalled('isConnected') ->answers(true) ->getWrapper()); - $this->exemplaire = array('id' => 12, - 'id_bib' => 1, - 'id_notice' => '24765', - 'id_origine' => '666', - 'annexe' => 'MOUL', - 'count(*)' => 2, //??? - 'cote' => 'DSEM', - 'dispo' => "Disponible", - 'code_barres' => "12345", - 'section' => 3, - 'emplacement' => 2); + $this->exemplaire = ['id' => 12, + 'id_bib' => 1, + 'id_notice' => '24765', + 'id_origine' => '666', + 'annexe' => 'MOUL', + 'count(*)' => 2, //??? + 'cote' => 'DSEM', + 'dispo' => "Disponible", + 'code_barres' => "12345", + 'section' => 3, + 'emplacement' => 2, + 'nb_resas'=>0, + 'edition'=>'2011']; } } @@ -130,12 +133,12 @@ abstract class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase ex class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTest - extends NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase { +extends NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase { public function setUp() { parent::setUp(); Class_CosmoVar::newInstanceWithId('site_retrait_resa', ['valeur' => 0]); - $this->html = $this->_helper->Notice_Exemplaires(array($this->exemplaire)); + $this->html = $this->_helper->Notice_Exemplaires(array($this->exemplaire)); } @@ -144,13 +147,20 @@ class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTest $this->assertXPath($this->html, '//a[@data-popup="true"][contains(@href, "recherche/reservation-pickup-ajax/id_bib/1/id_origine/12/code_annexe/MOUL")]'); } + + + /** @test **/ + public function disponibiliteShoudBeDisponibleAnd2Reservation() { + $this->assertXPathContentContains($this->html,'//td',utf8_encode('En prêt 4 réservations en cours'),$this->html); + } + } class NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceAndPickupActiveTest - extends NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase { +extends NoticeHtmlGetExemplairesWithOneExemplaireAndWebServiceTestCase { public function setUp() {