diff --git a/library/Class/WebService/SIGB/Dynix/Service.php b/library/Class/WebService/SIGB/Dynix/Service.php index a0a3d2a5b41483bc0431a9eb4c6d6bf6ce305a81..65e9f2edbdb81c1d7db0ed39cad9f8b0bdded271 100644 --- a/library/Class/WebService/SIGB/Dynix/Service.php +++ b/library/Class/WebService/SIGB/Dynix/Service.php @@ -140,9 +140,13 @@ class Class_Webservice_SIGB_Dynix_Service extends Class_WebService_SIGB_Abstract protected function _buildMailBody($user, $exemplaire, $annexe) { + xdebug_break(); $content = "Bonjour,\n\n"; $content .= sprintf("%s, %s (N° : %s) désire réserver le document suivant : \n", $user->getNom(), $user->getPrenom(), $user->getIdabon()); + + $content .= "URL de la notice : ".$this->_getUrlNotice($exemplaire->getNotice())."\n"; + $content .= "Titre : ".$exemplaire->getTitreEtSousTitre()."\n"; $content .= "Auteur : ".$exemplaire->getAuteurPrincipal()."\n"; $content .= "Editeur : ".$exemplaire->getEditeur()."\n"; @@ -153,6 +157,15 @@ class Class_Webservice_SIGB_Dynix_Service extends Class_WebService_SIGB_Abstract } + protected function _getUrlNotice($notice){ + return (new ZendAfi_Controller_Action_Helper_View()) + ->absoluteUrl(['controller'=>'recherche', + 'action'=>'viewnotice', + 'id'=>$notice->getId(), + 'clef'=>$notice->getClefAlpha()],null,true); + } + + public function supprimerReservation($user, $reservation_id){ return $this->_userHttpAction($user, 'cancelMyHold', diff --git a/tests/application/modules/opac/controllers/RechercheControllerTest.php b/tests/application/modules/opac/controllers/RechercheControllerTest.php index 7b311d9c37a8659e775104fcc6636b077bf6d3ee..559d604af2be609cb0c21326ba7a572cf1dd77bf 100644 --- a/tests/application/modules/opac/controllers/RechercheControllerTest.php +++ b/tests/application/modules/opac/controllers/RechercheControllerTest.php @@ -1551,6 +1551,12 @@ class RechercheControllerAjoutNoticePanierUrlWithMurConfigTest extends Recherche public function linksAjoutPanierShouldHaveDataPopupTrue() { $this->assertXPath('//a[contains(@href, "/panier/ajout-ajax/id_notice/")][@data-popup="true"]'); } + + + /** @test **/ + public function permalinkShouldBeDisplay() { + $this->assertXPath('//input[contains(@value,"recherche/viewnotice/expressionRecherche/")]',$this->_response->getBody()); + } } diff --git a/tests/library/Class/WebService/SIGB/DynixTest.php b/tests/library/Class/WebService/SIGB/DynixTest.php index 9f6d9c8357305cad333608c8b388dc5b4c5aea2c..3ce50404e1e3ab72a0069c4f9fb4240d02e75b36 100644 --- a/tests/library/Class/WebService/SIGB/DynixTest.php +++ b/tests/library/Class/WebService/SIGB/DynixTest.php @@ -392,6 +392,10 @@ abstract class DynixOperationsTestCase extends DynixTestCase { public function setUp() { parent::setUp(); + Zend_Controller_Front::getInstance() + ->getRouter() + ->addDefaultRoutes(); + $this->_mock_web_client ->whenCalled('open_url') ->with('http://www.infocom94.fr:8080/capcvm/rest/security/loginUser?clientID=SymWS&login=0917036&password=secret') @@ -510,6 +514,7 @@ class DynixOperationsTest extends DynixOperationsTestCase { class DynixReservationByMailForAvailableDocTest extends DynixOperationsTestCase { public function setUp() { parent::setUp(); + $this->_mock_web_client ->whenCalled('open_url') ->with('http://www.infocom94.fr:8080/capcvm/rest/standard/lookupTitleInfo?clientID=SymWS&titleID=233823&includeItemInfo=true&includeAvailabilityInfo=true') @@ -585,13 +590,20 @@ class DynixReservationByMailForAvailableDocTest extends DynixOperationsTestCase /** @test */ - public function mailContentShouldContainsUserInfoAndTitre() { + public function mailContentShouldContainsUserInfo() { $content = quoted_printable_decode($this->mail->getBodyText()->getContent()); - $this->assertContains('Titre : Le combat ordinaire', $content); - $this->assertContains('Lieu de retrait : Limeil', $content); $this->assertContains('Adresse e-mail : lsky@gmail.com', $content); $this->assertContains('Skywalker, Luc', $content); } + + + /** @test */ + public function mailContentShouldContainsExmplaireInfo() { + $content = quoted_printable_decode($this->mail->getBodyText()->getContent()); + $this->assertContains('Titre : Le combat ordinaire', $content); + $this->assertContains('Lieu de retrait : Limeil', $content); + $this->assertContains('URL de la notice : http://',$content); + } }