/[openfoncier]/trunk/tests/testCommissions.php
ViewVC logotype

Diff of /trunk/tests/testCommissions.php

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

revision 1751 by vpihour, Mon Apr 22 12:42:50 2013 UTC revision 2183 by fmichon, Thu Aug 29 14:21:54 2013 UTC
# Line 17  class Commissions extends BaseTestCase { Line 17  class Commissions extends BaseTestCase {
17      /*      /*
18       * Ajout d'un type de commission par l'administrateur fonctionnel       * Ajout d'un type de commission par l'administrateur fonctionnel
19       * */       * */
20      public function test_01_ajout_type_commission_administrateur_fonctionnel(){      public function test_10_ajout_type_commission_administrateur_fonctionnel(){
21            
22          // On se connecte en tant que "admin"          // On se connecte en tant que "admin"
23          $this->login("admin", "admin");          $this->login("admin", "admin");
24            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
25            $this->verifyNoErrors();
26          // On clique sur le menu de paramétrage du type des commissions          // On clique sur le menu de paramétrage du type des commissions
27          $this->clickAndWait("link=type de commission");          $this->clickAndWait("link=type de commission");
28            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
29            $this->verifyNoErrors();
30          // On clique sur le bouton d'ajout de type de commission          // On clique sur le bouton d'ajout de type de commission
31          $this->clickAndWait("css=.add-16");          $this->clickAndWait("css=.add-16");
32            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33            $this->verifyNoErrors();
34          // On ajoute les informations du type de commission          // On ajoute les informations du type de commission
35          $this->type("id=code", "TTDC");          $this->type("id=code", "TTDC");
36          $this->type("id=libelle", "Test type de commission");          $this->type("id=libelle", "Test type de commission");
37          $this->type("id=lieu_salle", "2a");          $this->type("id=lieu_salle", "2a");
38          $this->type("id=listes_de_diffusion", "[email protected]");          $this->type("id=listes_de_diffusion", "[email protected]");
39          $this->type("id=participants", "Atreal");          $this->type("id=participants", "Atreal");
         $this->type("id=participants", "Atreal");  
40          $this->type("id=corps_du_courriel", "Test du type de commission");          $this->type("id=corps_du_courriel", "Test du type de commission");
41          // On ajoute le type de commission          // On ajoute le type de commission
42          $this->clickAndWait("//input[@value='Ajouter']");          $this->clickAndWait("//input[@value='Ajouter']");
43            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
44            $this->verifyNoErrors();
45          // On retourne sur le tableau listant les types de commission          // On retourne sur le tableau listant les types de commission
46          $this->clickAndWait("css=a.retour");          $this->clickAndWait("css=a.retour");
47          //On vérifie que le type de commission nouvellement avec les informations ci-dessus          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48          //existe bien          $this->verifyNoErrors();
49            // On vérifie que le type de commission nouvellement créé avec les informations
50            // ci-dessus existe bien
51          $this->assertText("css=.even td:nth-child(2)", "2");          $this->assertText("css=.even td:nth-child(2)", "2");
52          $this->assertText("css=.even td:nth-child(3)", "TTDC");          $this->assertText("css=.even td:nth-child(3)", "TTDC");
53          $this->assertText("css=.even td:nth-child(4)", "Test type de commission");          $this->assertText("css=.even td:nth-child(4)", "Test type de commission");
54          $this->assertText("css=.even td:nth-child(7)", "2a");          $this->assertText("css=.even td:nth-child(7)", "2a");
55          //On se déconnecte de l'application          //On se déconnecte de l'application
56          $this->deconnect();          $this->logout();
57      }      }
58    
59      public function zztest_10_ajout_demande_de_passage_par_l_instructeur() {      /*
60         * Ajout d'une demande de passage en commission dans le contexte d'un dossier
61         * d'instruction par l'instructeur
62         * */
63        public function test_20_ajout_demande_de_passage_instructeur() {
64          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
65          $this->setSpeed('120');          $this->setSpeed('120');
66    
# Line 61  class Commissions extends BaseTestCase { Line 74  class Commissions extends BaseTestCase {
74          // 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é
75          $this->verifyNoErrors();          $this->verifyNoErrors();
76          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
77          $this->clickAndWait("link=AZ0130551200001P0");          $this->clickAndWait("link=AZ 013055 12 00001P0");
78          // 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é
79          $this->verifyNoErrors();          $this->verifyNoErrors();
80          // On clique sur l'onglet "Commission(s)"          // On clique sur l'onglet "Commission(s)"
# Line 85  class Commissions extends BaseTestCase { Line 98  class Commissions extends BaseTestCase {
98          // On vérifie que le message d'erreur est présent          // On vérifie que le message d'erreur est présent
99          $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");          $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
100          // On sélectionne le type de commission "Commission Technique d'Urbanisme"          // On sélectionne le type de commission "Commission Technique d'Urbanisme"
101          $this->select("id=commission_type", "label=Commission Technique d'Urbanisme");          $this->select("id=commission_type", "label=Test type de commission");
102          //          //
103          $this->type("id=motivation", "blablablabla");          $this->type("id=motivation", "blablablabla");
104          // On clique sur le bouton "Ajouter" du formulaire avec toutes les informations saisies          // On clique sur le bouton "Ajouter" du formulaire avec toutes les informations saisies
105          $this->click("//input[@value='Ajouter']");          $this->click("//input[@value='Ajouter']");
106          // 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é
107          $this->verifyNoErrors();          $this->verifyNoErrors();
108          // On vérifie que le message de validation est présent          // O vérifie que le message de validation est présent
109          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
110          // On clique sur le bouton retour          // On clique sur le bouton retour
111          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
# Line 102  class Commissions extends BaseTestCase { Line 115  class Commissions extends BaseTestCase {
115          $this->logout();          $this->logout();
116      }      }
117            
118      //public function test_20_creation_commission_par_la_cellule_suivi() {      /*
119      //           * Création d'une nouvelle commission par la cellule suivi
120      //}       * */
121      //public function test_21_planification_commission_par_la_cellule_suivi() {      public function test_30_creation_commission_cellule_suivi() {
122      //    // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
123      //    $this->setSpeed('120');          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
124      //    // On se connecte en tant que "suivi"          $this->setSpeed('300');
125      //    $this->login("suivi", "suivi");          // On se connecte en tant que "suivi"
126      //    // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          $this->login("suivi", "suivi");
127      //    $this->verifyNoErrors();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
128      //    //          $this->verifyNoErrors();
129      //              // On clique sur l'entrée de menu "Commissions -> Gestion"
130      //    // On se déconnecte          $this->clickAndWait("link=gestion");
131      //    $this->logout();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
132      //}          $this->verifyNoErrors();
133      //public function test_22_impression_de_l_ordre_du_jour_par_la_cellule_suivi() {          // On clique sur le bouton d'ajout de commission
134      //              $this->clickAndWait("css=.add-16");
135      //}          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
136      //public function test_22_saisie_des_avis_par_la_cellule_suivi() {          $this->verifyNoErrors();
137      //              // On saisie une nouvelle commission
138      //}          // On vérifie que la date du jour est pré-remplie dans le champs "date souhaitée"
139      //public function test_30_gestion_du_retour_de_commission_par_l_instructeur() {          try {
140      //                  $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_commission"));
141      //}          } catch (PHPUnit_Framework_AssertionFailedError $e) {
142                array_push($this->verificationErrors, $e->toString());
143            }
144            // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de type de commission
145            $this->click("//input[@value='Ajouter']");
146            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
147            $this->verifyNoErrors();
148            // On vérifie que le message d'erreur est présent
149            $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
150            //On choisi un type de commission
151            $this->select("id=commission_type","label=Test type de commission");
152            // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
153            $this->setSpeed('120');
154            // On vérifie que les informations du type de commision sélectionnées sont bien
155            // dans les champs
156            $this->assertValue("id=libelle", "Test type de commission");
157            $this->assertValue("id=lieu_salle", "2a");
158            // Aucune adresse n'avait été saisie dans le champ concernant l'adresse
159            $this->assertValue("id=lieu_adresse_ligne1", "");
160            // Saisie d'une adresse
161            $this->type("id=lieu_adresse_ligne1", "1 boulevard de la république");
162            $this->type("id=heure_commission", "15:00");
163            $this->assertValue("id=listes_de_diffusion", "[email protected]");
164            $this->assertValue("id=participants", "Atreal");
165            // On ajoute la commission
166            $this->clickAndWait("//input[@value='Ajouter']");
167            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
168            $this->verifyNoErrors();
169            // On retourne sur le tableau listant les commissions
170            $this->clickAndWait("css=a.retour");
171            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
172            $this->verifyNoErrors();
173            // On vérifie que la commission nouvellement avec les informations ci-dessus
174            // existe bien
175            $this->assertText("css=.odd td:nth-child(2)", "2");
176            // Champ calculé
177            $this->assertText("css=.odd td:nth-child(3)", "TTDC".date("Ymd"));
178            $this->assertText("css=.odd td:nth-child(4)", "Test type de commission");
179            $this->assertText("css=.odd td:nth-child(5)", "Test type de commission");
180            $this->assertText("css=.odd td:nth-child(6)", date("d/m/Y"));
181            $this->assertText("css=.odd td:nth-child(7)", "15:00");
182            $this->assertText("css=.odd td:nth-child(8)", "1 boulevard de la république");
183            $this->assertText("css=.odd td:nth-child(9)", "");
184            $this->assertText("css=.odd td:nth-child(10)", "2a");
185            // On se déconnecte de l'application
186            $this->logout();
187        }
188        
189        /*
190         * Plannification des dossiers et impression de l'ordre du jour par la cellule suivi
191         *
192         * */
193        public function test_31_preparation_commission_cellule_suivi(){
194            
195            // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
196            $this->setSpeed('300');
197            // On se connecte en tant que "suivi"
198            $this->login("suivi", "suivi");
199            // On clique sur le menu de paramétrage du type des commissions
200            $this->clickAndWait("link=gestion");
201            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202            $this->verifyNoErrors();
203            // Clique sur la commission
204            $this->clickAndWait("link="."TTDC".date("Ymd"));
205            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
206            $this->verifyNoErrors();
207            // On clique sur l'onglet "Plannifier/retirer des dossiers"
208            $this->click("id=commission_dossiers_plannifier_retirer");
209            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210            $this->verifyNoErrors();
211            // On supprime un dossier par l'onglet planifier/retirer
212            $this->click("css=.odd td:nth-child(1)");
213            // On valide le formulaire
214            $this->click("//input[@name='validation']");
215            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
216            $this->verifyNoErrors();
217            // On vérifie que le formulaire s'est bien validé
218            $this->assertTextPresent("Mise à jour réalisée avec succès pour le(s) dossier(s) : AZ 013055 12 00001P0.");
219            // On clique sur l'onglet "Plannifier/retirer des dossiers"
220            $this->click("id=sousform-dossier_commission");
221            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222            $this->verifyNoErrors();
223            //On verifie que le dossier a bien été supprimé
224            $this->assertTextPresent( "1 - 0 enregistrement(s) sur 0");
225            // On clique sur l'onglet "Plannifier un dossier spécifique"
226            $this->click("id=commission_dossiers_plannifier_numero");
227            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228            $this->verifyNoErrors();
229            // On saisie le numéro du dossier d'instruction
230            $this->type("id=dossier", "CU 013055 12 00001P0");
231            // On clique sur le bouton "Valider" du formulaire
232            $this->click("//input[@value='Valider']");
233            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234            $this->verifyNoErrors();
235            // On vérifie que le formulaire s'est bien validé
236            $this->assertTextPresent("Dossier ajouté avec succès.");
237            // On clique sur l'onglet "Les dossiers planifiés"
238            $this->click("id=dossier_planifie");
239            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240            $this->verifyNoErrors();
241            //On verifie que le dossier a bien été ajouté
242            $this->assertTextPresent( "1 - 1 enregistrement(s) sur 1");
243            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
244            $this->verifyNoErrors();
245            // On clique sur l'onglet "Plannifier un dossier spécifique"
246            $this->click("id=commission_dossiers_plannifier_numero");
247            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
248            $this->verifyNoErrors();
249            // On saisie le même numéro du dossier d'instruction
250            $this->type("id=dossier", "CU0130551200001P0");
251            // On clique sur le bouton "Valider" du formulaire
252            $this->click("//input[@value='Valider']");
253            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254            $this->verifyNoErrors();
255            // On vérifie qu'il y a un message d'erreur
256            $this->assertTextPresent("Ce dossier est deja a l'ordre du jour.");
257            //On ajoute uniquement le dossier AZ0130551200001P0 à la commission
258            $this->click("id=commission_dossiers_plannifier_retirer");
259            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
260            $this->verifyNoErrors();
261            $this->uncheck("name=dossier[]");
262            $this->check("css=tr:nth-child(2) td:nth-child(1) input");
263            // On valide le formulaire
264            $this->click("//input[@name='validation']");
265            // On vérifie que le formulaire s'est bien validé
266            $this->assertTextPresent("Mise à jour réalisée avec succès pour le(s) dossier(s) : CU 013055 12 00001P0, AZ 013055 12 00001P0.");
267            
268            
269            //Problème avec les PDFs
270            /*// Imprime l'ordre du jour
271            $this->click("//div[@id='portlet-actions']/ul/li[6]/a/span");
272            //
273            $this->waitForPopUp("", "30000");
274            $this->selectPopUp();
275            sleep(5);
276            $this->verifyNoErrors();
277            $this->verifyTextPresent("ORDRE DU JOUR DE LA Test du type de commission DU ".date("d/m/Y"));
278            $this->close();
279            //
280            $this->selectWindow();
281            $this->verifyNoErrors();*/
282            
283            
284            //On se déconnecte de l'application
285            $this->logout();
286        }
287        
288        /*
289         * Rédaction des retours de commission suite au passage en commission
290         * */
291        public function test_22_saisie_des_avis_par_la_cellule_suivi() {
292            
293            // On se connecte en tant que "suivi"
294            $this->login("suivi", "suivi");
295            // On clique sur le menu de paramétrage du type des commissions
296            $this->clickAndWait("link=gestion");
297            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
298            $this->verifyNoErrors();
299            // Clique sur la commission
300            $this->clickAndWait("link="."TTDC".date("Ymd"));
301            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
302            $this->verifyNoErrors();
303            // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
304            $this->setSpeed('300');
305            // Affichage en visualisation du dossier qui est passé en commission
306            $this->click("link=AZ 013055 12 00001P0");
307            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308            $this->verifyNoErrors();
309            // On saisie le retour
310            $this->type("id=avis","Favorable");        
311            // Validation du formulaire
312            $this->click("//input[@value='Modifier']");
313            // La modification a bien été prise en compte
314            $this->assertTextPresent("Vos modifications ont bien été enregistrées");
315            
316            
317            //Problème avec les PDFs
318            /*//Impression du retour
319            $this->click("//div[@id='portlet-actions']/ul/li[8]/a/span");
320            //
321            $this->waitForPopUp("", "30000");
322            $this->selectPopUp();
323            sleep(5);
324            $this->verifyNoErrors();
325            $this->verifyTextPresent("COMPTE-RENDU DE LA Test du type de commission DU ".date("d/m/Y"));
326            $this->close();
327            //
328            $this->selectWindow();
329            $this->verifyNoErrors();*/
330            
331            
332            //On se déconnecte de l'application
333            $this->logout();
334        }
335        
336        
337        public function test_30_gestion_du_retour_de_commission_par_l_instructeur() {
338            
339            // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
340            $this->setSpeed('120');
341            // On se connecte en tant que "instr"
342            $this->login("instr", "instr");
343            //On verifie le message du widget
344            $this->assertTextPresent("Vous avez 1 demande de passage en commission pour laquelle un avis a été rendu.");
345            // On clique sur le lien du widget
346            $this->clickAndWait("link=Voir mes retours de commission");
347            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
348            $this->verifyNoErrors();
349            // On se rend sur la demande de passage en visualisaion
350            $this->assertText("css=.odd td:nth-child(7)","Favorable");
351            //On clique sur le retour du dossier "AZ0130551200001P0"
352            $this->clickAndWait("link=AZ 013055 12 00001P0");
353            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
354            $this->verifyNoErrors();
355            //On marque comme lu
356            $this->click("css=#sousform-dossier_commission #portlet-actions li::nth-child(3) a span");
357            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
358            $this->verifyNoErrors();
359            // On vérifie que la demande de passage est bien passée à lu
360            $this->assertText("id=lu","Oui");
361            //Retour sur le tableau de bord
362            $this->clickAndWait("link=Tableau de bord");
363            //On vérifie le tableau de bord
364            $this->assertTextPresent("Vous n'avez aucune demande de passage en commission pour laquelle un avis a été rendu.");
365            // On se déconnecte de l'application
366            $this->logout();
367        }
368        
369        
370  }  }
371    
372  ?>  ?>

Legend:
Removed from v.1751  
changed lines
  Added in v.2183

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26