diff --git a/library/Class/Avis.php b/library/Class/Avis.php index 52c40e7b0a64698f8c6ae85b36e05d4157d02bae..b4f53aad981e22262ade7415c3d45728ba5bc6ac 100644 --- a/library/Class/Avis.php +++ b/library/Class/Avis.php @@ -50,6 +50,13 @@ class Class_Avis extends Storm_Model_Abstract { $this->_today = $class_date->DateTimeDuJour(); } + + public function getNomAff() { + if (!$auteur = $this->getAuteur()) + return 'Anonyme'; + return $auteur->getNomAff(); + } + //------------------------------------------------------------------------------------------------------ // html Avis pour le CMS pour les boites //------------------------------------------------------------------------------------------------------ diff --git a/library/ZendAfi/View/Helper/AvisCms.php b/library/ZendAfi/View/Helper/AvisCms.php index 916f1be481efec17570190a96250941a36c0a5a6..45a3060aea6a1083b45b49fba6658b41a158aee5 100644 --- a/library/ZendAfi/View/Helper/AvisCms.php +++ b/library/ZendAfi/View/Helper/AvisCms.php @@ -174,7 +174,7 @@ class ZendAfi_View_Helper_AvisCms extends Zend_View_Helper_HtmlElement { $html[]='<td></td>'; $html[]='<td>'; $html[]='<div style="padding-bottom:10px;">'; - $html[]='par : <b>'.$avis->getAuteur()->getNomAff().'</b> le <i>'.$date_avis.'</i></div></td>'; + $html[]='par : <b>'.$avis->getNomAff().'</b> le <i>'.$date_avis.'</i></div></td>'; $html[]='</tr>'; $html[]='</table>'; } diff --git a/tests/application/modules/opac/controllers/CmsControllerTest.php b/tests/application/modules/opac/controllers/CmsControllerTest.php index 7f513cc1ad521ba8ab643018163a96cce61192cb..6fafabd30a3424f4e54e4ddafa5d0909f122f2e1 100644 --- a/tests/application/modules/opac/controllers/CmsControllerTest.php +++ b/tests/application/modules/opac/controllers/CmsControllerTest.php @@ -377,27 +377,36 @@ abstract class CmsControllerWithFeteDeLaFriteTestCase extends AbstractController ->setCodePostal('74000') ->setVille('Annecy') ->setPays('France')) - ->setAvisUsers(array($avis_mimi = Class_Avis::getLoader() - ->newInstanceWithId(34) - ->setAuteur(Class_Users::getLoader() - ->newInstanceWithId(98) - ->setPseudo('Mimi')) - ->setDateAvis('2012-02-05') - ->setNote(4) - ->setEntete('Hmmm') - ->setAvis('ça a l\'air bon') - ->beWrittenByAbonne(), - - $avis_florence = Class_Avis::getLoader() - ->newInstanceWithId(35) - ->setAuteur(Class_Users::getLoader() - ->newInstanceWithId(123) - ->setPseudo('Florence')) - ->setDateAvis('2012-12-05') - ->setNote(2) - ->setEntete('Argg') - ->setAvis('ça ne me tente pas') - ->beWrittenByBibliothecaire())); + ->setAvisUsers([$avis_mimi = Class_Avis::getLoader() + ->newInstanceWithId(34) + ->setAuteur(Class_Users::getLoader() + ->newInstanceWithId(98) + ->setPseudo('Mimi')) + ->setDateAvis('2012-02-05') + ->setNote(4) + ->setEntete('Hmmm') + ->setAvis('ça a l\'air bon') + ->beWrittenByAbonne(), + + $avis_florence = Class_Avis::getLoader() + ->newInstanceWithId(35) + ->setAuteur(Class_Users::getLoader() + ->newInstanceWithId(123) + ->setPseudo('Florence')) + ->setDateAvis('2012-12-05') + ->setNote(2) + ->setEntete('Argg') + ->setAvis('ça ne me tente pas') + ->beWrittenByBibliothecaire(), + + $avis_anonyme = Class_Avis::getLoader() + ->newInstanceWithId(38) + ->setAuteur(null) + ->setDateAvis('2012-12-12') + ->setNote(2) + ->setEntete('Anonyme') + ->setAvis('vous ne savez pas qui je suis') + ->beWrittenByBibliothecaire()]); Storm_Test_ObjectWrapper::onLoaderOfModel('Class_CmsRank') @@ -423,7 +432,7 @@ abstract class CmsControllerWithFeteDeLaFriteTestCase extends AbstractController 'id_cms' => 224, 'order' => 'date_avis desc', 'abon_ou_bib' => 1)) - ->answers(array($avis_florence)); + ->answers(array($avis_florence, $avis_anonyme)); } } @@ -539,6 +548,11 @@ class CmsControllerArticleViewAsAdminTest extends CmsControllerWithFeteDeLaFrite } + /** @test */ + public function avisFlorenceShouldHaveParFlorence() { + $this->assertXPathContentContains('//div', 'par : <b>Florence</b>'); + } + /** @test */ public function avisShouldContainsEnteteHmmm() { @@ -546,6 +560,13 @@ class CmsControllerArticleViewAsAdminTest extends CmsControllerWithFeteDeLaFrite } + /** @test */ + public function avisShouldContainsEnteteAnonyme() { + $this->assertXPathContentContains('//table[@class="avis"]//td', 'Anonyme'); + } + + + /** @test */ public function avisHmmShouldHaveLinkForDeletion() { $this->assertXPath('//table[@class="avis"]//td[contains(text(), "Hmmm")]//a[contains(@href, "admin/modo/delete-cms-avis/id/34")]');