Skip to content
Snippets Groups Projects
Commit d9665c23 authored by Laurent's avatar Laurent
Browse files

hotline #121599 Templates : menus should not cache content as there's widgets inside

parent 2a9d25b2
Branches
Tags
1 merge request!3724hotline #121599 Templates : menus should not cache content as there's widgets inside
Pipeline #11602 passed with stage
in 53 minutes and 27 seconds
- ticket #121599 : Magasin de thèmes : correction de la boîte de connexion dans un menu qui affiche parfois le nom d'un usager autre que celui qui se connecte
\ No newline at end of file
......@@ -28,6 +28,10 @@ class Intonation_Library_Widget_Nav_View extends Zendafi_View_Helper_Accueil_Bas
$_menu_id,
$_menu;
public function shouldCacheContent() {
return false;
}
public function getHtml() {
$this->titre = $this->_settings->getTitre();
......
......@@ -48,7 +48,7 @@ class TemplatesWidgetInMenusNewsletterLoggedOutTest extends TemplatesIntonationT
class TemplatesWidgetLoginInMenuAndInHeaderTestCase extends Admin_AbstractControllerTestCase {
class TemplatesWidgetLoginInMenuAndInHeaderTest extends Admin_AbstractControllerTestCase {
protected $_storm_default_to_volatile = true;
......@@ -56,6 +56,15 @@ class TemplatesWidgetLoginInMenuAndInHeaderTestCase extends Admin_AbstractContro
parent::setUp();
Class_AdminVar::set('FEATURES_TRACKING_ENABLE', 0);
Class_AdminVar::set('MENU_BOITE', 1);
Class_AdminVar::set('CACHE_ACTIF', 1);
Storm_Cache::beVolatile();
Class_Users::getIdentity()
->setNom('Tor')
->setPrenom('Termina')
->setPassword('2000')
->assertSave();
$this->_buildTemplateProfil(['id' => 1,
'libelle' => 'My page'])
......@@ -123,4 +132,39 @@ class TemplatesWidgetLoginInMenuAndInHeaderTestCase extends Admin_AbstractContro
public function pageShouldContainsLinkToEditWidgetTwoInDivisionFour() {
$this->assertXPath('//header[@data-division="4"]//div[@id="boite_2"]//a[contains(@href, "/admin/widget/edit-widget/id/2/id_profil/1")]');
}
/** @test */
public function loginWidgetInMenuShouldContainsUserFirstNameTermina() {
$this->assertXPathContentContains('//header[@data-division="4"]//div[contains(@class, "navbar")]//div[@id="boite_8-0"]//span[contains(@class, "user_first_name")]',
'Termina');
}
/** @test */
public function loginWidgetInMenuShouldNotBeCachedAndContainsPredatorWhenLogged() {
$this->dispatch('/opac/index/index/id_profil/1');
/*
* OK, there's some wrong stuff here
* put a breakpoint in Intonation_Library_Widget_Nav_View::shoulCacheContent
* inspect $this->_preferences and you will see objects !! deeped into this variable
* So I need to double dispatch in order to reproduce the real problem, it's sad ...
* @see http://forge.afi-sa.fr/issues/121599
*
*/
$this->_response->setBody('');
ZendAfi_Auth::getInstance()
->logUser(Class_Users::newInstanceWithId(5,
['login' => 'Predator',
'nom' => 'Tor',
'prenom' => 'Preda',
'password' => '2000']));
$this->dispatch('/opac/index/index/id_profil/1');
$this->assertXPathContentContains('//header[@data-division="4"]//div[contains(@class, "navbar")]//div[@id="boite_8-0"]//span[contains(@class, "user_first_name")]',
'Preda');
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment