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

Contents of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2197 - (show annotations)
Fri Aug 30 08:55:48 2013 UTC (11 years, 5 months ago) by fmichon
File size: 18029 byte(s)
Sélection sur un identifiant pour le test de la commission pour être plus précis.

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 BaseTestCase {
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 du type des commissions
27 $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
31 $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
35 $this->type("id=code", "TTDC");
36 $this->type("id=libelle", "Test type de commission");
37 $this->type("id=lieu_salle", "2a");
38 $this->type("id=listes_de_diffusion", "[email protected]");
39 $this->type("id=participants", "Atreal");
40 $this->type("id=corps_du_courriel", "Test du type de commission");
41 // On ajoute le type de commission
42 $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
46 $this->clickAndWait("css=a.retour");
47 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48 $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");
52 $this->assertText("css=.even td:nth-child(3)", "TTDC");
53 $this->assertText("css=.even td:nth-child(4)", "Test type de commission");
54 $this->assertText("css=.even td:nth-child(7)", "2a");
55 //On se déconnecte de l'application
56 $this->logout();
57 }
58
59 /*
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
65 $this->setSpeed('120');
66
67 // On se connecte en tant que "instr"
68 $this->login("instr", "instr");
69
70 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
71 $this->verifyNoErrors();
72 // On clique sur le lien "Mes encours" dans le menu
73 $this->clickAndWait("link=mes encours");
74 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
75 $this->verifyNoErrors();
76 // On clique sur le lien "AZ0130551200001P0" dans le tableau
77 $this->clickAndWait("link=AZ 013055 12 00001P0");
78 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
79 $this->verifyNoErrors();
80 // On clique sur l'onglet "Commission(s)"
81 $this->click("id=dossier_commission");
82 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
83 $this->verifyNoErrors();
84 // On clique sur le lien "Ajouter" dans le tableau
85 $this->click("//div[@id='sousform-dossier_commission']/table/thead/tr/th/a/span");
86 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
87 $this->verifyNoErrors();
88 // On vérifie que la date du jour est pré-remplie dans le champs "date souhaitée"
89 try {
90 $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_souhaitee"));
91 } catch (PHPUnit_Framework_AssertionFailedError $e) {
92 array_push($this->verificationErrors, $e->toString());
93 }
94 // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de type de commission
95 $this->click("//input[@value='Ajouter']");
96 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
97 $this->verifyNoErrors();
98 // On vérifie que le message d'erreur est présent
99 $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
100 // On sélectionne le type de commission "Commission Technique d'Urbanisme"
101 $this->select("id=commission_type", "label=Test type de commission");
102 //
103 $this->type("id=motivation", "blablablabla");
104 // On clique sur le bouton "Ajouter" du formulaire avec toutes les informations saisies
105 $this->click("//input[@value='Ajouter']");
106 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
107 $this->verifyNoErrors();
108 // O vérifie que le message de validation est présent
109 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
110 // On clique sur le bouton retour
111 $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
112 // On vérifie que nous avons bien 1 consultation affichée
113 $this->verifyTextPresent("1 - 2 enregistrement(s) sur 2");
114 // On se déconnecte
115 $this->logout();
116 }
117
118 /*
119 * Création d'une nouvelle commission par la cellule suivi
120 * */
121 public function test_30_creation_commission_cellule_suivi() {
122
123 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
124 $this->setSpeed('300');
125 // On se connecte en tant que "suivi"
126 $this->login("suivi", "suivi");
127 // 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 $this->clickAndWait("link=gestion");
131 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
132 $this->verifyNoErrors();
133 // 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 $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 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", "CU0130551200001P0");
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 temporise pour laisser un peu de temps à l'onglet de se charger
356 // (accès direct)
357 sleep(2);
358 //On marque comme lu
359 $this->click("css=#action-sousform-dossier_commission-lu");
360 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
361 $this->verifyNoErrors();
362 // On vérifie que la demande de passage est bien passée à lu
363 $this->assertText("id=lu","Oui");
364 //Retour sur le tableau de bord
365 $this->clickAndWait("link=Tableau de bord");
366 //On vérifie le tableau de bord
367 $this->assertTextPresent("Vous n'avez aucune demande de passage en commission pour laquelle un avis a été rendu.");
368 // On se déconnecte de l'application
369 $this->logout();
370 }
371
372
373 }
374
375 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26