Commit 94fb1e94c81468286096049a69517ba828128eab

Authored by Etienne Pallier
1 parent 4e94b523
Exists in master and in 1 other branch dev

Début de bugfix des tests...

@@ -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
@@ -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
@@ -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