Commit 2e309a73d70d77356d3bc10e6d534955c9b1616b

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

Bugfix pas mal de tests...

v5.2.10-3.7.9
@@ -352,6 +352,23 @@ Commencer à implémenter le nouveau workflow v5 : @@ -352,6 +352,23 @@ Commencer à implémenter le nouveau workflow v5 :
352 352
353 ======= TODO ======= 353 ======= TODO =======
354 354
  355 + *) TESTS !!!!
  356 +
  357 + *) Validation multiple ne marche plus
  358 +
  359 + *) Les tests doivent se faire avec la config par défaut (et non pas celle spécifique du labo)
  360 +
  361 + *) Ajouter test Commande (avec devis joint !)
  362 +
  363 + *)
  364 + TBO ou ARCHIVED (= validated) : ne pas autoriser edit ou delete des docs attachés
  365 + Autoriser certaines choses pour TBO :
  366 + - edit (mais pas delete)
  367 + - print label
  368 + - add doc attaché
  369 + - (pas emprunt ni suivi)
  370 +
  371 +
355 *) 372 *)
356 champ "budgets" à rendre optionnel dans schéma BD... 373 champ "budgets" à rendre optionnel dans schéma BD...
357 374
@@ -360,9 +377,7 @@ Commencer à implémenter le nouveau workflow v5 : @@ -360,9 +377,7 @@ Commencer à implémenter le nouveau workflow v5 :
360 Facture jointe (si > 10K) 377 Facture jointe (si > 10K)
361 378
362 379
363 - *)  
364 - TESTS !!!!  
365 - 380 +
366 381
367 382
368 *) 383 *)
@@ -399,6 +414,10 @@ Commencer à implémenter le nouveau workflow v5 : @@ -399,6 +414,10 @@ Commencer à implémenter le nouveau workflow v5 :
399 ======= CHANGES ======= 414 ======= CHANGES =======
400 415
401 ------- 416 -------
  417 +14/09/2021 v5.2.10-3.7.9
  418 + - Bugfix pas mal de tests...
  419 +
  420 +-------
402 14/09/2021 v5.2.9-3.7.9 421 14/09/2021 v5.2.9-3.7.9
403 - Bugfix Ajout materiel 422 - Bugfix Ajout materiel
404 423
@@ -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: 14/09/2021 55 Date: 14/09/2021
56 -Version: v5.2.9-3.7.9 56 +Version: v5.2.10-3.7.9
57 57
58 58
59 59
src/Controller/MaterielsController.php
@@ -3060,7 +3060,7 @@ class MaterielsController extends AppController { @@ -3060,7 +3060,7 @@ class MaterielsController extends AppController {
3060 // Si au moins un champ obligatoire est nul ou vide => ERROR 3060 // Si au moins un champ obligatoire est nul ou vide => ERROR
3061 foreach ($mandatoryFields as $fname => $fnicename) { 3061 foreach ($mandatoryFields as $fname => $fnicename) {
3062 3062
3063 - // Champs obligatoires à ignorer : Champs virtuels ou ne pouvant être exigés si tôt 3063 + // Champs obligatoires à ignorer : Champs virtuels ou alors ne pouvant être exigés si tôt
3064 if ( in_array($fname, ['DEVIS', 'etiquette', 'numero_inventaire_organisme']) ) continue; 3064 if ( in_array($fname, ['DEVIS', 'etiquette', 'numero_inventaire_organisme']) ) continue;
3065 3065
3066 $fval = $materiel->$fname; 3066 $fval = $materiel->$fname;
@@ -3078,6 +3078,7 @@ class MaterielsController extends AppController { @@ -3078,6 +3078,7 @@ class MaterielsController extends AppController {
3078 * de bootstrap, ou bootsrap-ui, ou cakephp..., à surveiller donc) 3078 * de bootstrap, ou bootsrap-ui, ou cakephp..., à surveiller donc)
3079 */ 3079 */
3080 $msgError1 = "Pour valider un matériel, le champ suivant ne doit pas être vide : ".$fnicename.' du matériel'; 3080 $msgError1 = "Pour valider un matériel, le champ suivant ne doit pas être vide : ".$fnicename.' du matériel';
  3081 + debug($msgError1);
3081 $this->Flash->error($msgError1); 3082 $this->Flash->error($msgError1);
3082 /* MARCHE PAS POURQUOI ? 3083 /* MARCHE PAS POURQUOI ?
3083 $materiel->setError($field, 'Ce champ ne doit pas être vide'); 3084 $materiel->setError($field, 'Ce champ ne doit pas être vide');
tests/Fixture/MaterielsFixture.php
@@ -881,7 +881,8 @@ class MaterielsFixture extends TestFixture { @@ -881,7 +881,8 @@ class MaterielsFixture extends TestFixture {
881 'organisme_id' => 1, 881 'organisme_id' => 1,
882 'site_id' => 1, // Roche 882 'site_id' => 1, // Roche
883 'metrologie' => 0, 883 'metrologie' => 0,
884 - 'fournisseur_id' => 1 884 + 'fournisseur_id' => 1,
  885 + 'nom_user' => 'JP',
885 ], 886 ],
886 887
887 // matos VALIDATED owned by anybody 888 // matos VALIDATED owned by anybody
tests/TestCase/Controller/MaterielsControllerTest.php
@@ -163,6 +163,7 @@ class MaterielsControllerTest extends General { @@ -163,6 +163,7 @@ class MaterielsControllerTest extends General {
163 'gestionnaire_id' => 3, // user id 3 est un profil Administration 163 'gestionnaire_id' => 3, // user id 3 est un profil Administration
164 'organisme_id' => 1, 164 'organisme_id' => 1,
165 'eotp' => 'budget1, budget2', 165 'eotp' => 'budget1, budget2',
  166 + 'budgets' => 'bud1, bud2',
166 ]; 167 ];
167 168
168 /* 169 /*
@@ -1864,8 +1865,14 @@ class MaterielsControllerTest extends General { @@ -1864,8 +1865,14 @@ class MaterielsControllerTest extends General {
1864 $this->post('/materiels/status-validated/11'); 1865 $this->post('/materiels/status-validated/11');
1865 $this->get('/materiels/view/11'); 1866 $this->get('/materiels/view/11');
1866 1867
  1868 + /*
1867 $this->assertResponseNotContains('CREATED', "La validation du materiel ne se fait pas correctement (1)"); 1869 $this->assertResponseNotContains('CREATED', "La validation du materiel ne se fait pas correctement (1)");
1868 $this->assertResponseContains('VALIDATED', "La validation du materiel ne se fait pas correctement (2)"); 1870 $this->assertResponseContains('VALIDATED', "La validation du materiel ne se fait pas correctement (2)");
  1871 + $this->assertResponseNotContains('CRÉÉ - à valider', "La validation du materiel ne se fait pas correctement (1)");
  1872 + $this->assertResponseContains('VALIDÉ - livré & payé', "La validation du materiel ne se fait pas correctement (2)");
  1873 + */
  1874 + $this->assertResponseNotContains($this->Materiels->getNiceStatus('CREATED'), "La validation du materiel ne se fait pas correctement (1)");
  1875 + $this->assertResponseContains($this->Materiels->getNiceStatus('VALIDATED'), "La validation du materiel ne se fait pas correctement (2)");
1869 } 1876 }
1870 1877
1871 /** 1878 /**
@@ -1880,7 +1887,9 @@ class MaterielsControllerTest extends General { @@ -1880,7 +1887,9 @@ class MaterielsControllerTest extends General {
1880 $this->post('/materiels/status-tobearchived/12'); 1887 $this->post('/materiels/status-tobearchived/12');
1881 $this->get('/materiels/view/12'); 1888 $this->get('/materiels/view/12');
1882 1889
1883 - $this->assertResponseContains('TOBEARCHIVED', "La demande d'archivage du materiel ne se fait pas correctement."); 1890 + //$this->assertResponseContains('TOBEARCHIVED', "La demande d'archivage du materiel ne se fait pas correctement.");
  1891 + $this->assertResponseContains($this->Materiels->getNiceStatus('TOBEARCHIVED'), "La demande d'archivage du materiel ne se fait pas correctement");
  1892 +
1884 } 1893 }
1885 1894
1886 /** 1895 /**
@@ -1945,26 +1954,33 @@ class MaterielsControllerTest extends General { @@ -1945,26 +1954,33 @@ class MaterielsControllerTest extends General {
1945 'what' => 'CREATED', 1954 'what' => 'CREATED',
1946 11 => '1', 1955 11 => '1',
1947 12 => '1', 1956 12 => '1',
1948 - 13 => '1' 1957 + 13 => '1',
1949 ]); 1958 ]);
1950 1959
1951 $this->get('/materiels/view/11'); 1960 $this->get('/materiels/view/11');
1952 - $this->assertResponseContains('VALIDATED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1953 - $this->assertResponseNotContains('CREATED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1954 - $this->assertResponseNotContains('TOBEARCHIVED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1955 - $this->assertResponseNotContains('ARCHIVED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement."); 1961 +
  1962 + $statusC = $this->Materiels->getNiceStatus('CREATED');
  1963 + $statusV = $this->Materiels->getNiceStatus('VALIDATED');
  1964 + $statusTBA = $this->Materiels->getNiceStatus('TOBEARCHIVED');
  1965 + $statusA = $this->Materiels->getNiceStatus('ARCHIVED');
  1966 +
  1967 + //$this->assertResponseContains('VALIDATED', "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1968 + $this->assertResponseContains($statusV, "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1969 + $this->assertResponseNotContains($statusC, "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1970 + $this->assertResponseNotContains($statusTBA, "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1971 + $this->assertResponseNotContains($statusA, "(11) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
1956 1972
1957 $this->get('/materiels/view/12'); 1973 $this->get('/materiels/view/12');
1958 - $this->assertResponseContains('VALIDATED', "(12) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1959 - $this->assertResponseNotContains('CREATED', "(12) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1960 - $this->assertResponseNotContains('TOBEARCHIVED', "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1961 - $this->assertResponseNotContains('ARCHIVED', "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement."); 1974 + $this->assertResponseContains($statusV, "(12) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1975 + $this->assertResponseNotContains($statusC, "(12) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1976 + $this->assertResponseNotContains($statusTBA, "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1977 + $this->assertResponseNotContains($statusA, "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
1962 1978
1963 $this->get('/materiels/view/13'); 1979 $this->get('/materiels/view/13');
1964 - $this->assertResponseContains('VALIDATED', "(13) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1965 - $this->assertResponseNotContains('CREATED', "(13) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1966 - $this->assertResponseNotContains('TOBEARCHIVED', "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");  
1967 - $this->assertResponseNotContains('ARCHIVED', "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement."); 1980 + $this->assertResponseContains($statusV, "(13) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1981 + $this->assertResponseNotContains($statusC, "(13) La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1982 + $this->assertResponseNotContains($statusTBA, "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
  1983 + $this->assertResponseNotContains($statusA, "La mise à jour de plusieurs statuts sur le materiel ne se fait pas correctement.");
1968 } 1984 }
1969 1985
1970 1986
@@ -2007,15 +2023,16 @@ class MaterielsControllerTest extends General { @@ -2007,15 +2023,16 @@ class MaterielsControllerTest extends General {
2007 2023
2008 $this->post('/materiels/status-validated/11'); 2024 $this->post('/materiels/status-validated/11');
2009 $this->get('/materiels/view/11'); 2025 $this->get('/materiels/view/11');
2010 - $this->assertResponseContains('CREATED', "La validation du materiel se fait avec un profil utilisateur.");  
2011 - 2026 + //$this->assertResponseContains('CREATED', "La validation du materiel se fait avec un profil utilisateur.");
  2027 + $this->assertResponseContains($this->Materiels->getNiceStatus('CREATED'), "La validation du materiel se fait avec un profil utilisateur.");
  2028 +
2012 $this->post('/materiels/status-tobearchived/12'); 2029 $this->post('/materiels/status-tobearchived/12');
2013 $this->get('/materiels/view/12'); 2030 $this->get('/materiels/view/12');
2014 - $this->assertResponseContains('VALIDATED', "La demande d'archivage du materiel se fait avec un profil utilisateur."); 2031 + $this->assertResponseContains($this->Materiels->getNiceStatus('VALIDATED'), "La demande d'archivage du materiel se fait avec un profil utilisateur.");
2015 2032
2016 $this->post('/materiels/status-archived/13'); 2033 $this->post('/materiels/status-archived/13');
2017 $this->get('/materiels/view/13'); 2034 $this->get('/materiels/view/13');
2018 - $this->assertResponseContains('TOBEARCHIVED', "L'archivage du materiel se fait avec un profil utilisateur."); 2035 + $this->assertResponseContains($this->Materiels->getNiceStatus('TOBEARCHIVED'), "L'archivage du materiel se fait avec un profil utilisateur.");
2019 } 2036 }
2020 2037
2021 /** 2038 /**
@@ -2028,15 +2045,15 @@ class MaterielsControllerTest extends General { @@ -2028,15 +2045,15 @@ class MaterielsControllerTest extends General {
2028 2045
2029 $this->post('/materiels/status-validated/11'); 2046 $this->post('/materiels/status-validated/11');
2030 $this->get('/materiels/view/11'); 2047 $this->get('/materiels/view/11');
2031 - $this->assertResponseContains('VALIDATED', "La validation du materiel ne se fait pas correctement avec un profil admin+."); 2048 + $this->assertResponseContains($this->Materiels->getNiceStatus('VALIDATED'), "La validation du materiel ne se fait pas correctement avec un profil admin+.");
2032 2049
2033 $this->post('/materiels/status-tobearchived/12'); 2050 $this->post('/materiels/status-tobearchived/12');
2034 $this->get('/materiels/view/12'); 2051 $this->get('/materiels/view/12');
2035 - $this->assertResponseContains('TOBEARCHIVED', "La demande d'archivage du materiel ne se fait pas correctement avec un profil admin+."); 2052 + $this->assertResponseContains($this->Materiels->getNiceStatus('TOBEARCHIVED'), "La demande d'archivage du materiel ne se fait pas correctement avec un profil admin+.");
2036 2053
2037 $this->post('/materiels/status-archived/13'); 2054 $this->post('/materiels/status-archived/13');
2038 $this->get('/materiels/view/13'); 2055 $this->get('/materiels/view/13');
2039 - $this->assertResponseContains('ARCHIVED', "L'archivage du materiel ne se fait pas correctement avec un profil admin+."); 2056 + $this->assertResponseContains($this->Materiels->getNiceStatus('ARCHIVED'), "L'archivage du materiel ne se fait pas correctement avec un profil admin+.");
2040 } 2057 }
2041 2058
2042 /** 2059 /**
@@ -2438,7 +2455,15 @@ class MaterielsControllerTest extends General { @@ -2438,7 +2455,15 @@ class MaterielsControllerTest extends General {
2438 'edit' => 'Éditer', // 'Editer ce matériel' 2455 'edit' => 'Éditer', // 'Editer ce matériel'
2439 'delete' => 'Supprimer', 2456 'delete' => 'Supprimer',
2440 'add_by_copy' => 'Copier', 2457 'add_by_copy' => 'Copier',
2441 - 'statusCreated' => 'Dévalider', 2458 +
  2459 + /* Problème : cette action change de nom selon le statut actuel du materiel
  2460 + * Ca peut etre "Invalider", ou "Annuler Sortie", ou "Désarchiver"...
  2461 + * Donc, on utilise plutot le nom interne de l'action dans le code html : status-created
  2462 + */
  2463 + //'statusCreated' => 'Dévalider',
  2464 + //'statusCreated' => 'Invalider',
  2465 + 'statusCreated' => 'status-created',
  2466 +
2442 'statusValidated' => 'Valider', 2467 'statusValidated' => 'Valider',
2443 'statusTobearchived' => "Demander sortie", 2468 'statusTobearchived' => "Demander sortie",
2444 'statusArchived' => 'Sortie inventaire', 2469 'statusArchived' => 'Sortie inventaire',
@@ -2614,7 +2639,8 @@ class MaterielsControllerTest extends General { @@ -2614,7 +2639,8 @@ class MaterielsControllerTest extends General {
2614 $expected_flash_message .= 'supprimé'; 2639 $expected_flash_message .= 'supprimé';
2615 break; 2640 break;
2616 case 'statusCreated': 2641 case 'statusCreated':
2617 - $expected_flash_message .= 'rétrogradé au statut CREATED'; 2642 + //$expected_flash_message .= 'rétrogradé au statut CREATED';
  2643 + $expected_flash_message .= "rétrogradé au statut 'CRÉÉ'";
2618 break; 2644 break;
2619 case 'statusValidated': 2645 case 'statusValidated':
2620 $expected_flash_message .= 'validé'; 2646 $expected_flash_message .= 'validé';
tests/TestCase/Controller/PagesControllerTest.php
@@ -74,6 +74,7 @@ class PagesControllerTest extends General @@ -74,6 +74,7 @@ class PagesControllerTest extends General
74 public function testPage10AccessHomeAsAdmin() { $this->_testPageAccessHomeAs('ADMIN'); } 74 public function testPage10AccessHomeAsAdmin() { $this->_testPageAccessHomeAs('ADMIN'); }
75 //public function testPage10AccessHomeAsAdminPlus() { $this->_testPageAccessHomeAs('ADMINP'); } 75 //public function testPage10AccessHomeAsAdminPlus() { $this->_testPageAccessHomeAs('ADMINP'); }
76 public function testPage10AccessHomeAsSuperAdmin() { $this->_testPageAccessHomeAs('SUPER'); } 76 public function testPage10AccessHomeAsSuperAdmin() { $this->_testPageAccessHomeAs('SUPER'); }
  77 +
77 private function _testPageAccessHomeAs($role) { 78 private function _testPageAccessHomeAs($role) {
78 //$this->authUser(); 79 //$this->authUser();
79 $this->authAs($role); 80 $this->authAs($role);
@@ -92,7 +93,9 @@ class PagesControllerTest extends General @@ -92,7 +93,9 @@ class PagesControllerTest extends General
92 case 'RESP': break; 93 case 'RESP': break;
93 case 'ADMIN': 94 case 'ADMIN':
94 $this->assertResponseContains('Administration'); 95 $this->assertResponseContains('Administration');
95 - $this->assertResponseContains('Voir les matériels à valider'); 96 + //$this->assertResponseContains('Statistiques');
  97 + //$this->assertResponseContains('Voir mes matériels');
  98 + $this->assertResponseContains('Voir les matériels à Valider');
96 break; 99 break;
97 //case 'ADMINP': break; 100 //case 'ADMINP': break;
98 case 'SUPER': 101 case 'SUPER':