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

Annotation of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26