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

Annotation of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26