Commit 94fb1e94c81468286096049a69517ba828128eab
1 parent
4e94b523
Exists in
master
and in
1 other branch
Début de bugfix des tests...
Showing
9 changed files
with
90 additions
and
20 deletions
Show diff stats
CHANGELOG
@@ -353,6 +353,9 @@ Commencer à implémenter le nouveau workflow v5 : | @@ -353,6 +353,9 @@ Commencer à implémenter le nouveau workflow v5 : | ||
353 | ======= TODO ======= | 353 | ======= TODO ======= |
354 | 354 | ||
355 | *) | 355 | *) |
356 | + champ "budgets" à rendre optionnel dans schéma BD... | ||
357 | + | ||
358 | + *) | ||
356 | validation (=livré ET payé) | 359 | validation (=livré ET payé) |
357 | Facture jointe (si > 10K) | 360 | Facture jointe (si > 10K) |
358 | 361 | ||
@@ -396,7 +399,13 @@ Commencer à implémenter le nouveau workflow v5 : | @@ -396,7 +399,13 @@ Commencer à implémenter le nouveau workflow v5 : | ||
396 | ======= CHANGES ======= | 399 | ======= CHANGES ======= |
397 | 400 | ||
398 | ------- | 401 | ------- |
399 | -13/09/2021 v5.2.6-3.7.9 | 402 | +13/09/2021 v5.2.8-3.7.9 |
403 | + - Bugfix TESTS : Tests: 193, Assertions: 3181, Errors: 1, Failures: 46, Incomplete: 16 | ||
404 | + - donner valeur par défaut à budgets dans fixtures... | ||
405 | + - bugfix getNextStatusFrom() | ||
406 | + | ||
407 | +------- | ||
408 | +13/09/2021 v5.2.7-3.7.9 | ||
400 | - Champs obligatoires "etiquette posée" et "n° inventaire tutelles" gérés via config | 409 | - Champs obligatoires "etiquette posée" et "n° inventaire tutelles" gérés via config |
401 | (si obligatoires, ces champs ne sont pas demandés à la saisie, mais un simple rappel est affiché sur la vue détaillée du matériel) | 410 | (si obligatoires, ces champs ne sont pas demandés à la saisie, mais un simple rappel est affiché sur la vue détaillée du matériel) |
402 | 411 |
README.md
@@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -53,7 +53,7 @@ Logiciel testé et validé sur les configurations suivantes : | ||
53 | -------------------------------------------------------------------------------------------- | 53 | -------------------------------------------------------------------------------------------- |
54 | 54 | ||
55 | Date: 13/09/2021 | 55 | Date: 13/09/2021 |
56 | -Version: v5.2.7-3.7.9 | 56 | +Version: v5.2.8-3.7.9 |
57 | 57 | ||
58 | 58 | ||
59 | 59 |
TESTS.sh
@@ -20,8 +20,8 @@ echo "IN $(pwd)" | @@ -20,8 +20,8 @@ echo "IN $(pwd)" | ||
20 | 20 | ||
21 | 21 | ||
22 | 22 | ||
23 | -TESTEXEC=vendor/bin/phpunit | ||
24 | -TESTEXEC2=vendor/phpunit/phpunit/phpunit | 23 | +TESTEXEC=vendor/phpunit/phpunit/phpunit |
24 | +TESTEXEC2=vendor/bin/phpunit | ||
25 | 25 | ||
26 | # Tous les tests | 26 | # Tous les tests |
27 | TESTALL=1 | 27 | TESTALL=1 |
@@ -34,7 +34,7 @@ TESTALL=1 | @@ -34,7 +34,7 @@ TESTALL=1 | ||
34 | 34 | ||
35 | 35 | ||
36 | # D'abord on affiche la version courante | 36 | # D'abord on affiche la version courante |
37 | -./VERSION | 37 | +##########./VERSION |
38 | 38 | ||
39 | # Souvent necessaire pour que les tests se passent bien: | 39 | # Souvent necessaire pour que les tests se passent bien: |
40 | ###sudo rm -rf tmp/cache/* | 40 | ###sudo rm -rf tmp/cache/* |
@@ -71,6 +71,8 @@ elif [[ $TESTALL == 0 ]] ; then | @@ -71,6 +71,8 @@ elif [[ $TESTALL == 0 ]] ; then | ||
71 | 71 | ||
72 | fi | 72 | fi |
73 | 73 | ||
74 | +exit | ||
75 | + | ||
74 | # On remet en accès pour tous les repertoires tmp et logs (pour que Apache puisse toujours écrire dedans) : | 76 | # On remet en accès pour tous les repertoires tmp et logs (pour que Apache puisse toujours écrire dedans) : |
75 | ##chmod -R 777 ./tmp/ | 77 | ##chmod -R 777 ./tmp/ |
76 | # - tmp/cache : obligé d'utiliser sudo a cause des fichiers créés par le serveur web (appartiennent à _www sur Mac) | 78 | # - tmp/cache : obligé d'utiliser sudo a cause des fichiers créés par le serveur web (appartiennent à _www sur Mac) |
src/Controller/MaterielsController.php
@@ -749,10 +749,10 @@ class MaterielsController extends AppController { | @@ -749,10 +749,10 @@ class MaterielsController extends AppController { | ||
749 | 749 | ||
750 | 750 | ||
751 | public function getNextStatusFrom($status) { | 751 | public function getNextStatusFrom($status) { |
752 | - $status_num = self::statuses[$status]; | ||
753 | - // si ARCHIVED => on reboucle à CREATED | ||
754 | - if ($status_num==4) $status_num=0; | ||
755 | - // Les indices commencent à 0, donc $status_num est déjà l'indice suivant... | 752 | + // On prend le statut d'indice SUIVANT |
753 | + $status_num = self::statuses[$status] + 1; | ||
754 | + // Si dernier, on revient au 1er (CREATED) | ||
755 | + if ($status_num==5) $status_num=0; | ||
756 | $newstatus = array_keys(self::statuses)[$status_num]; | 756 | $newstatus = array_keys(self::statuses)[$status_num]; |
757 | //debug("new status is $newstatus"); | 757 | //debug("new status is $newstatus"); |
758 | return $newstatus; | 758 | return $newstatus; |
@@ -3002,7 +3002,8 @@ class MaterielsController extends AppController { | @@ -3002,7 +3002,8 @@ class MaterielsController extends AppController { | ||
3002 | if ($fval === null || $fval == '') { | 3002 | if ($fval === null || $fval == '') { |
3003 | $msgError1 = "Pour ordonner la commande d'un matériel, le champ suivant ne doit pas être vide : ".$fnicename.' du matériel'; | 3003 | $msgError1 = "Pour ordonner la commande d'un matériel, le champ suivant ne doit pas être vide : ".$fnicename.' du matériel'; |
3004 | $this->Flash->error($msgError1); | 3004 | $this->Flash->error($msgError1); |
3005 | - $this->e->setError($fname, 'Ce champ ne doit pas être vide'); | 3005 | + // Utile ??? (plante les tests) |
3006 | + ////$this->e->setError($fname, 'Ce champ ne doit pas être vide'); | ||
3006 | $this->ACTION_CANCELLED = TRUE; | 3007 | $this->ACTION_CANCELLED = TRUE; |
3007 | // => on revient à "edit" | 3008 | // => on revient à "edit" |
3008 | return $this->redirect(['action'=>'edit',$id]); | 3009 | return $this->redirect(['action'=>'edit',$id]); |
src/Model/Entity/Materiel.php
@@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||
2 | namespace App\Model\Entity; | 2 | namespace App\Model\Entity; |
3 | 3 | ||
4 | use Cake\ORM\Entity; | 4 | use Cake\ORM\Entity; |
5 | +use App\Model\Table\MaterielsTable; | ||
5 | 6 | ||
6 | // Max 15 ans entre 2 dates | 7 | // Max 15 ans entre 2 dates |
7 | const MAX_DIFF_YEARS = 15; | 8 | const MAX_DIFF_YEARS = 15; |
@@ -159,6 +160,8 @@ class Materiel extends Entity { | @@ -159,6 +160,8 @@ class Materiel extends Entity { | ||
159 | protected function _getIsTobearchived() { return $this->status == 'TOBEARCHIVED'; } | 160 | protected function _getIsTobearchived() { return $this->status == 'TOBEARCHIVED'; } |
160 | protected function _getIsArchived() { return $this->status == 'ARCHIVED'; } | 161 | protected function _getIsArchived() { return $this->status == 'ARCHIVED'; } |
161 | 162 | ||
163 | + public function getNiceStatus() { return MaterielsTable::getNiceStatus($this->status); } | ||
164 | + /* | ||
162 | public function getNiceStatus() { | 165 | public function getNiceStatus() { |
163 | //if ($this->is_created) return 'À VALIDER'; | 166 | //if ($this->is_created) return 'À VALIDER'; |
164 | if ($this->is_created) return 'CRÉÉ - à valider'; | 167 | if ($this->is_created) return 'CRÉÉ - à valider'; |
@@ -168,6 +171,7 @@ class Materiel extends Entity { | @@ -168,6 +171,7 @@ class Materiel extends Entity { | ||
168 | //if ($this->is_archived) | 171 | //if ($this->is_archived) |
169 | return 'ARCHIVÉ'; | 172 | return 'ARCHIVÉ'; |
170 | } | 173 | } |
174 | + */ | ||
171 | 175 | ||
172 | 176 | ||
173 | // Ce matériel est utilisé ou déclaré par l'utilisateur $userfullname | 177 | // Ce matériel est utilisé ou déclaré par l'utilisateur $userfullname |
src/Model/Table/MaterielsTable.php
@@ -524,6 +524,15 @@ class MaterielsTable extends AppTable | @@ -524,6 +524,15 @@ class MaterielsTable extends AppTable | ||
524 | } | 524 | } |
525 | 525 | ||
526 | 526 | ||
527 | + public static function getNiceStatus($status) { | ||
528 | + //if ($this->is_created) return 'À VALIDER'; | ||
529 | + if ($status == 'CREATED') return 'CRÉÉ - à valider'; | ||
530 | + if ($status == 'TOBEORDERED') return 'EN COMMANDE - à valider'; | ||
531 | + if ($status == 'VALIDATED') return 'VALIDÉ - livré & payé'; | ||
532 | + if ($status == 'TOBEARCHIVED') return 'À SORTIR'; | ||
533 | + return 'ARCHIVÉ'; | ||
534 | + } | ||
535 | + | ||
527 | 536 | ||
528 | /** | 537 | /** |
529 | * Default validation rules. | 538 | * Default validation rules. |
@@ -912,10 +921,15 @@ class MaterielsTable extends AppTable | @@ -912,10 +921,15 @@ class MaterielsTable extends AppTable | ||
912 | $validator->allowEmpty('unite_duree_garantie'); | 921 | $validator->allowEmpty('unite_duree_garantie'); |
913 | 922 | ||
914 | /* | 923 | /* |
915 | - * (EP 202109) Annulation des champs obligatoires définis comme tels dans le schéma de la BD | 924 | + * (EP 202109) Annulation des champs obligatoires définis comme tels ici ou dans le schéma de la BD |
916 | * (afin de pouvoir les rendre éventuellement optionnels si on le désire via la configuration) | 925 | * (afin de pouvoir les rendre éventuellement optionnels si on le désire via la configuration) |
917 | */ | 926 | */ |
918 | - $bd_mandatory_fields = ['nom_user', 'nom_responsable', 'email_responsable']; | 927 | + $bd_mandatory_fields = [ |
928 | + // Champs définis comme obligatoires dans le schéma BD (pas bien...) | ||
929 | + 'budgets', | ||
930 | + // Champs définis comme obligatoires par défaut par l'utilisation de règles telles que "checkstring" ou autre (valid...) | ||
931 | + 'nom_user', 'nom_responsable', 'email_responsable', | ||
932 | + ]; | ||
919 | foreach ($bd_mandatory_fields as $fname) $validator->allowEmpty($fname, true); | 933 | foreach ($bd_mandatory_fields as $fname) $validator->allowEmpty($fname, true); |
920 | //foreach ($bd_mandatory_fields as $fname) $validator->allowEmptyString($fname, true); | 934 | //foreach ($bd_mandatory_fields as $fname) $validator->allowEmptyString($fname, true); |
921 | 935 |
tests/Fixture/MaterielsFixture.php
@@ -681,6 +681,8 @@ class MaterielsFixture extends TestFixture { | @@ -681,6 +681,8 @@ class MaterielsFixture extends TestFixture { | ||
681 | // matos CREATED owned by USER | 681 | // matos CREATED owned by USER |
682 | [ | 682 | [ |
683 | //'id' => 1, | 683 | //'id' => 1, |
684 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
685 | + 'budgets' => 'toto', | ||
684 | 'designation' => 'matos 1 USER (C)', | 686 | 'designation' => 'matos 1 USER (C)', |
685 | //'designation' => 'Test 1', | 687 | //'designation' => 'Test 1', |
686 | 'sur_categorie_id' => 1, | 688 | 'sur_categorie_id' => 1, |
@@ -735,6 +737,8 @@ class MaterielsFixture extends TestFixture { | @@ -735,6 +737,8 @@ class MaterielsFixture extends TestFixture { | ||
735 | // matos CREATED owned by anybody | 737 | // matos CREATED owned by anybody |
736 | [ | 738 | [ |
737 | //'id' => 2, | 739 | //'id' => 2, |
740 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
741 | + 'budgets' => 'toto', | ||
738 | 'designation' => 'Matos Test 2 (C)', | 742 | 'designation' => 'Matos Test 2 (C)', |
739 | 'sur_categorie_id' => 1, | 743 | 'sur_categorie_id' => 1, |
740 | 'categorie_id' => 1, | 744 | 'categorie_id' => 1, |
@@ -785,6 +789,8 @@ class MaterielsFixture extends TestFixture { | @@ -785,6 +789,8 @@ class MaterielsFixture extends TestFixture { | ||
785 | // matos VALIDATED (et administratif) owned by anybody | 789 | // matos VALIDATED (et administratif) owned by anybody |
786 | [ | 790 | [ |
787 | //'id' => 3, | 791 | //'id' => 3, |
792 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
793 | + 'budgets' => 'toto', | ||
788 | 'designation' => 'Test 3 (V)', | 794 | 'designation' => 'Test 3 (V)', |
789 | 'sur_categorie_id' => 1, | 795 | 'sur_categorie_id' => 1, |
790 | 'categorie_id' => 1, | 796 | 'categorie_id' => 1, |
@@ -830,6 +836,8 @@ class MaterielsFixture extends TestFixture { | @@ -830,6 +836,8 @@ class MaterielsFixture extends TestFixture { | ||
830 | //'nom_responsable' => 'test0 test9' | 836 | //'nom_responsable' => 'test0 test9' |
831 | [ | 837 | [ |
832 | 'id' => 11, | 838 | 'id' => 11, |
839 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
840 | + 'budgets' => 'toto', | ||
833 | 'designation' => 'Test 11 (C)', | 841 | 'designation' => 'Test 11 (C)', |
834 | 'sur_categorie_id' => 1, | 842 | 'sur_categorie_id' => 1, |
835 | 'categorie_id' => 1, | 843 | 'categorie_id' => 1, |
@@ -879,6 +887,8 @@ class MaterielsFixture extends TestFixture { | @@ -879,6 +887,8 @@ class MaterielsFixture extends TestFixture { | ||
879 | // matos VALIDATED owned by anybody | 887 | // matos VALIDATED owned by anybody |
880 | [ | 888 | [ |
881 | //'id' => 12, | 889 | //'id' => 12, |
890 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
891 | + 'budgets' => 'toto', | ||
882 | 'designation' => 'Test 12 (V)', | 892 | 'designation' => 'Test 12 (V)', |
883 | 'sur_categorie_id' => 1, | 893 | 'sur_categorie_id' => 1, |
884 | 'categorie_id' => 1, | 894 | 'categorie_id' => 1, |
@@ -926,6 +936,8 @@ class MaterielsFixture extends TestFixture { | @@ -926,6 +936,8 @@ class MaterielsFixture extends TestFixture { | ||
926 | // matos TBA owned by anybody | 936 | // matos TBA owned by anybody |
927 | [ | 937 | [ |
928 | //'id' => 13, | 938 | //'id' => 13, |
939 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
940 | + 'budgets' => 'toto', | ||
929 | 'designation' => 'Test 13 (TBA)', | 941 | 'designation' => 'Test 13 (TBA)', |
930 | 'sur_categorie_id' => 1, | 942 | 'sur_categorie_id' => 1, |
931 | 'categorie_id' => 1, | 943 | 'categorie_id' => 1, |
@@ -969,6 +981,8 @@ class MaterielsFixture extends TestFixture { | @@ -969,6 +981,8 @@ class MaterielsFixture extends TestFixture { | ||
969 | // Materiel ARCHIVED owned by anybody => pas vu par un simple utilisateur (materiel/index/ ne l'affiche pas) | 981 | // Materiel ARCHIVED owned by anybody => pas vu par un simple utilisateur (materiel/index/ ne l'affiche pas) |
970 | [ | 982 | [ |
971 | //'id' => 14, | 983 | //'id' => 14, |
984 | + // TODO: définir budgets comme champ optionnel dans la BD !!! | ||
985 | + 'budgets' => 'toto', | ||
972 | 'designation' => 'Test 14 (A)', | 986 | 'designation' => 'Test 14 (A)', |
973 | 'sur_categorie_id' => 1, | 987 | 'sur_categorie_id' => 1, |
974 | 'categorie_id' => 1, | 988 | 'categorie_id' => 1, |
tests/TestCase/Controller/General.php
@@ -261,6 +261,7 @@ class General extends TestCase { | @@ -261,6 +261,7 @@ class General extends TestCase { | ||
261 | public function dataProviderActionsAndRoles4() { | 261 | public function dataProviderActionsAndRoles4() { |
262 | $actions_and_roles = []; | 262 | $actions_and_roles = []; |
263 | $actions = $this->getActions(); | 263 | $actions = $this->getActions(); |
264 | + //$actions = ['add']; | ||
264 | //$actions = MaterielsController::getActions(); | 265 | //$actions = MaterielsController::getActions(); |
265 | //$controller = 'App\\Controller\\'.$controller; | 266 | //$controller = 'App\\Controller\\'.$controller; |
266 | //debug($this); | 267 | //debug($this); |
@@ -285,12 +286,12 @@ class General extends TestCase { | @@ -285,12 +286,12 @@ class General extends TestCase { | ||
285 | ]; | 286 | ]; |
286 | */ | 287 | */ |
287 | $roles4 = [ | 288 | $roles4 = [ |
288 | - /* | ||
289 | - */ | ||
290 | 'user', | 289 | 'user', |
291 | 'resp', | 290 | 'resp', |
292 | 'admin', | 291 | 'admin', |
293 | 'super', | 292 | 'super', |
293 | + /* | ||
294 | + */ | ||
294 | ]; | 295 | ]; |
295 | //$actions = ['delete']; | 296 | //$actions = ['delete']; |
296 | //$actions = ['edit']; | 297 | //$actions = ['edit']; |
@@ -969,14 +970,16 @@ class General extends TestCase { | @@ -969,14 +970,16 @@ class General extends TestCase { | ||
969 | //$m = $this->Materiels->get($id); | 970 | //$m = $this->Materiels->get($id); |
970 | 971 | ||
971 | // (1) (T,F) => accès REFUSÉ | 972 | // (1) (T,F) => accès REFUSÉ |
972 | - $this->d("(1 TF) should be KO"); | 973 | + $this->d("(1. TF) should be KO"); |
973 | $this->_updateMatosWithStatusAs($matos_id, $access_condition_on_status, true); | 974 | $this->_updateMatosWithStatusAs($matos_id, $access_condition_on_status, true); |
974 | $this->_updateMatosBelongingToCurrentUserAndInSameGroup($matos_id, false, false); | 975 | $this->_updateMatosBelongingToCurrentUserAndInSameGroup($matos_id, false, false); |
975 | $m = $this->Materiels->get($matos_id); | 976 | $m = $this->Materiels->get($matos_id); |
976 | $this->d("(1) id is $id, materiel (id, statut, nom_responsable, nom_createur) is : $m->id, $m->status, $m->nom_responsable, $m->nom_createur"); | 977 | $this->d("(1) id is $id, materiel (id, statut, nom_responsable, nom_createur) is : $m->id, $m->status, $m->nom_responsable, $m->nom_createur"); |
977 | $this->_testExecActionForId($action,$id,$getpost,$posted_data,false,$nbentities); | 978 | $this->_testExecActionForId($action,$id,$getpost,$posted_data,false,$nbentities); |
979 | + | ||
978 | // (2) (F,T) => accès REFUSÉ | 980 | // (2) (F,T) => accès REFUSÉ |
979 | - $this->d("(2 FT) should be KO"); | 981 | + $this->d("(2. FT) should be KO"); |
982 | + //debug($access_condition_on_status); | ||
980 | $this->_updateMatosWithStatusAs($matos_id, $access_condition_on_status, false); | 983 | $this->_updateMatosWithStatusAs($matos_id, $access_condition_on_status, false); |
981 | $this->_updateMatosBelongingToCurrentUserAndInSameGroup($matos_id, true, true); | 984 | $this->_updateMatosBelongingToCurrentUserAndInSameGroup($matos_id, true, true); |
982 | $m = $this->Materiels->get($matos_id); | 985 | $m = $this->Materiels->get($matos_id); |
@@ -985,7 +988,7 @@ class General extends TestCase { | @@ -985,7 +988,7 @@ class General extends TestCase { | ||
985 | 988 | ||
986 | // (3) (F,F) => accès REFUSÉ => inutile de tester ce cas | 989 | // (3) (F,F) => accès REFUSÉ => inutile de tester ce cas |
987 | // (4) (T,T) => accès AUTORISÉ | 990 | // (4) (T,T) => accès AUTORISÉ |
988 | - $this->d("(3 TT) should be OK"); | 991 | + $this->d("(3. TT) should be OK"); |
989 | $this->_updateMatosWithStatusAs($matos_id, $access_condition_on_status, true); | 992 | $this->_updateMatosWithStatusAs($matos_id, $access_condition_on_status, true); |
990 | $this->_updateMatosBelongingToCurrentUserAndInSameGroup($matos_id, true, $this->USER_IS_RESP()); | 993 | $this->_updateMatosBelongingToCurrentUserAndInSameGroup($matos_id, true, $this->USER_IS_RESP()); |
991 | $m = $this->Materiels->get($matos_id); | 994 | $m = $this->Materiels->get($matos_id); |
@@ -1253,11 +1256,24 @@ class General extends TestCase { | @@ -1253,11 +1256,24 @@ class General extends TestCase { | ||
1253 | // 1) Assert redirect | 1256 | // 1) Assert redirect |
1254 | //$this->assertRedirect(['controller' => 'Users', 'action' => 'login']); | 1257 | //$this->assertRedirect(['controller' => 'Users', 'action' => 'login']); |
1255 | //$this->assertRedirect(['controller' => 'Pages', 'action' => 'home']); | 1258 | //$this->assertRedirect(['controller' => 'Pages', 'action' => 'home']); |
1259 | + // OK | ||
1256 | //$this->assertResponseSuccess(); | 1260 | //$this->assertResponseSuccess(); |
1257 | $this->assertResponseEmpty(); | 1261 | $this->assertResponseEmpty(); |
1258 | //if (!in_array($action,['add_by_copy'])) $this->assertResponseEmpty(); | 1262 | //if (!in_array($action,['add_by_copy'])) $this->assertResponseEmpty(); |
1259 | //if ($getpost == 'get') $this->assertRedirect('/'); | 1263 | //if ($getpost == 'get') $this->assertRedirect('/'); |
1264 | + // MARCHE PAS !!! | ||
1265 | + //$this->disableErrorHandlerMiddleware(); | ||
1266 | + // OK | ||
1267 | + //$this->assertResponseCode(302); | ||
1268 | + | ||
1269 | + // VOIR LE CONTENU DE LA REPONSE HTML | ||
1270 | + //debug($this->_response); // materiels/view/2 | ||
1271 | + | ||
1260 | if (!in_array($action,['edit','delete'])) $this->assertRedirect('/'); | 1272 | if (!in_array($action,['edit','delete'])) $this->assertRedirect('/'); |
1273 | + //if (!in_array($action,['edit','delete'])) $this->assertRedirect('/materiels/view/2'); | ||
1274 | + //if (!in_array($action,['edit','delete'])) $this->assertRedirect('/pages/home'); | ||
1275 | + //if (!in_array($action,['edit','delete'])) $this->assertRedirect('/pages/display'); | ||
1276 | + //var_dump($this->headers['Location']); exit; | ||
1261 | 1277 | ||
1262 | // 2) Assert Flash error message (flash message in the 'flash' key) | 1278 | // 2) Assert Flash error message (flash message in the 'flash' key) |
1263 | // Assert a flash messages uses the error element | 1279 | // Assert a flash messages uses the error element |
@@ -1265,6 +1281,7 @@ class General extends TestCase { | @@ -1265,6 +1281,7 @@ class General extends TestCase { | ||
1265 | $expected_flash_message = "Désolé, vous n'êtes pas autorisé à accéder à cette zone."; | 1281 | $expected_flash_message = "Désolé, vous n'êtes pas autorisé à accéder à cette zone."; |
1266 | //var_dump($flash_message); | 1282 | //var_dump($flash_message); |
1267 | // Test message complet | 1283 | // Test message complet |
1284 | + //$this->assertFlashMessage($expected_flash_message); | ||
1268 | $this->assertFlashMessage($expected_flash_message, 'flash'); | 1285 | $this->assertFlashMessage($expected_flash_message, 'flash'); |
1269 | $this->assertSession($expected_flash_message, 'Flash.flash.0.message'); | 1286 | $this->assertSession($expected_flash_message, 'Flash.flash.0.message'); |
1270 | $flash_message = $_SESSION['Flash']['flash'][0]['message']; | 1287 | $flash_message = $_SESSION['Flash']['flash'][0]['message']; |
tests/TestCase/Controller/MaterielsControllerTest.php
@@ -519,13 +519,22 @@ class MaterielsControllerTest extends General { | @@ -519,13 +519,22 @@ class MaterielsControllerTest extends General { | ||
519 | // Seul admin+ peut voir les materiels archivés et a accès à des filtres par statut + bouton exporter + cases à cocher | 519 | // Seul admin+ peut voir les materiels archivés et a accès à des filtres par statut + bouton exporter + cases à cocher |
520 | //if ( in_array($role, ['ADMIN','ADMINP','SUPER']) ) { | 520 | //if ( in_array($role, ['ADMIN','ADMINP','SUPER']) ) { |
521 | if ($this->USER_IS_ADMIN_AT_LEAST()) { | 521 | if ($this->USER_IS_ADMIN_AT_LEAST()) { |
522 | + | ||
522 | $this->assertResponseContains('Liste des matériels (7)', 'Le profil '.$role.' devrait voir les matériels archivés.'); | 523 | $this->assertResponseContains('Liste des matériels (7)', 'Le profil '.$role.' devrait voir les matériels archivés.'); |
523 | - $this->assertResponseContains("A valider", 'Le profil '.$role.' devrait avoir accès à des filtres par statut.'); | ||
524 | - $this->assertResponseContains("A sortir", 'Le profil '.$role.' devrait avoir accès à des filtres par statut.'); | 524 | + //$this->assertResponseContains("A valider", 'Le profil '.$role.' devrait avoir accès à des filtres par statut.'); |
525 | + $this->assertResponseContains("VALIDÉS", 'Le profil '.$role.' devrait avoir accès à des filtres par statut.', true); | ||
526 | + $this->assertResponseContains("ARCHIVÉS", 'Le profil '.$role.' devrait avoir accès à des filtres par statut.', true); | ||
527 | + //debug($this->Materiels->getNiceStatus('VALIDATED')); | ||
528 | + //$this->assertResponseContains($this->Materiels->getNiceStatus('VALIDATED'), 'Le profil '.$role.' devrait avoir accès à des filtres par statut.'); | ||
529 | + | ||
530 | + //$this->assertResponseContains("A sortir", 'Le profil '.$role.' devrait avoir accès à des filtres par statut.'); | ||
531 | + //$this->assertResponseContains($this->Materiels->getNiceStatus('TOBEARCHIVED'), 'Le profil '.$role.' devrait avoir accès à des filtres par statut.'); | ||
525 | } | 532 | } |
526 | else { | 533 | else { |
527 | $this->assertResponseContains("Liste des matériels (6)", 'Le profil '.$role.' ne devrait PAS voir les matériels archivés.'); | 534 | $this->assertResponseContains("Liste des matériels (6)", 'Le profil '.$role.' ne devrait PAS voir les matériels archivés.'); |
528 | - $this->assertResponseNotContains("A valider", 'Le profil '.$role.' ne devrait PAS avoir accès à des filtres par statut.'); | 535 | + //$this->assertResponseNotContains("A valider", 'Le profil '.$role.' ne devrait PAS avoir accès à des filtres par statut.'); |
536 | + //$this->assertResponseNotContains($this->Materiels->getNiceStatus('CREATED'), 'Le profil '.$role.' ne devrait PAS avoir accès à des filtres par statut.'); | ||
537 | + $this->assertResponseNotContains("VALIDÉS", 'Le profil '.$role.' ne devrait PAS avoir accès à des filtres par statut.', true); | ||
529 | } | 538 | } |
530 | $this->assertResponseContainsIf($role, ($this->getUserRole() != 'Utilisateur'), ["Exporter la liste complète"=>"un bouton Exporter"]); | 539 | $this->assertResponseContainsIf($role, ($this->getUserRole() != 'Utilisateur'), ["Exporter la liste complète"=>"un bouton Exporter"]); |
531 | 540 |