/[openfoncier]/branches/3.14.x/tests/testControleFichiersUploades.php
ViewVC logotype

Diff of /branches/3.14.x/tests/testControleFichiersUploades.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1874 by vpihour, Wed May 15 16:40:24 2013 UTC revision 2319 by fmichon, Thu Sep 19 13:32:34 2013 UTC
# Line 22  class ControleFichiersUploades extends B Line 22  class ControleFichiersUploades extends B
22       * génériques (celles qui se trouvent dans le fichier dyn/config.inc.php).       * génériques (celles qui se trouvent dans le fichier dyn/config.inc.php).
23       * L'administrateur ajoute un logo.       * L'administrateur ajoute un logo.
24       */       */
25      public function testCasContraintesGénériques(){      public function testCasContraintesGeneriques(){
26                    // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
27            $this->setSpeed('300');
28          // On se connecte en tant que "admin"          // On se connecte en tant que "admin"
29          $this->login("admin", "admin");          $this->login("admin", "admin");
30          // On clique sur le menu de paramétrage des logos          // On clique sur le menu de paramétrage des logos
31          $this->clickAndWait("link=logo");          $this->clickAndWait("link=Logo");
32          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33          $this->verifyNoErrors();          $this->verifyNoErrors();
34            //On clique sur le lien d'ajout de logo
35            $this->clickAndWait("css=.actions-max-2 a");
36          // On saisie des données          // On saisie des données
37          $this->type("id=id", "logo.jpg");          $this->type("id=id", "logo.jpg");
38          $this->type("id=libelle", "Un logo");          $this->type("id=libelle", "Un logo");
# Line 43  class ControleFichiersUploades extends B Line 46  class ControleFichiersUploades extends B
46          //Valide le téléchargement          //Valide le téléchargement
47          $this->click("name=submit");          $this->click("name=submit");
48          //On vérifie le message d'erreur          //On vérifie le message d'erreur
49          $this->assertText("css=#upload-container .message .text", "Le fichier [image_1.jpg] à charger excède la directive upload_max_filesize (php.ini).");          $this->assertText("css=#upload-container .message .text", 'Le fichier à charger excède la directive upload_max_filesize \(php\.ini\)\. \[image_1\.jpg\]');
50          //Sélection de l'image          //Sélection de l'image
51          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/fichier_1.odt");          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/fichier_1.odt");
52          //Valide le téléchargement          //Valide le téléchargement
53          $this->click("name=submit");          $this->click("name=submit");
54          //On vérifie le message d'erreur          //On vérifie le message d'erreur
55          $this->assertText("css=#upload-container .message .text", "Le fichier [fichier_1.odt] n'est pas conforme à la liste des extension(s) autorisée(s) (.gif;.jpg;.jpeg;.png;.txt;.pdf;.csv;).");          $this->assertText("css=#upload-container .message .text", "Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(\.gif;\.jpg;\.jpeg;\.png;\.txt;\.pdf;\.csv;\)\. \[fichier_1\.odt\]");
56          //Sélection de l'image          //Sélection de l'image
57          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/image_2.jpg");          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/image_2.jpg");
58          //Valide le téléchargement          //Valide le téléchargement
59          $this->click("name=submit");          $this->click("name=submit");
60          //On vérifie que le nom du fichier dans le champ          //On vérifie que le nom du fichier dans le champ
61          $this->assertValue("id=fichier", "image_2.jpg");          $this->assertValue("id=fichier_upload", "image_2\.jpg");
62          //Ajoute le logo en BDD          //Ajoute le logo en BDD
63          $this->clickAndWait("//input[@value='Ajouter']");          $this->clickAndWait("//input[@value='Ajouter']");
64          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
# Line 63  class ControleFichiersUploades extends B Line 66  class ControleFichiersUploades extends B
66          //On vérifie que le logo s'est bien ajouté          //On vérifie que le logo s'est bien ajouté
67          $this->assertText("css=#tabs-1 .message .text", "Vos modifications ont bien été enregistrées.");          $this->assertText("css=#tabs-1 .message .text", "Vos modifications ont bien été enregistrées.");
68          //On clique sur le lien "retour"          //On clique sur le lien "retour"
69          $this->clickAndWait("link=retour");          $this->clickAndWait("link=Retour");
70          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
71          $this->verifyNoErrors();          $this->verifyNoErrors();
72          //On vérifie que le nouveau logo est dans le tableau          //On vérifie que le nouveau logo est dans le tableau
73          $this->assertText("css=tr:nth-child(4) .col-0", "6");          $this->assertText("css=tr:nth-child(3) .col-0", "6");
74          $this->assertText("css=tr:nth-child(4) .col-1", "logo.jpg");          $this->assertText("css=tr:nth-child(3) .col-1", "logo.jpg");
75          $this->assertText("css=tr:nth-child(4) .col-2", "Un logo");          $this->assertText("css=tr:nth-child(3) .col-2", "Un logo");
76          // On se déconnecte de l'application          // On se déconnecte de l'application
77          $this->deconnect();          $this->logout();
78      }      }
79            
80      /**      /**
# Line 81  class ControleFichiersUploades extends B Line 84  class ControleFichiersUploades extends B
84       * dossier AZ0130551200001P0 et ensuite le service consulté rendra un avis       * dossier AZ0130551200001P0 et ensuite le service consulté rendra un avis
85       * auquel il joindra un fichier.       * auquel il joindra un fichier.
86       */       */
87      public function testCasContraintesSpécifiques(){      public function testCasContraintesSpecifiques(){
88                    // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
89            $this->setSpeed('300');
90          // On se connecte en tant que "admin"          // On se connecte en tant que "admin"
91          $this->login("instr", "instr");          $this->login("instr", "instr");
92          // On clique sur le menu des encours          // On clique sur le menu des encours
# Line 90  class ControleFichiersUploades extends B Line 94  class ControleFichiersUploades extends B
94          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
95          $this->verifyNoErrors();          $this->verifyNoErrors();
96          // On clique sur le dossier AZ0130551200001P0          // On clique sur le dossier AZ0130551200001P0
97          $this->clickAndWait("link=AZ0130551200001P0");          $this->clickAndWait("link=AZ 013055 12 00001P0");
98          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
99          $this->verifyNoErrors();          $this->verifyNoErrors();
100          //Ralenti l'exécution du script pour permettre au JS de se charger          //Ralenti l'exécution du script pour permettre au JS de se charger
# Line 103  class ControleFichiersUploades extends B Line 107  class ControleFichiersUploades extends B
107          $this->select("id=service","value=1");          $this->select("id=service","value=1");
108          //On ajoute la consultation          //On ajoute la consultation
109          $this->click("//input[@value='Ajouter']");          $this->click("//input[@value='Ajouter']");
110            // Ontemporise pour que le résultat de la requête ajax puisse se charger
111            // correctement en javascript
112            sleep(5);
113          //On vérifie que le logo s'est bien ajouté          //On vérifie que le logo s'est bien ajouté
114          $this->assertText("css=#sousform-consultation .message .text", "Vos modifications ont bien été enregistrées.");          $this->assertText("css=#sousform-consultation .message .text", 'regexp:.*Vos modifications ont bien été enregistrées.*');
115          //On retourne au tableau de consultation en cliquant sur le lien de retour          //On retourne au tableau de consultation en cliquant sur le lien de retour
116          $this->click("css=#sousform-consultation .retour");          $this->click("css=#sousform-consultation .retour");
         //On vérifie que la nouvelle consultation est dans le tableau  
         $this->assertText("css=.odd .col-0", "1");  
         $this->assertText("css=.odd .col-5", "Direction de l'Eau et de l'Assainissement");  
117          //On se déconnecte de l'application          //On se déconnecte de l'application
118          $this->deconnect();          $this->deconnect();
119                    
120          // On se connecte en tant que "admin"          // On se connecte en tant que "consu"
121          $this->login("consu", "consu");          // !!! Attention on n'utilise pas la méthode login standard car
122          // On clique sur le menu des demandes en cours          // l'utilisateur est redirigé automatiquement vers un autre écran
123          $this->clickAndWait("link=demandes en cours");          // sans voir le message de connexion !!!
124            // On se connecte
125            $this->connect("consu", "consu");
126          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
127          $this->verifyNoErrors();          $this->verifyNoErrors();
128            // On temporise pour laisser le temps au javascript de redirection
129            // de faire son travail
130            sleep(1);
131            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
132            $this->verifynoerrors();
133          // On clique sur la consultation que l'instructeur vient d'ajouter          // On clique sur la consultation que l'instructeur vient d'ajouter
134          $this->clickAndWait("link=AZ0130551200001P0");          $this->clickAndWait("link=AZ 013055 12 00001P0");
135          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
136          $this->verifyNoErrors();          $this->verifyNoErrors();
137          //On clique sur le lien "Rendre un avis" du portlet d'actions          //On clique sur le lien "Rendre un avis" du portlet d'actions
# Line 132  class ControleFichiersUploades extends B Line 143  class ControleFichiersUploades extends B
143          //Valide le téléchargement          //Valide le téléchargement
144          $this->click("name=submit");          $this->click("name=submit");
145          //On vérifie le message d'erreur          //On vérifie le message d'erreur
146          $this->assertText("css=#upload-container .message .text", "Le fichier [image_1.jpg] à charger excède la directive upload_max_filesize (php.ini).");          $this->assertText("css=#upload-container .message .text", "Le fichier à charger excède la directive upload_max_filesize \(php\.ini\)\. \[image_1\.jpg\]");
147          //On tente d'ajouter un fichier avec une mauvais extension          //On tente d'ajouter un fichier avec une mauvais extension
148          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/fichier_1.odt");          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/fichier_1.odt");
149          //Valide le téléchargement          //Valide le téléchargement
150          $this->click("name=submit");          $this->click("name=submit");
151          //On vérifie le message d'erreur          //On vérifie le message d'erreur
152          $this->assertText("css=#upload-container .message .text", "Le fichier [fichier_1.odt] n'est pas conforme à la liste des extension(s) autorisée(s) (.gif;.jpg;.jpeg;.png;.txt;.pdf;.csv;).");          $this->assertText("css=#upload-container .message .text", "Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(.pdf\)\. \[fichier_1\.odt\]");
153          //On ajoute le bon fichier          //On ajoute le bon fichier
154          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");          $this->type("name=userfile[]",dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
155          //Valide le téléchargement          //Valide le téléchargement
156          $this->click("name=submit");          $this->click("name=submit");
157          //On vérifie que le nom du fichier dans le champ          //On vérifie que le nom du fichier dans le champ
158          $this->assertValue("id=fichier", "lettre_rar16042013124515.pdf");          $this->assertValue("id=fichier_upload", "lettre_rar16042013124515.pdf");
159          //Ajoute le retour de consultation en BDD          //Ajoute le retour de consultation en BDD
160          $this->click("//input[@value='Modifier']");          $this->click("//input[@value='Modifier']");
161          //On vérifie que le retour de consultation a bien été pris en compte          //On vérifie que le retour de consultation a bien été pris en compte
162          $this->assertText("css=#sousform-consultation .message .text", "Vos modifications ont bien été enregistrées.");          $this->assertText("css=#sousform-consultation .message .text", 'regexp:.*Vos modifications ont bien été enregistrées.*');
163            //Retour au tableau des consultation demandant un avis
164            $this->click("class=ui-dialog-titlebar-close ui-corner-all");
165          //On se déconnecte de l'application          //On se déconnecte de l'application
166          $this->deconnect();          $this->logout();
167      }      }
168  }  }

Legend:
Removed from v.1874  
changed lines
  Added in v.2319

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26