Commit b4bee8f97004b02b2bad53dd2df7b9340a7b48ef
1 parent
c7dcac63
Exists in
master
and in
1 other branch
Bugfix (update) TESTS suite à évolution du code : tous passent !
v4.107.26-3.7.9
Showing
5 changed files
with
52 additions
and
22 deletions
Show diff stats
CHANGES.txt
... | ... | @@ -306,10 +306,14 @@ Commencer à implémenter le nouveau workflow v5 : |
306 | 306 | ======= CHANGES ======= |
307 | 307 | |
308 | 308 | ------- |
309 | -01/12/2020 v4.107.25-3.7.9 (total projet : 357367 lignes) | |
310 | - - Mise à jour (update et cleanup) du script de création COMPLET de la BD (structure) | |
311 | - - Mise à jour (cleanup) du script d'installation du projet | |
312 | - - A tester : install from scratch | |
309 | +02/12/2020 v4.107.26-3.7.9 | |
310 | + - (b) Bugfix (update) TESTS suite à évolution du code et règle sur étiquette : tous passent ! | |
311 | + | |
312 | +------- | |
313 | +01/12/2020 v4.107.25-3.7.9 | |
314 | + - (i) Mise à jour (update et cleanup) du script de création COMPLET de la BD (structure) | |
315 | + - (i) Mise à jour (cleanup) du script d'installation du projet | |
316 | + - (i) A tester : install from scratch | |
313 | 317 | |
314 | 318 | ------- |
315 | 319 | 30/11/2020 v4.107.24-3.7.9 (total projet : 357367 lignes) | ... | ... |
README.md
... | ... | @@ -52,8 +52,8 @@ Logiciel testé et validé sur les configurations suivantes : |
52 | 52 | |
53 | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | |
55 | -Date: 01/12/2020 | |
56 | -Version: 4.107.25-3.7.9 | |
55 | +Date: 02/12/2020 | |
56 | +Version: 4.107.26-3.7.9 | |
57 | 57 | |
58 | 58 | |
59 | 59 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -515,8 +515,12 @@ class MaterielsController extends AppController { |
515 | 515 | ]); |
516 | 516 | |
517 | 517 | // Action 'printLabelRuban' (impression d'une étiquette) |
518 | - $this->setAuthorizationsForAction('printLabelRuban (imprimer étiquette)', ['conf.hasPrinter',0] ); | |
518 | + // On ne peut imprimer QUE si titreuse présente ET matos VALIDATED : | |
519 | 519 | //$this->setAuthorizationsForAction('printLabelRuban (imprimer étiquette)', ['VALIDATED && conf.hasPrinter',0] ); |
520 | + // On ne peut imprimer que si titreuse présente : | |
521 | + $this->setAuthorizationsForAction('printLabelRuban (imprimer étiquette)', ['conf.hasPrinter',0] ); | |
522 | + | |
523 | + // Déclarer etiquette collée | |
520 | 524 | $this->setAuthorizationsForAction('setLabelIsPlaced (déclarer étiquette collée)', ['VALIDATED && conf.hasPrinter',0] ); |
521 | 525 | $this->setAuthorizationsForAction('setLabelIsNotPlaced', ['VALIDATED && conf.hasPrinter',0] ); |
522 | 526 | /* |
... | ... | @@ -710,6 +714,7 @@ class MaterielsController extends AppController { |
710 | 714 | } |
711 | 715 | |
712 | 716 | public function isStatus($status) { |
717 | + //debug($status); | |
713 | 718 | return in_array($status, array_keys(self::statuses)); |
714 | 719 | } |
715 | 720 | |
... | ... | @@ -5156,7 +5161,7 @@ class MaterielsController extends AppController { |
5156 | 5161 | */ |
5157 | 5162 | $text_line1_numinv = trim("$numeroLab"); |
5158 | 5163 | $text_line2_date = trim("$dateAcquisition"); |
5159 | - $text_line3_tutelle .= "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : ''); | |
5164 | + $text_line3_tutelle = "$organisme " . trim($numeroInventaireOrganisme ? '/ ' . "$numeroInventaireOrganisme" : ''); | |
5160 | 5165 | |
5161 | 5166 | // (EP202006) NB: La 1ère ligne (xml version...) pose problème, donc je la vire |
5162 | 5167 | //'<?xml version="1.0" encoding="utf-8"POINTINTERROG> | ... | ... |
tests/TestCase/Controller/General.php
... | ... | @@ -1000,8 +1000,9 @@ class General extends TestCase { |
1000 | 1000 | $u = $this->getCurrentUser(); |
1001 | 1001 | $m = $this->getMaterielsTable()->get($id); |
1002 | 1002 | //$m = $this->getMateriel($id); |
1003 | - | |
1003 | + debug("statut:"); debug($status); | |
1004 | 1004 | $NOT = FALSE; |
1005 | + | |
1005 | 1006 | // Statut commence par 'NOT' ? |
1006 | 1007 | if (strpos($status,'NOT ') === 0) { |
1007 | 1008 | $NOT = TRUE; |
... | ... | @@ -1009,7 +1010,8 @@ class General extends TestCase { |
1009 | 1010 | $status = substr($status,4); |
1010 | 1011 | } |
1011 | 1012 | |
1012 | - // Condition de statut complexe (avec un && ou un ||) ? => pour simplifiier, on ne tient compte que du statut | |
1013 | + // Condition de statut complexe ? (normalement de la forme "STATUS &&_ou_|| autre_condition") | |
1014 | + // => pour simplifier, on ne tient compte que du STATUS (donc le 1er argument) | |
1013 | 1015 | if ( (strpos($status,'&&')!==FALSE) || (strpos($status,'||')!==FALSE) ) { |
1014 | 1016 | //debug("statut complexe '$status'"); |
1015 | 1017 | $status = explode(' ', $status)[0]; |
... | ... | @@ -1017,7 +1019,13 @@ class General extends TestCase { |
1017 | 1019 | //debug("=> simplifié en '$status'"); |
1018 | 1020 | } |
1019 | 1021 | |
1020 | - if ($mc->isStatus($status)) { | |
1022 | + //if ($mc->isStatus($status)) { | |
1023 | + if (! $mc->isStatus($status)) | |
1024 | + // On a un cas spécial, du style 'conf.hasPrinter' (sans statut avant, alors que ça pourrait être "VALIDATED && conf.hasPrinter") | |
1025 | + // Pour le moment, on ne le traite pas... | |
1026 | + //throw new \Exception("Le statut du matériel est incorrect !!!"); | |
1027 | + ; | |
1028 | + else { | |
1021 | 1029 | /* |
1022 | 1030 | $m->status = $WITH_SAME_STATUS ? $status : $mc->getNextStatusFrom($status); |
1023 | 1031 | if ($NOT) $m->status = $mc->getNextStatusFrom($status); |
... | ... | @@ -1031,16 +1039,18 @@ class General extends TestCase { |
1031 | 1039 | |
1032 | 1040 | // On sauvegarde le matos modifié |
1033 | 1041 | //if (! $this->Materiels->save($m)) |
1034 | - if ($DO_SAVE && !$this->getMaterielsTable()->save($m)) | |
1035 | - throw new \Exception("La sauvegarde du materiel modifié ne se fait pas !!!"); | |
1036 | - | |
1037 | - return $m; | |
1042 | + //if ($DO_SAVE && !$this->getMaterielsTable()->save($m)) | |
1043 | + if ($DO_SAVE) | |
1044 | + if (! $this->getMaterielsTable()->save($m) ) | |
1045 | + throw new \Exception("La sauvegarde du materiel modifié ne se fait pas !!!"); | |
1046 | + //return $m; | |
1038 | 1047 | } |
1048 | + //else throw new \Exception("Le statut du matériel est incorrect !!!"); | |
1039 | 1049 | |
1040 | - else throw new \Exception("Le statut du matériel est incorrect !!!"); | |
1041 | - | |
1050 | + return $m; | |
1042 | 1051 | } |
1043 | 1052 | |
1053 | + | |
1044 | 1054 | private function _updateMatosBelongingToCurrentUserAndInSameGroup($id, $BELONGS=true, $SAMEGROUP=true, $DO_SAVE=true) { |
1045 | 1055 | $u = $this->getCurrentUser(); |
1046 | 1056 | $m = $this->Materiels->get($id); |
... | ... | @@ -1135,8 +1145,15 @@ class General extends TestCase { |
1135 | 1145 | $this->assertHeader('Content-Disposition', 'attachment; filename="'.$filename.'"'); |
1136 | 1146 | //$this->assertHeader('Content-Disposition', "attachment; filename='$filename'"); |
1137 | 1147 | $msg_error = "L'action $action n'est pas autorisée (pour le role {$this->getUserRole()}) alors qu'elle devrait !!!"; |
1148 | + // - DLS : | |
1149 | + /* | |
1138 | 1150 | $this->assertResponseContains("ContinuousLabel", $msg_error); |
1139 | 1151 | $this->assertResponseContains("<PaperOrientation>Landscape</PaperOrientation>", $msg_error); |
1152 | + */ | |
1153 | + // - DCD : | |
1154 | + $this->assertResponseContains("DYMOLabel", $msg_error); | |
1155 | + $this->assertResponseContains("19X7-TAPE BLACK/WHITE", $msg_error); // format 19mm | |
1156 | + $this->assertResponseContains("<Orientation>Landscape</Orientation>", $msg_error); | |
1140 | 1157 | } |
1141 | 1158 | // GET |
1142 | 1159 | if ($getpost == 'get') { | ... | ... |
tests/TestCase/Controller/MaterielsControllerTest.php
... | ... | @@ -147,13 +147,13 @@ class MaterielsControllerTest extends General { |
147 | 147 | 'nom_modificateur' => 'Jean Administration', |
148 | 148 | */ |
149 | 149 | |
150 | + 'prix_ht' => 75, | |
150 | 151 | // CHAMPS NECESSAIRES POUR MATERIEL VALIDATED : |
151 | 152 | /* |
152 | 153 | 'date_reception' => '2016-04-19', |
153 | 154 | 'nom_responsable' => 'Lorem ipsum dolor sit amet', |
154 | 155 | 'fournisseur_id' => 1 |
155 | 156 | 'organisme_id' => 1, |
156 | - 'prix_ht' => 75, | |
157 | 157 | 'numero_commande' => 'Lorem ipsum dolor sit amet', |
158 | 158 | */ |
159 | 159 | ]; |
... | ... | @@ -614,7 +614,8 @@ class MaterielsControllerTest extends General { |
614 | 614 | //if ( in_array($role, ['ADMIN','ADMINP','SUPER']) ) { |
615 | 615 | if ($this->USER_IS_ADMIN_AT_LEAST()) { |
616 | 616 | $this->assertResponseContains("Informations administratives"); |
617 | - $this->assertResponseContains("Centre(s) Financier(s) / EOTP"); | |
617 | + //$this->assertResponseContains("Centre(s) Financier(s) / EOTP"); | |
618 | + $this->assertResponseContains("Entité(s) dépensière(s)"); | |
618 | 619 | } |
619 | 620 | else $this->assertResponseNotContains("Informations administratives"); |
620 | 621 | |
... | ... | @@ -662,7 +663,8 @@ class MaterielsControllerTest extends General { |
662 | 663 | $role, |
663 | 664 | //in_array($role,['ADMIN', 'ADMINP', 'SUPER']), |
664 | 665 | $this->USER_IS_ADMIN_AT_LEAST(), |
665 | - ["EOTP" => "à la partie administrative sur le formulaire add"] | |
666 | + ["Entité(s) dépensière(s)" => "à la partie administrative sur le formulaire add"] | |
667 | + //["EOTP" => "à la partie administrative sur le formulaire add"] | |
666 | 668 | ); |
667 | 669 | /* |
668 | 670 | $this->assertResponseNotContains('EOTP', 'Le profil utilisateur a accès à la partie administrative sur le formulaire add.'); |
... | ... | @@ -1201,7 +1203,8 @@ class MaterielsControllerTest extends General { |
1201 | 1203 | |
1202 | 1204 | $this->get('/materiels/edit/11'); |
1203 | 1205 | |
1204 | - $this->assertResponseContains('EOTP', 'Le profil admin+ n\'a pas accès à la partie administrative sur le formulaire edit.'); | |
1206 | + //$this->assertResponseContains('EOTP', 'Le profil admin+ n\'a pas accès à la partie administrative sur le formulaire edit.'); | |
1207 | + $this->assertResponseContains('Entité(s) dépensière(s)', 'Le profil admin+ n\'a pas accès à la partie administrative sur le formulaire edit.'); | |
1205 | 1208 | } |
1206 | 1209 | |
1207 | 1210 | /** |
... | ... | @@ -1957,7 +1960,8 @@ class MaterielsControllerTest extends General { |
1957 | 1960 | $this->assertResponseContains('Test 11', 'Le profil utilisateur n\'a pas accès au formulaire edit, alors que le matériel lui appartient.'); |
1958 | 1961 | // (EP 17/7/19 changed) |
1959 | 1962 | //$this->assertResponseNotContains('EOTP', 'Le profil utilisateur a accès à la partie administrative sur le formulaire edit.'); |
1960 | - $this->assertResponseContains('EOTP', 'Le profil utilisateur doit avoir accès à la partie administrative sur le formulaire edit (mais en read only).'); | |
1963 | + //$this->assertResponseContains('EOTP', 'Le profil utilisateur doit avoir accès à la partie administrative sur le formulaire edit (mais en read only).'); | |
1964 | + $this->assertResponseContains('Entité(s) dépensière(s)', 'Le profil utilisateur doit avoir accès à la partie administrative sur le formulaire edit (mais en read only).'); | |
1961 | 1965 | } |
1962 | 1966 | |
1963 | 1967 | ... | ... |