diff --git a/application/modules/admin/controllers/CatalogueController.php b/application/modules/admin/controllers/CatalogueController.php index 2fa718f982f2095eef362528677c130dcce1d530..0b886e1cd5ff61aad012661674756c39d03d0f72 100644 --- a/application/modules/admin/controllers/CatalogueController.php +++ b/application/modules/admin/controllers/CatalogueController.php @@ -82,7 +82,6 @@ class Admin_CatalogueController extends ZendAfi_Controller_Action { // Ajout d'un catalogue //---------------------------------------------------------------------------------- function addAction() { - $catalogue = Class_Catalogue::getLoader() ->newInstance() ->setLibelle("** nouveau domaine **") @@ -95,7 +94,7 @@ class Admin_CatalogueController extends ZendAfi_Controller_Action { $this->updateConfigKiosque($id_module,$catalogue); $this->_helper->notify($this->_('Domaine %s ajouté', $catalogue->getLibelle())); - $this->_redirect('admin/catalogue/edit/id_catalogue/'.$catalogue->getId()); + $this->_redirectClose('admin/catalogue/edit/id_catalogue/'.$catalogue->getId()); return; } @@ -127,7 +126,7 @@ class Admin_CatalogueController extends ZendAfi_Controller_Action { } if ($this->isSaved($catalogue)) { $this->_helper->notify($this->_('Domaine %s sauvegardé', $catalogue->getLibelle())); - $this->_redirect("admin/catalogue/edit/id_catalogue/".$catalogue->getId()); + $this->_redirectClose("admin/catalogue/edit/id_catalogue/".$catalogue->getId()); return; } diff --git a/tests/application/modules/admin/controllers/CatalogueControllerTest.php b/tests/application/modules/admin/controllers/CatalogueControllerTest.php index 7c9ddd4bae04651f91647a8da4da3f0e5864cc94..12c05bd49a90759bf39af0a5e299bc72a93bb9cc 100644 --- a/tests/application/modules/admin/controllers/CatalogueControllerTest.php +++ b/tests/application/modules/admin/controllers/CatalogueControllerTest.php @@ -713,6 +713,77 @@ class CatalogueControllerEditCataloguePostTest extends AdminCatalogueControllerT +abstract class CatalogueControllerEditInPopupTestCase extends AdminCatalogueControllerTestCase { + protected + $_json, + $_xpath; + + public function setUp() { + parent::setUp(); + $_SERVER['HTTP_REFERER'] = 'opac/index'; + $this->_xpath = new Storm_Test_XPath(); + } +} + + + +class CatalogueControllerEditInPopupPostTest extends CatalogueControllerEditInPopupTestCase { + public function setUp() { + parent::setUp(); + $_SERVER['HTTP_REFERER'] = 'opac/index'; + $this->postDispatch('/admin/catalogue/edit/id_catalogue/6/render/popup', + ['libelle' => 'Jeunes', + 'pcdm4' => '5']); + $this->_json = json_decode($this->_response->getBody()); + } + + + /** @test */ + public function flashMessengerShouldNotContainsPopup() { + $this->assertNotFlashMessengerPopup(); + } + + + /** @test */ + public function responseShouldBeARedirectWithJavascript() { + $this->_xpath->assertXPathContentContains($this->_json->content, + '//script', + 'window.location="opac/index"'); + } +} + + + + +class CatalogueControllerAddCatalogueInPopupPostTest extends CatalogueControllerEditInPopupTestCase { + public function setUp() { + parent::setUp(); + $this->postDispatch('/admin/catalogue/add/render/popup', + ['libelle' => 'Geeks', + 'pcdm4' => '5', + 'annee_debut' => '20', + 'annee_fin' => '2020', + 'parent_id' => '']); + $this->_json = json_decode($this->_response->getBody()); + } + + /** @test */ + public function flashMessengerShouldNotContainsPopup() { + $this->assertNotFlashMessengerPopup(); + } + + + /** @test */ + public function responseShouldBeARedirectWithJavascript() { + $this->_xpath->assertXPathContentContains($this->_json->content, + '//script', + 'window.location="opac/index"'); + } +} + + + + class CatalogueControllerDuplicateCatalogueTest extends AdminCatalogueControllerTestCase { public function setUp() { parent::setUp(); @@ -741,6 +812,9 @@ class CatalogueControllerDuplicateCatalogueTest extends AdminCatalogueController } + + + class CatalogueControllerDuplicateCataloguePostTest extends AdminCatalogueControllerTestCase { public function setUp() { parent::setUp();