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

Annotation of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2625 - (hide annotations)
Wed Dec 18 16:31:30 2013 UTC (11 years, 1 month ago) by vpihour
File size: 19722 byte(s)
Correction des tests

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26