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

Contents of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2623 - (show annotations)
Wed Dec 18 13:54:27 2013 UTC (11 years, 1 month ago) by vpihour
File size: 19568 byte(s)
Correction des tests

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Commissions extends Base2TestCase {
16
17 /*
18 * Ajout d'un type de commission par l'administrateur fonctionnel
19 * */
20 public function test_10_ajout_type_commission_administrateur_fonctionnel(){
21
22 // On se connecte en tant que "admin"
23 $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
27 $this->byLinkText("Paramétrage")->click();
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 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 // On clique sur le bouton d'ajout de type de commission
35 $this->byClassName("add-16")->click();
36 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37 $this->verifyNoErrors();
38 // On ajoute les informations du type de commission
39 $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 // On ajoute le type de commission
46 $this->byXpath("//input[@value='Ajouter']")->click();
47 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48 $this->verifyNoErrors();
49 // On retourne sur le tableau listant les types de commission
50 $this->byCssSelector("a.retour")->click();
51 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
52 $this->verifyNoErrors();
53 // On vérifie que le type de commission nouvellement créé avec les informations
54 // ci-dessus existe bien
55 $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 //On se déconnecte de l'application
60 $this->logout();
61 }
62
63 /*
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
69 // Instancie la timezone
70 date_default_timezone_set('Europe/Paris');
71
72 // 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 $this->byLinkText("Mes Encours")->click();
79 // 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 $this->byLinkText("AZ 013055 12 00001P0")->click();
83 // 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 $this->byId("dossier_commission")->click();
87 // 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 $this->byClassName("add-16")->click();
91 // 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 $this->assertEquals(date("d/m/Y"), $this->byId("date_souhaitee")->value());
96 } 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 $this->byXpath("//input[@value='Ajouter']")->click();
101 // 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 $this->assertContains("SAISIE NON ENREGISTRÉE", $this->byCssSelector("#sousform-dossier_commission .message .text")->text());
105 // On sélectionne le type de commission "Commission Technique d'Urbanisme"
106 $this->select($this->byId("commission_type"))->selectOptionByLabel("Test type de commission");
107 //
108 $this->byId("motivation")->value("blablablabla");
109 // On clique sur le bouton "Ajouter" du formulaire avec toutes les informations saisies
110 $this->byXpath("//input[@value='Ajouter']")->click();
111 sleep(2);
112 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113 $this->verifyNoErrors();
114 // O vérifie que le message de validation est présent
115 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-dossier_commission .message .text")->text());
116 // On clique sur le bouton retour
117 $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 // On vérifie que nous avons bien 1 consultation affichée
121 $this->assertContains("1 - 2 enregistrement(s) sur 2", $this->byCssSelector("#sousform-dossier_commission .pagination-text")->text());
122 // On se déconnecte
123 $this->logout();
124 }
125
126 /*
127 * Création d'une nouvelle commission par la cellule suivi
128 * */
129 public function test_30_creation_commission_cellule_suivi() {
130
131 // Instancie la timezone
132 date_default_timezone_set('Europe/Paris');
133 // 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 $this->byLinkText("Gestion")->click();
139 // 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 $this->byClassName("add-16")->click();
143 // 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 $this->assertEquals(date("d/m/Y"), $this->byId("date_commission")->value());
149 } 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 $this->byXpath("//input[@value='Ajouter']")->click();
154 // 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 $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 // dans les champs
162 $this->assertEquals($this->byId("libelle")->value(), "Test type de commission");
163 $this->assertEquals($this->byId("lieu_salle")->value(), "2a");
164 // Aucune adresse n'avait été saisie dans le champ concernant l'adresse
165 $this->assertEquals($this->byId("lieu_adresse_ligne1")->value(), "");
166 // Saisie d'une adresse
167 $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 // On ajoute la commission
172 $this->byXpath("//input[@value='Ajouter']")->click();
173 // 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 $this->byCssSelector("a.retour")->click();
177 // 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 $this->assertEquals($this->byCssSelector(".odd td:nth-child(2)")->text(), "2");
182 // Champ calculé
183 $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 // On se déconnecte de l'application
192 $this->logout();
193 }
194
195 /*
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 // Instancie la timezone
202 date_default_timezone_set('Europe/Paris');
203 // 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 $this->byLinkText("Gestion")->click();
207 // 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 $this->byLinkText("TTDC".date("Ymd"))->click();
211 // 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 $this->byId("commission_dossiers_plannifier_retirer")->click();
215 // 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 $this->byCssSelector(".odd td:nth-child(1)")->click();
219 // On valide le formulaire
220 $this->byXpath("//input[@name='validation']")->click();
221 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222 $this->verifyNoErrors();
223 // On vérifie que le formulaire s'est bien validé
224 $this->assertContains("Mise à jour réalisée avec succès pour le(s) dossier(s) : AZ 013055 12 00001P0.",
225 $this->byCssSelector("#tabs-2 .message .text")->text());
226 // On clique sur l'onglet "Plannifier/retirer des dossiers"
227 $this->byId("dossier_planifie")->click();
228 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
229 $this->verifyNoErrors();
230 //On verifie que le dossier a bien été supprimé
231 $this->assertContains("1 - 1 enregistrement(s) sur 1",
232 $this->byCssSelector("#sousform-dossier_commission .pagination-text")->text());
233 // On clique sur l'onglet "Plannifier un dossier spécifique"
234 $this->byId("commission_dossiers_plannifier_numero")->click();
235 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
236 $this->verifyNoErrors();
237 // On saisie le numéro du dossier d'instruction
238 $this->byId("dossier")->value("CU0130551200001P0");
239 // On clique sur le bouton "Valider" du formulaire
240 $this->byXpath("//input[@value='Valider']")->click();
241 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242 $this->verifyNoErrors();
243 // On vérifie que le formulaire s'est bien validé
244 $this->assertContains("Dossier ajouté avec succès.",
245 $this->byCssSelector("#tabs-3 .message .text")->text());
246 // On clique sur l'onglet "Les dossiers planifiés"
247 $this->byId("dossier_planifie")->click(); sleep(2);
248 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249 $this->verifyNoErrors();
250 //On verifie que le dossier a bien été ajouté
251 $this->assertContains("1 - 1 enregistrement(s) sur 1",
252 $this->byCssSelector("#sousform-dossier_commission .pagination-text")->text());
253 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254 $this->verifyNoErrors();
255 // On clique sur l'onglet "Plannifier un dossier spécifique"
256 $this->byId("commission_dossiers_plannifier_numero")->click();
257 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258 $this->verifyNoErrors();
259 // On saisie le même numéro du dossier d'instruction
260 $this->byId("dossier")->value("CU0130551200001P0");
261 // On clique sur le bouton "Valider" du formulaire
262 $this->byXpath("//input[@value='Valider']")->click();
263 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
264 $this->verifyNoErrors();
265 // On vérifie qu'il y a un message d'erreur
266 $this->assertContains("Ce dossier est déjà à l'ordre du jour.",
267 $this->byCssSelector("#tabs-3 .message .text")->text());
268 //On ajoute uniquement le dossier AZ0130551200001P0 à la commission
269 $this->byId("commission_dossiers_plannifier_retirer")->click();
270 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
271 $this->verifyNoErrors();
272 $this->byName("dossier[]")->click();
273 $this->byCssSelector("tr:nth-child(2) td:nth-child(1) input")->click();
274 // On valide le formulaire
275 $this->byXpath("//input[@name='validation']")->click();
276 // On vérifie que le formulaire s'est bien validé
277 $this->assertContains("Mise à jour réalisée avec succès pour le(s) dossier(s) : CU 013055 12 00001P0, AZ 013055 12 00001P0.",
278 $this->byCssSelector("#tabs-2 .message .text")->text());
279
280
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 $this->logout();
298 }
299
300 /*
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 // Instancie la timezone
306 date_default_timezone_set('Europe/Paris');
307 // 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 $this->byLinkText("Gestion")->click();
311 // 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 $this->byLinkText("TTDC".date("Ymd"))->click();
315 // 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 $this->byLinkText("AZ 013055 12 00001P0")->click();
319 // 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 $this->byId("avis")->value("Favorable");
323 // Validation du formulaire
324 $this->byXpath("//input[@value='Modifier']")->click();
325 // La modification a bien été prise en compte
326 $this->assertContains("Vos modifications ont bien été enregistrées",
327 $this->byCssSelector("#sousform-dossier_commission .message .text")->text());
328
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 $this->logout();
347 }
348
349
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 $this->assertContains("Vous avez 1 demande de passage en commission pour laquelle un avis a été rendu.",
356 $this->byId("dashboard")->text());
357 // On clique sur le lien du widget
358 $this->byLinkText("Voir mes retours de commission")->click();
359 // 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 $this->assertContains($this->byCssSelector(".odd td:nth-child(7)")->text(),"Favorable");
363 //On clique sur le retour du dossier "AZ0130551200001P0"
364 $this->byLinkText("AZ 013055 12 00001P0")->click();
365 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
366 $this->verifyNoErrors();
367 // On temporise pour laisser un peu de temps à l'onglet de se charger
368 // (accès direct)
369 sleep(2);
370 //On marque comme lu
371 $this->byId("action-sousform-dossier_commission-lu")->click();
372 // 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 $this->assertEquals($this->byId("lu")->text(),"Oui");
376 //Retour sur le tableau de bord
377 $this->byLinkText("Tableau de bord")->click();
378 //On vérifie le tableau de bord
379 $this->assertContains("Vous n'avez aucune demande de passage en commission pour laquelle un avis a été rendu.",
380 $this->byId("dashboard")->text());
381 // On se déconnecte de l'application
382 $this->logout();
383 }
384
385
386 }
387
388 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26