From 05212e33c08c97b0b4dd41667e5ad8a1e73fc5ac Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Wed, 16 Sep 2020 17:21:11 +0200 Subject: [PATCH] Bugfixed tests => tous ok --- CHANGES.txt | 3 ++- README.md | 2 +- src/Controller/MaterielsController.php | 34 ++++++++++++++++++++++++++++++++-- tests/Fixture/MaterielsFixture.php | 11 +++++++++++ tests/TestCase/Controller/MaterielsControllerTest.php | 17 ++++++++++++++++- 5 files changed, 62 insertions(+), 5 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index e7c9639..d042009 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -94,7 +94,8 @@ Outre ces changements, voici d'autres changements importants : ======= CHANGES ======= ------- -16/09/2020 v4.101.8-3.7.9 (EP) +16/09/2020 v4.101.9-3.7.9 (EP) + - (b) Bugfixed tests => tous ok - (b) Bugfixed recherche générale : on peut maintenant chercher aussi un projet - (b) Bugfixed et réactivé test date reception > date achat "mais pas trop" (bug sur php5) diff --git a/README.md b/README.md index af037e8..3c9fe39 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : -------------------------------------------------------------------------------------------- Date: 15/09/2020 -Version: 4.101.8-3.7.9 +Version: 4.101.9-3.7.9 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) diff --git a/src/Controller/MaterielsController.php b/src/Controller/MaterielsController.php index 3ba0885..e8c0eec 100755 --- a/src/Controller/MaterielsController.php +++ b/src/Controller/MaterielsController.php @@ -1565,6 +1565,7 @@ class MaterielsController extends AppController { 'contain' => [] // load associated entities ]); //$this->myDebug($materiel); + //debug($materiel); } @@ -2516,13 +2517,41 @@ class MaterielsController extends AppController { private function getFieldsConditionsForGeneralSearchOfWord($word) { $search_str = "%$word%"; + + $search_fields = [ + // 1) Materiels table direct (straight) columns + 'Materiels.designation', + 'Materiels.numero_laboratoire', + 'Materiels.numero_inventaire_organisme', + 'Materiels.numero_inventaire_old', + 'Materiels.numero_commande', + 'Materiels.description', + 'Materiels.nom_responsable', + 'Materiels.email_responsable', + 'Materiels.code_comptable', + 'Materiels.numero_serie', + 'Materiels.date_acquisition', + 'Materiels.lieu_detail', + + // 2) Materiels table foreign keys + 'Fournisseurs.nom', + 'Categories.nom', + 'Organismes.nom', + 'Projets.nom', + ]; + + $conditions = []; + foreach ($search_fields as $sf) $conditions[$sf.' LIKE'] = $search_str; + return $conditions; + + /* return [ - /* (EP) : + /S (EP) : * Utilisation de array() [] pour pouvoir mettre plusieurs fois la meme clé. * Exemple : la clé "Materiels.designation LIKE" pourra apparaître plusieurs fois si on fait une recherche de "mac pc" * On aura : "Materiels.designation LIKE" => '%mac%' et "Materiels.designation LIKE" => '%pc%' * Sinon on aurait uniquement eu : "Materiels.designation LIKE" => '%pc%' - */ + S/ // 1) Materiels table direct (straight) columns //[ @@ -2550,6 +2579,7 @@ class MaterielsController extends AppController { 'Projets.nom LIKE' => $search_str, ]; + */ } diff --git a/tests/Fixture/MaterielsFixture.php b/tests/Fixture/MaterielsFixture.php index c3e1da7..acba78f 100755 --- a/tests/Fixture/MaterielsFixture.php +++ b/tests/Fixture/MaterielsFixture.php @@ -412,6 +412,16 @@ class MaterielsFixture extends TestFixture { 'precision' => null, 'autoIncrement' => null ], + 'gestionnaire_id' => [ + 'type' => 'integer', + 'length' => 11, + 'unsigned' => false, + 'null' => true, + 'default' => null, + 'comment' => '', + 'precision' => null, + 'autoIncrement' => null + ], '_indexes' => [ @@ -916,6 +926,7 @@ class MaterielsFixture extends TestFixture { 'date_archivage' => yyyy2mmdd2, 'etiquette' => 1, 'lieu_detail' => 'Lorem ipsum dolor sit amet', + 'gestionnaire_id' => 1, //'nom_responsable' => 'Jesus', 'nom_responsable' => 'nobody', 'email_responsable' => 'Lorem ipsum dolor sit amet', diff --git a/tests/TestCase/Controller/MaterielsControllerTest.php b/tests/TestCase/Controller/MaterielsControllerTest.php index caabe9e..ce143cd 100755 --- a/tests/TestCase/Controller/MaterielsControllerTest.php +++ b/tests/TestCase/Controller/MaterielsControllerTest.php @@ -1882,7 +1882,13 @@ class MaterielsControllerTest extends General { public function testUpdateStatusSelectedMateriels() { $this->authSuperAdmin(); //$this->authAdmin(); - $this->post('/materiels/execActions', ['updateSelectedStatus' => 'true', 'what' => 'CREATED', 11 => '1', 12 => '1', 13 => '1']); + $this->post('/materiels/execActions', [ + 'updateSelectedStatus' => 'true', + 'what' => 'CREATED', + 11 => '1', + 12 => '1', + 13 => '1' + ]); $this->get('/materiels/view/11'); $this->assertResponseContains('VALIDATED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement."); @@ -2896,6 +2902,9 @@ class MaterielsControllerTest extends General { 'organisme_id' => 1, 'prix_ht' => 75, 'numero_commande' => 'Lorem ipsum dolor sit amet', + 'gestionnaire_id' => 1, + // Ca marche aussi si on met un id qui n'existe pas !!! + //'gestionnaire_id' => 75000, ]; $action = 'edit'; //$this->_doActionAndCheckResult($action, $id, $SUCCESS=true, $new_data); @@ -2903,6 +2912,12 @@ class MaterielsControllerTest extends General { //$m = $this->Materiels->find()->last(); //$m = $this->Materiels->get($id); //debug($m); + + /* + $m = $this->Materiels->get($id); + debug($m->gestionnaire_id); + debug($m->prix_ht); + */ // c) SUCCESS car on a toutes les données nécessaires $action = 'statusValidated'; -- libgit2 0.21.2