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 | 352 | |
353 | 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 | 373 | champ "budgets" à rendre optionnel dans schéma BD... |
357 | 374 | |
... | ... | @@ -360,9 +377,7 @@ Commencer à implémenter le nouveau workflow v5 : |
360 | 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 | 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 | 421 | 14/09/2021 v5.2.9-3.7.9 |
403 | 422 | - Bugfix Ajout materiel |
404 | 423 | ... | ... |
README.md
src/Controller/MaterielsController.php
... | ... | @@ -3060,7 +3060,7 @@ class MaterielsController extends AppController { |
3060 | 3060 | // Si au moins un champ obligatoire est nul ou vide => ERROR |
3061 | 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 | 3064 | if ( in_array($fname, ['DEVIS', 'etiquette', 'numero_inventaire_organisme']) ) continue; |
3065 | 3065 | |
3066 | 3066 | $fval = $materiel->$fname; |
... | ... | @@ -3078,6 +3078,7 @@ class MaterielsController extends AppController { |
3078 | 3078 | * de bootstrap, ou bootsrap-ui, ou cakephp..., à surveiller donc) |
3079 | 3079 | */ |
3080 | 3080 | $msgError1 = "Pour valider un matériel, le champ suivant ne doit pas être vide : ".$fnicename.' du matériel'; |
3081 | + debug($msgError1); | |
3081 | 3082 | $this->Flash->error($msgError1); |
3082 | 3083 | /* MARCHE PAS POURQUOI ? |
3083 | 3084 | $materiel->setError($field, 'Ce champ ne doit pas être vide'); | ... | ... |
tests/Fixture/MaterielsFixture.php
... | ... | @@ -881,7 +881,8 @@ class MaterielsFixture extends TestFixture { |
881 | 881 | 'organisme_id' => 1, |
882 | 882 | 'site_id' => 1, // Roche |
883 | 883 | 'metrologie' => 0, |
884 | - 'fournisseur_id' => 1 | |
884 | + 'fournisseur_id' => 1, | |
885 | + 'nom_user' => 'JP', | |
885 | 886 | ], |
886 | 887 | |
887 | 888 | // matos VALIDATED owned by anybody | ... | ... |
tests/TestCase/Controller/MaterielsControllerTest.php
... | ... | @@ -163,6 +163,7 @@ class MaterielsControllerTest extends General { |
163 | 163 | 'gestionnaire_id' => 3, // user id 3 est un profil Administration |
164 | 164 | 'organisme_id' => 1, |
165 | 165 | 'eotp' => 'budget1, budget2', |
166 | + 'budgets' => 'bud1, bud2', | |
166 | 167 | ]; |
167 | 168 | |
168 | 169 | /* |
... | ... | @@ -1864,8 +1865,14 @@ class MaterielsControllerTest extends General { |
1864 | 1865 | $this->post('/materiels/status-validated/11'); |
1865 | 1866 | $this->get('/materiels/view/11'); |
1866 | 1867 | |
1868 | + /* | |
1867 | 1869 | $this->assertResponseNotContains('CREATED', "La validation du materiel ne se fait pas correctement (1)"); |
1868 | 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 | 1887 | $this->post('/materiels/status-tobearchived/12'); |
1881 | 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 | 1954 | 'what' => 'CREATED', |
1946 | 1955 | 11 => '1', |
1947 | 1956 | 12 => '1', |
1948 | - 13 => '1' | |
1957 | + 13 => '1', | |
1949 | 1958 | ]); |
1950 | 1959 | |
1951 | 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 | 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 | 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 | 2023 | |
2008 | 2024 | $this->post('/materiels/status-validated/11'); |
2009 | 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 | 2029 | $this->post('/materiels/status-tobearchived/12'); |
2013 | 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 | 2033 | $this->post('/materiels/status-archived/13'); |
2017 | 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 | 2045 | |
2029 | 2046 | $this->post('/materiels/status-validated/11'); |
2030 | 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 | 2050 | $this->post('/materiels/status-tobearchived/12'); |
2034 | 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 | 2054 | $this->post('/materiels/status-archived/13'); |
2038 | 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 | 2455 | 'edit' => 'Éditer', // 'Editer ce matériel' |
2439 | 2456 | 'delete' => 'Supprimer', |
2440 | 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 | 2467 | 'statusValidated' => 'Valider', |
2443 | 2468 | 'statusTobearchived' => "Demander sortie", |
2444 | 2469 | 'statusArchived' => 'Sortie inventaire', |
... | ... | @@ -2614,7 +2639,8 @@ class MaterielsControllerTest extends General { |
2614 | 2639 | $expected_flash_message .= 'supprimé'; |
2615 | 2640 | break; |
2616 | 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 | 2644 | break; |
2619 | 2645 | case 'statusValidated': |
2620 | 2646 | $expected_flash_message .= 'validé'; | ... | ... |
tests/TestCase/Controller/PagesControllerTest.php
... | ... | @@ -74,6 +74,7 @@ class PagesControllerTest extends General |
74 | 74 | public function testPage10AccessHomeAsAdmin() { $this->_testPageAccessHomeAs('ADMIN'); } |
75 | 75 | //public function testPage10AccessHomeAsAdminPlus() { $this->_testPageAccessHomeAs('ADMINP'); } |
76 | 76 | public function testPage10AccessHomeAsSuperAdmin() { $this->_testPageAccessHomeAs('SUPER'); } |
77 | + | |
77 | 78 | private function _testPageAccessHomeAs($role) { |
78 | 79 | //$this->authUser(); |
79 | 80 | $this->authAs($role); |
... | ... | @@ -92,7 +93,9 @@ class PagesControllerTest extends General |
92 | 93 | case 'RESP': break; |
93 | 94 | case 'ADMIN': |
94 | 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 | 99 | break; |
97 | 100 | //case 'ADMINP': break; |
98 | 101 | case 'SUPER': | ... | ... |