Commit 2e309a73d70d77356d3bc10e6d534955c9b1616b
1 parent
a87adffc
Exists in
master
and in
1 other branch
Bugfix pas mal de tests...
v5.2.10-3.7.9
Showing
6 changed files
with
80 additions
and
30 deletions
Show diff stats
CHANGELOG
@@ -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 |
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: 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': |