diff --git a/application/modules/admin/controllers/MenusController.php b/application/modules/admin/controllers/MenusController.php index c27abf4dab9ac3014b80a7a2170d5447f4dfc9b6..e57f3a07f55d4a06cc5669ad320f4beb3b50b599 100644 --- a/application/modules/admin/controllers/MenusController.php +++ b/application/modules/admin/controllers/MenusController.php @@ -56,7 +56,9 @@ class Admin_MenusController extends Admin_AccueilController { function postDispatch(){ $modules_menu = new Class_Systeme_ModulesMenu(); - if ($this->_request->isPost() || !$modules_menu->isModuleAccueil($this->type_menu)) + $reload = (1 === (int)$this->_getParam('styles_reload')); + + if (($this->_request->isPost() && !$reload) || !$modules_menu->isModuleAccueil($this->type_menu)) return; $action = $modules_menu->getFonction($this->type_menu)->getAction(); diff --git a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php index 8321eaccf20d7d63ad024199bb342a8dda9c3fd3..a2663d0eab23f6f16946a4a8c59fb3db494f8d2d 100644 --- a/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php +++ b/tests/application/modules/opac/controllers/ProfilOptionsControllerTest.php @@ -77,6 +77,13 @@ abstract class ProfilOptionsControllerWithProfilAdulteTestCase extends AbstractC 'picto' => 'vide.gif', 'preferences' => ['nb_events' => 5]], + ['type_menu' => Class_Systeme_ModulesMenu::MODULE_ACCUEIL_PREFIX.'KIOSQUE', + 'libelle' => 'Kiosque', + 'picto' => 'vide.gif', + 'preferences' => ['id_panier' => 1, + 'style_liste' => 'mur', + 'titre' => 'Nouveautés']], + ['type_menu' => 'CATALOGUE', 'libelle' => 'mon catalogue', 'preferences' => ['id_catalogue' => '2', @@ -344,6 +351,10 @@ abstract class ProfilOptionsControllerProfilAdulteAsAdminTestCase extends Profil public function setUp() { parent::setUp(); + Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Profil') + ->whenCalled('save') + ->answers(true); + $admin = Class_Users::newInstanceWithId(34, ['login' => 'admin'])->beAdminPortail(); ZendAfi_Auth::getInstance()->logUser($admin); } @@ -369,6 +380,12 @@ class ProfilOptionsControllerViewProfilAdulteAsAdminTest extends ProfilOptionsCo public function menuHorizontalCritiquesConfigShouldContainsConfigTypeMenu() { $this->assertXPath('//div[@id="menu_horizontal"]//li[@class="boite"]//div[@class="boite critiques"]//img[contains(@onclick, "menus/critiques?config=menu&id_profil=2&id_module=2&type_menu=MODULE_ACCUEIL_CRITIQUES&preferences=rss_avis%3D1%7Cid_panier%3D3")]'); } + + + /** @test */ + public function menuHorizontalKiosqueConfigShouldContainsConfigTypeMenu() { + $this->assertXPath('//div[@id="menu_horizontal"]//li[@class="menu boite"]//div[@class="boite kiosque"]//img[contains(@onclick, "menus/kiosque?config=menu&id_profil=2&id_module=9&type_menu=MODULE_ACCUEIL_KIOSQUE&preferences=id_panier%3D1%7Cstyle_liste%3Dmur")]'); + } } @@ -378,11 +395,6 @@ class ProfilOptionsControllerProfilAdulteAsAdminPostConfigCalendrierTest extends public function setUp() { parent::setUp(); - Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Profil') - ->whenCalled('save') - ->answers(true); - - $this->postDispatch('/admin/menus/calendrier?config=menu&id_profil=2&id_module=8&type_menu=MODULE_ACCUEIL_CALENDAR&preferences=nb_events%3D5', ['nb_events' => 12, 'libelle' => 'Agenda']); @@ -405,6 +417,39 @@ class ProfilOptionsControllerProfilAdulteAsAdminPostConfigCalendrierTest extends +class ProfilOptionsControllerProfilAdulteAsAdminPostConfigKiosqueStyleReloadTest extends ProfilOptionsControllerProfilAdulteAsAdminTestCase { + public function setUp() { + parent::setUp(); + + $this->postDispatch('/admin/menus/kiosque/styles_reload/1?config=menu&id_profil=2&id_module=9&type_menu=MODULE_ACCUEIL_KIOSQUE&preferences=id_panier%3D1%7Cstyle_liste%3Dmur', + ['style_liste' => 'vignettes', + 'nb_notices' => 2, + 'nb_analyse' => 2, + 'id_panier' => 0, + 'rss_avis' => 0, + 'titre' => 'Nouveautes', + 'aleatoire' => 0, + 'tri' => 0, + 'only_img' => 0, + 'id_catalogue' => 0]); + } + + + /** @test */ + public function selectStyleListeShouldHaveVignettesSelected() { + $this->assertXPath('//select[@name="style_liste"]//option[@value="vignettes"][@selected="selected"]'); + } + + + /** @test */ + public function inputNbAnalyseShouldBeTwo() { + $this->assertXPath('//input[@name="nb_analyse"][@value="2"]'); + } +} + + + + abstract class ProfilOptionsControllerProfilJeunesseWithPagesJeuxMusiqueTestCase extends AbstractControllerTestCase { protected function _loginHook($account) { $account->ROLE = "";