diff --git a/library/Class/AvisNotice.php b/library/Class/AvisNotice.php index c4a97f61d2ed9b981d61abe856b36eb1eae89aa6..bd265286f71dfea00f11b843ad54b41978a4637c 100644 --- a/library/Class/AvisNotice.php +++ b/library/Class/AvisNotice.php @@ -117,7 +117,9 @@ class Class_AvisNotice extends Storm_Model_Abstract { protected $_belongs_to = ['user' => ['model' => 'Class_Users', 'referenced_in' => 'id_user']]; - protected $_default_attribute_values = ['statut' => 0]; + protected $_default_attribute_values = ['statut' => 0, + 'clef_oeuvre' => '', + 'date_avis' => null]; protected $_notices; protected $_import_mode = false; @@ -184,6 +186,7 @@ class Class_AvisNotice extends Storm_Model_Abstract { * oeuvre à été mis à jour dans le SIGB, essaye de retrouver la notice et réaffecte l'avis */ protected function _findNoticesByClefOeuvre() { + xdebug_break(); if ($notices = Class_Notice::findAllBy(['clef_oeuvre' => $this->getClefOeuvre()])) return $notices; diff --git a/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php b/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php index 1f2339cfd2f41140f962391cfd953732393c86f2..0fcbf3f2420722d0ef6eadd50e2dd2f9927c9449 100644 --- a/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php +++ b/tests/application/modules/opac/controllers/AbonneControllerAvisTest.php @@ -250,44 +250,47 @@ abstract class AvisControllersFixturesTestCase extends AbonneFlorenceIsLoggedCon public function setUp() { parent::setUp(); - $this->modo_avis = new Class_AdminVar(); - $this->modo_avis - ->setId('MODO_AVIS') - ->setValeur(0); - - $this->modo_avis_biblio = new Class_AdminVar(); - $this->modo_avis_biblio - ->setId('MODO_AVIS_BIBLIO') - ->setValeur(0); + $this->fixture('Class_AdminVar', + ['id' => 'AVIS_MIN_SAISIE', + 'valeur' => 0]); + $this->fixture('Class_AdminVar', + ['id' => 'AVIS_MAX_SAISIE', + 'valeur' => 1000]); - $this->readspeaker = new Class_AdminVar(); - $this->readspeaker - ->setId('ID_READ_SPEAKER') - ->setValeur('54QCJRHZ31IPBV7GW3DKBPUYYP579A14'); + $this->fixture('Class_AdminVar', + ['id' => 'MODO_AVIS', + 'valeur' => 0]); + $this->fixture('Class_AdminVar', + ['id' => 'MODO_AVIS_BIBLIO', + 'valeur' => 0]); - Class_AdminVar::getLoader() - ->cacheInstance($this->modo_avis) - ->cacheInstance($this->modo_avis_biblio) - ->cacheInstance($this->readspeaker); + $this->fixture('Class_AdminVar', + ['id' => 'ID_READ_SPEAKER', + 'valeur' => '54QCJRHZ31IPBV7GW3DKBPUYYP579A14']); - $this->millenium = Class_Notice::newInstanceWithId(816, ['titre_principal' => 'Millenium', - 'clef_alpha' => 'MILLENIUM', - 'auteur_principal' => 'Stieg Larsson', - 'url_vignette' => '', - 'url_image' => '' - ] + $this->millenium = $this->fixture('Class_Notice', ['id' => 816, + 'titre_principal' => 'Millenium', + 'clef_alpha' => 'MILLENIUM', + 'auteur_principal' => 'Stieg Larsson', + 'url_vignette' => '', + 'url_image' => '' + ] ); - $this->millenium->save(); - $this->millenium_with_vignette = Class_Notice::newInstanceWithId(817, ['titre_principal' => 'Millenium', - 'clef_alpha' => 'MILLENIUM', - 'auteur_principal' => 'Stieg Larsson', - 'url_vignette' => 'http://amazon.com/vignette_millenium.png' - ] + + + + + $this->millenium_with_vignette = $this->fixture('Class_Notice', ['id' => 817, + 'titre_principal' => 'Millenium', + 'clef_alpha' => 'MILLENIUM', + 'auteur_principal' => 'Stieg Larsson', + 'url_vignette' => 'http://amazon.com/vignette_millenium.png' + ] ); - $this->millenium_with_vignette->save(); + $this->avis_millenium = $this->fixture('Class_AvisNotice', ['id' => 13, @@ -301,54 +304,57 @@ abstract class AvisControllersFixturesTestCase extends AbonneFlorenceIsLoggedCon 'notices' => [$this->millenium, $this->millenium_with_vignette] ]); - $this->avis_millenium->save(); - $this->potter = Class_Notice::newInstance(); - $this->potter - ->setTitrePrincipal('Potter et la chambre des secrets') - ->setAuteurPrincipal('') - ->setUrlVignette('http://amazon.com/vignette_potter.png'); - $this->potter->save(); - $this->avis_potter = Class_AvisNotice::newInstanceWithId(25, - ['entete' => 'Prenant', - 'avis' => "Mais un peu trop naïf", - 'note'=>4, - 'date_avis' => '2010-10-12 10:00:00', - 'user'=>$this->florence, - 'statut' => 1, - 'abon_out_bib' => 1, - 'notices' => [$this->potter]]); - - $this->avis_potter->save(); - - $this->avis_lost = Class_AvisNotice::newInstanceWithId(67, - ['entete' =>"C'est perdu", - 'avis' =>"Plus de notice, ni d'utilisateur", - 'note' => 4, - 'date_avis' => '2008-10-12 10:00:00', - 'user'=>null, - 'statut' => 1, - 'abon_out_bib' => 1, - 'notices' => []]); - $this->avis_lost->save(); - - - $this->florence->setAvis([$this->avis_millenium, $this->avis_potter]); - $this->florence->save(); - $dupont = Class_Users::newInstanceWithId(56, ['nom'=>'Dupont']); + $this->potter = $this->fixture('Class_Notice', + ['id'=> 22, + 'titre_principal' => 'Potter et la chambre des secrets', + 'auteur_principal' => '', + 'url_vignette' => 'http://amazon.com/vignette_potter.png']); + + $this->avis_potter = $this->fixture('Class_AvisNotice', + ['id' => 25, + 'entete' => 'Prenant', + 'avis' => "Mais un peu trop naïf", + 'note'=>4, + 'date_avis' => '2010-10-12 10:00:00', + 'user'=>$this->florence, + 'statut' => 1, + 'abon_out_bib' => 1, + 'notices' => [$this->potter]]); + + + $this->avis_lost = $this->fixture('Class_AvisNotice', + ['id' => 67, + 'entete' =>"C'est perdu", + 'avis' =>"Plus de notice, ni d'utilisateur", + 'note' => 4, + 'date_avis' => '2008-10-12 10:00:00', + 'user'=>null, + 'statut' => 1, + 'abon_out_bib' => 1, + 'notices' => []]); + + + + $dupont = $this->fixture('Class_Users', ['id' => 56 , + 'login' => 'Dupont', + 'nom'=>'Dupont', + 'password' => 'pwd', + 'id_abon' => 435]); + + + $avis_millenium_dupont = $this->fixture('Class_AvisNotice', + ['id' => 156, + 'entete' => "Cool", + 'avis' => "effrayant", + 'note' => 5, + 'setDateAvis' => '2011-03-18 13:00:00', + 'auteur' => $dupont, + 'user' => $dupont, + 'statut' => 0, + 'abon_out_bib' => 1, + 'notices' =>[$this->millenium] + ]); - $avis_millenium_dupont = Class_AvisNotice::newInstanceWithId(156) - ->setEntete("Cool") - ->setAvis("effrayant") - ->setNote(5) - ->setDateAvis('2011-03-18 13:00:00') - ->setAuteur($dupont) - ->setUser($dupont) - ->setStatut(0) - ->setAbonOuBib(1) - ->setNotices([$this->millenium]); - $dupont->setAvis([$avis_millenium_dupont]); - $dupont->save(); - $avis_millenium_dupont->save(); } } @@ -413,6 +419,7 @@ class AbonneControllerAvisBlogControllerViewAuteurActionTest extends AvisControl } + /** @test */ public function milleniumShouldLinkToNoticeMilleniumWithRetourAbonneViewAvis() { $this->assertXPath('//a[contains(@href, "/recherche/viewnotice/id/817/clef/MILLENIUM/retour_abonne/viewavis")]',$this->_response->getBody());