From 08fbbb0c45f73d02b2ca89dcbacebc6c1a86fa95 Mon Sep 17 00:00:00 2001 From: pbarroca <pbarroca@afi-sa.fr> Date: Wed, 6 Jun 2018 15:08:16 +0200 Subject: [PATCH] hotline #75868 : fix failures --- library/Class/Profil.php | 3 + tests/library/Class/ProfilTest.php | 128 +++++++++++++++++------------ 2 files changed, 79 insertions(+), 52 deletions(-) diff --git a/library/Class/Profil.php b/library/Class/Profil.php index 96d338b937b..f0dafa65da8 100644 --- a/library/Class/Profil.php +++ b/library/Class/Profil.php @@ -1003,6 +1003,9 @@ class Class_Profil extends Storm_Model_Abstract { return $this->_cfg_site_array; $params = $this->_getCfgAsArrayNamed('Site'); + if (!is_array($params)) + return []; + $valids = static::getCfgSiteKeys(); $this->_cfg_site_array = []; foreach($params as $k => $v) diff --git a/tests/library/Class/ProfilTest.php b/tests/library/Class/ProfilTest.php index ca013886672..34e728a48e5 100644 --- a/tests/library/Class/ProfilTest.php +++ b/tests/library/Class/ProfilTest.php @@ -73,12 +73,11 @@ class ProfilVideTest extends ModelTestCase { class ProfilJeunesseAstrolabeTest extends ModelTestCase { - protected $_storm_default_to_volatile = true; + protected + $_storm_default_to_volatile = true; public function setUp() { - $this->fixture('Class_AdminVar', ['clef' => 'NOM_DOMAINE', - 'id' => 'NOM_DOMAINE', - 'valeur' => 'http://bokeh.org']); + parent::setUp(); $cfg_accueil = ['modules' => ['1' => ['division' => '1', 'type_module' => 'RECH_SIMPLE', @@ -107,9 +106,8 @@ class ProfilJeunesseAstrolabeTest extends ModelTestCase { /** @test */ - public function profilUrlShouldReturnBokehDotOrg() { - $this->assertEquals('http://bokeh.org/index/index/id_profil/7', - Class_Profil::find(7)->getUrl()); + public function profilUrlShouldContainsIndexIndexProfil7() { + $this->assertContains('/index/index/id_profil/7', Class_Profil::find(7)->getUrl()); } @@ -1023,7 +1021,11 @@ class ProfilAdulteChatenayMoveModuleLOGINToLastPosInDivOneTest extends ProfilAdu class ProfilEvenementsTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + public function setUp() { + parent::setUp(); + $this->profil = new Class_Profil(); $this->profil @@ -1088,6 +1090,7 @@ class ProfilEvenementsTest extends ModelTestCase { $this->assertEquals('Se connecter', $this->boite_login['preferences']['titre']); } + /** @test **/ public function boiteConnexionIdModuleShouldBeTwo() { $this->assertEquals('2', $this->boite_login['preferences']['id_module']); @@ -1101,7 +1104,11 @@ class ProfilPesseyValandryTranslatedTest extends ModelTestCase { */ private $_profil; + protected $_storm_default_to_volatile = true; + public function setUp() { + parent::setup(); + $this->_profil = new Class_Profil(); $this->_profil @@ -1114,9 +1121,9 @@ class ProfilPesseyValandryTranslatedTest extends ModelTestCase { ->setCfgNotice(ProfilPesseyValandryFixtures::createNoticeConfiguration()) ->setCfgModules(ProfilPesseyValandryFixtures::createModulesConfiguration()) ; - } + /** @test */ public function getCfgMenusAsArrayShouldCallTranslator() { $mockTranslator = $this->_getMockTranslator(); @@ -1126,25 +1133,24 @@ class ProfilPesseyValandryTranslatedTest extends ModelTestCase { ; $this->_profil->setTranslator($mockTranslator); - - $menus = $this->_profil->getCfgMenusAsArray(); - + $this->_profil->getCfgMenusAsArray(); } + /** @test */ public function getCfgSiteAsArrayShouldCallTranslator() { + $config = ProfilPesseyValandryFixtures::createSiteConfiguration(); $mockTranslator = $this->_getMockTranslator(); $mockTranslator->expects($this->once()) - ->method('translate') - ->with(ProfilPesseyValandryFixtures::createSiteConfiguration(), 'Site') - ; + ->method('translate') + ->with($config, 'Site') + ->will($this->returnValue($config)); $this->_profil->setTranslator($mockTranslator); - - $menus = $this->_profil->getCfgSiteAsArray(); - + $this->_profil->getCfgSiteAsArray(); } + /** @test */ public function getCfgAccueilAsArrayShouldCallTranslator() { $mockTranslator = $this->_getMockTranslator(); @@ -1154,11 +1160,10 @@ class ProfilPesseyValandryTranslatedTest extends ModelTestCase { ; $this->_profil->setTranslator($mockTranslator); - - $menus = $this->_profil->getCfgAccueilAsArray(); - + $this->_profil->getCfgAccueilAsArray(); } + /** @test */ public function getCfgNoticeAsArrayShouldCallTranslator() { $mockTranslator = $this->_getMockTranslator(); @@ -1168,10 +1173,10 @@ class ProfilPesseyValandryTranslatedTest extends ModelTestCase { ; $this->_profil->setTranslator($mockTranslator); - - $menus = $this->_profil->getCfgNoticeAsArray(); + $this->_profil->getCfgNoticeAsArray(); } + /** @test */ public function getCfgModulesAsArrayShouldCallTranslator() { $mockTranslator = $this->_getMockTranslator(); @@ -1181,19 +1186,18 @@ class ProfilPesseyValandryTranslatedTest extends ModelTestCase { ; $this->_profil->setTranslator($mockTranslator); - - $menus = $this->_profil->getCfgModulesAsArray(); - + $this->_profil->getCfgModulesAsArray(); } + /** * @return PHPUnit_Framework_MockObject_MockObject */ private function _getMockTranslator() { return $this->getMockBuilder('Class_Profil_I18nTranslator') - ->disableOriginalConstructor() - ->getMock() - ; + ->disableOriginalConstructor() + ->getMock() + ; } } @@ -1241,12 +1245,14 @@ class ProfilPortailTest extends ModelTestCase { /** @var Storm_Test_ObjectWrapper */ protected $_wrapper; + protected $_storm_default_to_volatile = true; + public function setUp() { parent::setUp(); - $this->_wrapper = Storm_Test_ObjectWrapper::onLoaderOfModel('Class_Profil') - ->whenCalled('delete')->answers(true)->getWrapper(); + $this->_wrapper = $this->onLoaderOfModel('Class_Profil') + ->whenCalled('delete')->answers(true)->getWrapper(); $this->_profil = Class_Profil::getLoader()->newInstanceWithId(1); } @@ -1275,25 +1281,28 @@ class ProfilPortailTest extends ModelTestCase { -class ProfilWithPagesCopyTest extends Storm_Test_ModelTestCase { - protected $_clone; +class ProfilWithPagesCopyTest extends ModelTestCase { + protected + $_clone, + $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); - $profil = $this->fixture('Class_Profil', ['id' => 1, 'nb_divisions' => 2, 'rewrite_url' => 'adulte']) - ->setSubProfils([ $this->fixture('Class_Profil', ['id' => 2]), - $this->fixture('Class_Profil', ['id' => 3]), - $this->fixture('Class_Profil', ['id' => 4, - 'rewrite_url' => 'CD', - 'libelle' => 'CD']), - - $this->fixture('Class_Profil', ['id' => 5]) - ]); + + ->setSubProfils([$this->fixture('Class_Profil', ['id' => 2]), + $this->fixture('Class_Profil', ['id' => 3]), + $this->fixture('Class_Profil', ['id' => 4, + 'rewrite_url' => 'CD', + 'libelle' => 'CD']), + + $this->fixture('Class_Profil', ['id' => 5]) + ]); + $profil->assertSave(); Class_Profil::clearCache(); @@ -1308,6 +1317,7 @@ class ProfilWithPagesCopyTest extends Storm_Test_ModelTestCase { $this->assertEquals(4, $this->_clone->numberOfSubProfils()); } + /** @test */ public function cloneRewriteUrlShouldBeEmpty() { $this->assertEmpty($this->_clone->getRewriteUrl()); @@ -1327,7 +1337,6 @@ class ProfilWithPagesCopyTest extends Storm_Test_ModelTestCase { /** @test */ - public function loadedClonedPageCDShouldHaveTwoDivisions() { $page_cd = $this->_clone->getSubProfils()['CD']; $this->assertEquals(2, $page_cd->getNbDivisions()); @@ -1347,7 +1356,6 @@ class ProfilWithPagesCopyTest extends Storm_Test_ModelTestCase { /** @test */ - public function cloneThirdPageLibelleShouldBeIndexedAtCD() { $this->assertEquals('CD', $this->_clone->getSubProfils()['CD']->getLibelle()); } @@ -1382,17 +1390,21 @@ class ProfilWithPagesCopyTest extends Storm_Test_ModelTestCase { $this->assertEquals(10, array_values($this->_clone->getSubProfils())[3]->getId()); } + /** @test */ public function cloneLastPageParentIdShouldBe6() { $this->assertEquals(6, array_values($this->_clone->getSubProfils())[3]->getParentId()); } - } -class ProfilHeaderImgAccessTest extends Storm_Test_ModelTestCase { + +class ProfilHeaderImgAccessTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + public function setUp() { parent::setUp(); + $this->file_system = $this->mock() ->whenCalled('opendir')->answers(null) ->whenCalled('readdir')->answers(false) @@ -1438,12 +1450,14 @@ class ProfilHeaderImgAccessTest extends Storm_Test_ModelTestCase { -abstract class ProfilUpdateConfigAccueilOnModuleInBannerTestCase -extends Storm_Test_ModelTestCase { - protected $_profil; +abstract class ProfilUpdateConfigAccueilOnModuleInBannerTestCase extends ModelTestCase { + protected + $_profil, + $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); + $this->_profil = $this->fixture('Class_Profil', ['id' => 1]) ->setBoiteLoginInBanniere(true); @@ -1498,11 +1512,16 @@ extends ProfilUpdateConfigAccueilOnModuleInBannerTestCase { -class ProfilGetModuleAccueilConfigTest extends Storm_Test_ModelTestCase { - protected $_profil, $_parent, $_module_config; +class ProfilGetModuleAccueilConfigTest extends ModelTestCase { + protected + $_profil, + $_parent, + $_module_config, + $_storm_default_to_volatile = true; public function setUp() { parent::setUp(); + $this->_parent = $this->fixture('Class_Profil', ['id' => 1]) ->setBoiteLoginInBanniere(true); @@ -1527,9 +1546,12 @@ class ProfilGetModuleAccueilConfigTest extends Storm_Test_ModelTestCase { -class ProfilPreferenceAuthRegisterTest extends Storm_Test_ModelTestCase { +class ProfilPreferenceAuthRegisterTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + public function setUp() { parent::setUp(); + $this->portal = $this->fixture('Class_Profil', ['id' => 1, 'libelle' => 'portail']); @@ -1568,7 +1590,9 @@ class ProfilPreferenceAuthRegisterTest extends Storm_Test_ModelTestCase { -class ProfilIsPortalTest extends Storm_Test_ModelTestCase { +class ProfilIsPortalTest extends ModelTestCase { + protected $_storm_default_to_volatile = true; + /** @test */ public function profilWithIdOneIntShouldBePortal() { $this->assertTrue($this->fixture('Class_Profil', ['id' => 1])->isPortail()); -- GitLab