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

Contents of /trunk/tests/testGeolocalisation.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3192 - (show annotations)
Mon Dec 1 11:28:32 2014 UTC (10 years, 2 months ago) by vpihour
File size: 43544 byte(s)
Correction des tests

1 <?php
2 /**
3 * Fichier contenant la classe de test Geolocalisation
4 *
5 * @package openads
6 * @version SVN : $Id$
7 */
8
9 // Fichiers requis
10 require_once "base.php";
11
12 /**
13 * Classe de test sur les actions liées à la géolocalisation
14 *
15 * Dossier d'instruction utilisé : AZ 013055 12 00001P0 et DP 013055 12 00001P0
16 */
17 class Geolocalisation extends Base2TestCase {
18
19 /**
20 * Active l'option sig avec la valeur nécessaire pour la suite des tests
21 */
22 public function test_01_active_option_sig() {
23
24 // On se connecte en tant que "admin"
25 $this->login("admin", "admin");
26 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
27 $this->verifyNoErrors();
28 // On clique sur le lien "Administration" dans le menu
29 $this->byLinkText("Administration")->click();
30 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
31 $this->verifyNoErrors();
32 // // On clique sur le lien "Paramètre" dans le menu
33 $this->byLinkText("Paramètre")->click();
34 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
35 $this->verifyNoErrors();
36 // On remplis le champs de recherche simple
37 $this->byCssSelector("input[name='recherche']")->value('option_sig');
38 // On clique sur le bouton recherche
39 $this->byCssSelector(".ui-button")->click();
40 // On clique sur le résultat
41 $this->byLinkText("option_sig")->click();
42 // On clique sur le bouton "Modifier"
43 $this->byId('action-form-om_parametre-modifier')->click();
44 // On change la valeur par "sig_externe"
45 $this->byId('valeur')->clear();
46 $this->byId('valeur')->value('sig_externe');
47 // On valide la modification
48 $this->byCssSelector("input[value='Modifier']")->click();
49 // On vérifie le message de validation
50 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
51 // On clique sur le bouton 'Retour'
52 $this->byLinkText("Retour")->click();
53 // On vérifie les nouvelles données
54 $this->assertEquals("sig_externe", $this->byId("valeur")->text());
55 // On se déconnecte
56 $this->logout();
57 }
58
59 /**
60 * Test la recherche avancée sur les parcelles
61 * le dossier AZ 013055 12 00001P0 à comme références cadastrales
62 * 806AB0001A0005 ce qui revient à dire qu'il a les références cadastrales
63 * 806AB0001, 806AB0002, 806AB0003, 806AB0004 et 806AB0005
64 */
65 public function test_02_recherche_avancee_parcelle() {
66
67 // On se connecte en tant que "instr"
68 $this->login("instr", "instr");
69 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
70 $this->verifyNoErrors();
71 // On clique sur le lien "Recherche" dans le menu
72 $this->byLinkText("Recherche")->click();
73 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
74 $this->verifyNoErrors();
75 // On remplis le champ parcelle de la recherche avancée
76 $this->byCssSelector("#advanced-form #parcelle")->value('806AB0001');
77 // On clique sur le bouton "Recherche"
78 $this->byId("adv-search-submit")->click();
79 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
80 $this->verifyNoErrors();
81 // On vérifie le dossier "AZ0130551200001P0" apparaît
82 $this->assertRegExp("/^[\s\S]*AZ 013055 12 00001P0[\s\S]*$/", $this->byCssSelector("#tab-dossier_instruction .tab-tab")->text());
83 // On remplis le champ parcelle de la recherche avancée
84 $this->byCssSelector("#advanced-form #parcelle")->value('806AB0001,806AB0003');
85 // On clique sur le bouton "Recherche"
86 $this->byId("adv-search-submit")->click();
87 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
88 $this->verifyNoErrors();
89 // On vérifie le dossier "AZ0130551200001P0" apparaît
90 $this->assertRegExp("/^[\s\S]*AZ 013055 12 00001P0[\s\S]*$/", $this->byCssSelector("#tab-dossier_instruction .tab-tab")->text());
91 // On clique sur le lien "Autorisation" dans le menu
92 $this->byLinkText("Autorisation")->click();
93 // On clique sur le lien "Dossiers D'autorisation" dans le menu
94 $this->byLinkText("Dossiers D'autorisation")->click();
95 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
96 $this->verifyNoErrors();
97 // On remplis le champ parcelle de la recherche avancée
98 $this->byCssSelector("#advanced-form #parcelle")->value('806AB0001');
99 // On clique sur le bouton "Recherche"
100 $this->byId("adv-search-submit")->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 le dossier "AZ0130551200001" apparaît
104 $this->assertRegExp("/^[\s\S]*AZ 013055 12 00001[\s\S]*$/", $this->byCssSelector("#tab-dossier_autorisation .tab-tab")->text());
105 // On remplis le champ parcelle de la recherche avancée
106 $this->byCssSelector("#advanced-form #parcelle")->value('806AB0001,806AB0003');
107 // On clique sur le bouton "Recherche"
108 $this->byId("adv-search-submit")->click();
109 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
110 $this->verifyNoErrors();
111 // On vérifie le dossier "AZ0130551200001" apparaît
112 $this->assertRegExp("/^[\s\S]*AZ 013055 12 00001[\s\S]*$/", $this->byCssSelector("#tab-dossier_autorisation .tab-tab")->text());
113 // On se déconnecte
114 $this->logout();
115 }
116
117 /**
118 * Test les liens vers le SIG
119 */
120 public function test_03_01_lien_localisation_dossier() {
121
122 // Test en CHEF DE SERVICE
123
124 // On se connecte en tant que "chef"
125 $this->login("chef", "chef");
126 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
127 $this->verifyNoErrors();
128 // On clique sur le lien "Mes encours" dans le menu
129 $this->byLinkText("Recherche")->click();
130 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
131 $this->verifyNoErrors();
132 // Test multi parcelles
133 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
134 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
135 sleep(5);
136 // Liste les fenêtres
137 $windows = $this->windowHandles();
138 // Change la fenêtre
139 $this->window($windows[1]);
140 // On vérifie qu'il n'y ait pas d'erreur
141 $this->verifynoerrors();
142 // On vérifie que le text est présent
143 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?[KEY=VM_PCI_PARC_MPM*/201806AB0001]&[KEY=VM_PCI_PARC_MPM*/201806AB0002]&[KEY=VM_PCI_PARC_MPM*/201806AB0003]&[KEY=VM_PCI_PARC_MPM*/201806AB0004]&[KEY=VM_PCI_PARC_MPM*/201806AB0005]&MAX_SCALE=500', $this->url());
144 // On ferme la fenêtre
145 $this->closeWindow();
146 // On change le focus de la fenêtre
147 $this->window($windows[0]);
148 // Test une parcelle
149 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
150 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
151 sleep(5);
152 // Liste les fenêtres
153 $windows = $this->windowHandles();
154 // Change la fenêtre
155 $this->window($windows[1]);
156 // On vérifie qu'il n'y ait pas d'erreur
157 $this->verifynoerrors();
158 // On vérifie que le text est présent
159 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=VM_PCI_PARC_MPM*/201805AB0009&MAX_SCALE=500', $this->url());
160 // On ferme la fenêtre
161 $this->closeWindow();
162 // On change le focus de la fenêtre
163 $this->window($windows[0]);
164 // Test avec geom
165 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
166 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
167 sleep(5);
168 // Liste les fenêtres
169 $windows = $this->windowHandles();
170 // Change la fenêtre
171 $this->window($windows[1]);
172 // On vérifie qu'il n'y ait pas d'erreur
173 $this->verifynoerrors();
174 // On vérifie que le text est présent
175 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
176 // On ferme la fenêtre
177 $this->closeWindow();
178 // On change le focus de la fenêtre
179 $this->window($windows[0]);
180 // Test sans geom nin références cadastrales
181 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
182 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
183 sleep(5);
184 // Liste les fenêtres
185 $windows = $this->windowHandles();
186 // Change la fenêtre
187 $this->window($windows[1]);
188 // On vérifie qu'il n'y ait pas d'erreur
189 $this->verifynoerrors();
190 // On vérifie que le text est présent
191 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp', $this->url());
192 // On ferme la fenêtre
193 $this->closeWindow();
194 // On change le focus de la fenêtre
195 $this->window($windows[0]);
196 // On se déconnecte
197 $this->logout();
198 }
199
200 /**
201 * Test les liens vers le SIG
202 */
203 public function test_03_02_lien_localisation_dossier() {
204
205 // Test en DIVISIONNAIRE
206
207 // On se connecte en tant que "divi"
208 $this->login("divi", "divi");
209 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210 $this->verifyNoErrors();
211 // On clique sur le lien "Mes encours" dans le menu
212 $this->byLinkText("Recherche")->click();
213 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
214 $this->verifyNoErrors();
215 // Test multi parcelles
216 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
217 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
218 sleep(5);
219 // Liste les fenêtres
220 $windows = $this->windowHandles();
221 // Change la fenêtre
222 $this->window($windows[1]);
223 // On vérifie qu'il n'y ait pas d'erreur
224 $this->verifynoerrors();
225 // On vérifie que le text est présent
226 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?[KEY=VM_PCI_PARC_MPM*/201806AB0001]&[KEY=VM_PCI_PARC_MPM*/201806AB0002]&[KEY=VM_PCI_PARC_MPM*/201806AB0003]&[KEY=VM_PCI_PARC_MPM*/201806AB0004]&[KEY=VM_PCI_PARC_MPM*/201806AB0005]&MAX_SCALE=500', $this->url());
227 // On ferme la fenêtre
228 $this->closeWindow();
229 // On change le focus de la fenêtre
230 $this->window($windows[0]);
231 // Test une parcelle
232 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
233 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
234 sleep(5);
235 // Liste les fenêtres
236 $windows = $this->windowHandles();
237 // Change la fenêtre
238 $this->window($windows[1]);
239 // On vérifie qu'il n'y ait pas d'erreur
240 $this->verifynoerrors();
241 // On vérifie que le text est présent
242 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=VM_PCI_PARC_MPM*/201805AB0009&MAX_SCALE=500', $this->url());
243 // On ferme la fenêtre
244 $this->closeWindow();
245 // On change le focus de la fenêtre
246 $this->window($windows[0]);
247 // Test avec geom
248 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
249 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
250 sleep(5);
251 // Liste les fenêtres
252 $windows = $this->windowHandles();
253 // Change la fenêtre
254 $this->window($windows[1]);
255 // On vérifie qu'il n'y ait pas d'erreur
256 $this->verifynoerrors();
257 // On vérifie que le text est présent
258 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
259 // On ferme la fenêtre
260 $this->closeWindow();
261 // On change le focus de la fenêtre
262 $this->window($windows[0]);
263 // Test sans geom nin références cadastrales
264 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
265 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
266 sleep(5);
267 // Liste les fenêtres
268 $windows = $this->windowHandles();
269 // Change la fenêtre
270 $this->window($windows[1]);
271 // On vérifie qu'il n'y ait pas d'erreur
272 $this->verifynoerrors();
273 // On vérifie que le text est présent
274 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp', $this->url());
275 // On ferme la fenêtre
276 $this->closeWindow();
277 // On change le focus de la fenêtre
278 $this->window($windows[0]);
279 // On se déconnecte
280 $this->logout();
281 }
282
283 /**
284 * Test les liens vers le SIG
285 */
286 public function test_03_03_lien_localisation_dossier() {
287
288 // Test en INSTRUCTEUR
289
290 // On se connecte en tant que "instr"
291 $this->login("instr", "instr");
292 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
293 $this->verifyNoErrors();
294 // On clique sur le lien "Mes encours" dans le menu
295 $this->byLinkText("Recherche")->click();
296 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
297 $this->verifyNoErrors();
298 // Test multi parcelles
299 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
300 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
301 sleep(5);
302 // Liste les fenêtres
303 $windows = $this->windowHandles();
304 // Change la fenêtre
305 $this->window($windows[1]);
306 // On vérifie qu'il n'y ait pas d'erreur
307 $this->verifynoerrors();
308 // On vérifie que le text est présent
309 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?[KEY=VM_PCI_PARC_MPM*/201806AB0001]&[KEY=VM_PCI_PARC_MPM*/201806AB0002]&[KEY=VM_PCI_PARC_MPM*/201806AB0003]&[KEY=VM_PCI_PARC_MPM*/201806AB0004]&[KEY=VM_PCI_PARC_MPM*/201806AB0005]&MAX_SCALE=500', $this->url());
310 // On ferme la fenêtre
311 $this->closeWindow();
312 // On change le focus de la fenêtre
313 $this->window($windows[0]);
314 // Test une parcelle
315 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
316 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
317 sleep(5);
318 // Liste les fenêtres
319 $windows = $this->windowHandles();
320 // Change la fenêtre
321 $this->window($windows[1]);
322 // On vérifie qu'il n'y ait pas d'erreur
323 $this->verifynoerrors();
324 // On vérifie que le text est présent
325 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=VM_PCI_PARC_MPM*/201805AB0009&MAX_SCALE=500', $this->url());
326 // On ferme la fenêtre
327 $this->closeWindow();
328 // On change le focus de la fenêtre
329 $this->window($windows[0]);
330 // Test avec geom
331 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
332 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
333 sleep(5);
334 // Liste les fenêtres
335 $windows = $this->windowHandles();
336 // Change la fenêtre
337 $this->window($windows[1]);
338 // On vérifie qu'il n'y ait pas d'erreur
339 $this->verifynoerrors();
340 // On vérifie que le text est présent
341 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
342 // On ferme la fenêtre
343 $this->closeWindow();
344 // On change le focus de la fenêtre
345 $this->window($windows[0]);
346 // Test sans geom nin références cadastrales
347 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
348 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
349 sleep(5);
350 // Liste les fenêtres
351 $windows = $this->windowHandles();
352 // Change la fenêtre
353 $this->window($windows[1]);
354 // On vérifie qu'il n'y ait pas d'erreur
355 $this->verifynoerrors();
356 // On vérifie que le text est présent
357 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp', $this->url());
358 // On ferme la fenêtre
359 $this->closeWindow();
360 // On change le focus de la fenêtre
361 $this->window($windows[0]);
362 // On se déconnecte
363 $this->logout();
364 }
365
366 /**
367 * Test la synchronisation des requêtes.
368 * XXX Le message retourné par le synchronisation peut être différent si le
369 * test n'est pas lancé dans le testsuite.
370 */
371 public function test_04_synchro_contrainte() {
372
373 // On se connecte en tant que "admin"
374 $this->login("admin", "admin");
375 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
376 $this->verifyNoErrors();
377 // On clique sur le lien "Paramétrage Dossiers" dans le menu
378 $this->byLinkText("Paramétrage Dossiers")->click();
379 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
380 $this->verifyNoErrors();
381 // On clique sur le lien "Synchronisation Des Contraintes" dans le menu
382 $this->byLinkText("Synchronisation Des Contraintes")->click();
383 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
384 $this->verifyNoErrors();
385 // On clique sur le bouton "Synchroniser"
386 $this->byId("button-contrainte-synchronisation-synchroniser")->click();
387 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
388 $this->verifyNoErrors();
389 // On vérifie le message retourné
390 $this->assertContains("Aucune contraintes à ajouter.", $this->byCssSelector(".message")->text());
391 $this->assertContains("2 contrainte(s) modifiée(s).", $this->byCssSelector(".message")->text());
392 $this->assertContains("Aucune contraintes à archiver.", $this->byCssSelector(".message")->text());
393 // On clique sur le lien "Contrainte" dans le menu
394 $this->byLinkText("Contrainte")->click();
395 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
396 $this->verifyNoErrors();
397 // On vérifie que la contrainte est ajoutée
398 $this->assertContains("Une contrainte du PLU", $this->byCssSelector(".tab-tab")->text());
399 // On clique pour afficher les éléments archivés
400 $this->byLinkText("Afficher les éléments expirés")->click();
401 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
402 $this->verifyNoErrors();
403 // On vérifie une contrainte qui doit être archivée
404 $this->assertContains("emplacement réservé pour équipement public (superstructure)", $this->byCssSelector(".tab-tab")->text());
405 // On se déconnecte
406 $this->logout();
407 }
408
409 /**
410 * Test les différents traitements sur le SIG
411 */
412 public function test_05_geolocalisation() {
413
414 // On se connecte en tant que "instr"
415 $this->login("instr", "instr");
416 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
417 $this->verifyNoErrors();
418 // On clique sur le lien "Mes encours" dans le menu
419 $this->byLinkText("Mes Encours")->click();
420 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
421 $this->verifyNoErrors();
422 // On clique sur le lien "AZ0130551200001P0" dans le tableau
423 $this->byLinkText("AZ 013055 12 00001P0")->click();
424 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
425 $this->verifyNoErrors();
426 // On clique sur "Géolocalisation"
427 $this->byLinkText("Géolocalisation")->click();
428 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
429 $this->verifyNoErrors();
430 // On vérifie les messages des traitements "Vérifier les parcelles",
431 // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
432 // et "Récupérer les contraintes"
433 $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
434 $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
435 $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
436 $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
437 $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
438 // On vérifie les données du dossier
439 $this->assertEquals("806AB0001A0005;", $this->byId("references_cadastrales")->text());
440 $this->assertEquals("113 boulevard pont de vivaux 13010 Marseille", $this->byId("adresse")->text());
441 // On clique sur le bouton "Vérifier les parcelles"
442 $this->byId("verif_parcelle-button")->click();
443 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
444 $this->verifyNoErrors();
445 // On vérifie les nouvelles données après le traitement
446 $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
447 // On clique sur le bouton "Calculer l'emprise"
448 $this->byId("calcul_emprise-button")->click();
449 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
450 $this->verifyNoErrors();
451 // On vérifie les nouvelles données après le traitement
452 $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
453 // On clique sur le bouton "Dessiner l'emprise"
454 $this->byId("dessin_emprise-button")->click();
455 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
456 $this->verifyNoErrors();
457 // On vérifie les nouvelles données après le traitement
458 $this->assertRegExp("/^[\s\S]*Redirigé vers ElyxWeb.[\s\S]*$/", $this->byId("dessin_emprise")->text());
459 // Liste les fenêtres
460 $windows = $this->windowHandles();
461 // On vérifie que l'onglet s'est ouvert
462 $this->assertTrue(count($windows) == 2);
463 // Change la fenêtre
464 $this->window($windows[1]);
465 // On ferme la fenêtre
466 $this->closeWindow();
467 // On change le focus de la fenêtre
468 $this->window($windows[0]);
469 // On clique sur le bouton "Calculer le centroïde"
470 $this->byId("calcul_centroide-button")->click();
471 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
472 $this->verifyNoErrors();
473 // On vérifie les nouvelles données après le traitement
474 $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
475 sleep(10);
476 $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
477 // On clique sur le bouton "Récupérer les contraintes"
478 $this->byId("recup_contrainte-button")->click();
479 // On vérifie le message affiché
480 $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
481 // On clique sur "Annuler" dans la boite de dialogue qui apparaît
482 $this->dismissAlert();sleep(1);
483 // On vérifie que le message et les données n'ont pas été modifiés
484 $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
485 $this->assertEquals("", $this->byId("servitude")->text());
486 // On clique sur le bouton "Récupérer les contraintes"
487 $this->byId("recup_contrainte-button")->click();
488 // On clique sur "OK" dans la boite de dialogue qui apparaît
489 $this->acceptAlert();sleep(1);
490 // On vérifie les nouvelles données après le traitement
491 $this->assertContains("Les contraintes ont été récupérées.", $this->byId("recup_contrainte")->text());
492 // On vérifie le message du champ contrainte
493 $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
494 $this->assertContains("2 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
495 // On clique sur le bouton retour
496 $this->byId("retour-button")->click();
497 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
498 $this->verifyNoErrors();
499 // On se déconnecte
500 $this->logout();
501 }
502
503 /**
504 * Test le bouton permettant de lancer tous les traitements
505 * XXX lorsque la ressource de test le permettra, tester en cas d'erreur
506 * d'un traitements
507 */
508 public function test_06_all_geolocalisation_treatments() {
509
510 // On se connecte en tant que "instr"
511 $this->login("instr", "instr");
512 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
513 $this->verifyNoErrors();
514 // On clique sur le lien "Mes encours" dans le menu
515 $this->byLinkText("Mes Encours")->click();
516 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
517 $this->verifyNoErrors();
518 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
519 $this->byLinkText("DP 013055 12 00001P0")->click();
520 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
521 $this->verifyNoErrors();
522 // On clique sur "Géolocalisation"
523 $this->byLinkText("Géolocalisation")->click();
524 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
525 $this->verifyNoErrors();
526 // On vérifie les messages des traitements "Vérifier les parcelles",
527 // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
528 // et "Récupérer les contraintes"
529 $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
530 $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
531 $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
532 $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
533 $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
534 // On vérifie les données du dossier
535 // XXX Modifier les données de test pour ajouter des références
536 // cadastrales et l'adresse
537 // On clique sur le bouton "J'ai de la chance"
538 $this->byId("chance-button")->click();
539 // On vérifie le message affiché
540 $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
541 // On clique sur "OK" dans la boite de dialogue qui apparaît
542 $this->acceptAlert();sleep(5);
543 // On vérifie tous les messages
544 $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
545 $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
546 $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
547 $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
548 $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
549 // On vérifie toutes les données
550 $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
551 $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
552 $this->assertContains("2 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
553 // On clique sur le bouton retour
554 $this->byId("retour-button")->click();
555 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
556 $this->verifyNoErrors();
557 // On se déconnecte
558 $this->logout();
559 }
560
561 /**
562 * Test l'ajout d'une contrainte sur un dossier.
563 */
564 public function test_07_dossier_contrainte_add() {
565
566 // On se connecte en tant que "instr"
567 $this->login("instr", "instr");
568 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
569 $this->verifyNoErrors();
570 // On clique sur le lien "Mes encours" dans le menu
571 $this->byLinkText("Mes Encours")->click();
572 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
573 $this->verifyNoErrors();
574 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
575 $this->byLinkText("DP 013055 12 00001P0")->click();
576 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
577 $this->verifyNoErrors();
578 // On clique sur "Contrainte(s)"
579 $this->byId("dossier_contrainte")->click();
580 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
581 $this->verifyNoErrors();
582 // On clique sur "Ajouter des contraintes"
583 $this->byId("action-soustab-dossier_contrainte-corner-ajouter")->click();
584 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
585 $this->verifyNoErrors();
586 // On déploie le groupe "Contraintes Openads"
587 $this->byCssSelector("#fieldset-sousform-dossier_contrainte-contraintes-openads legend")->click();
588 sleep(1);
589 // On déploie le sous-groupe "Environnement"
590 $this->byCssSelector("#fieldset-sousform-dossier_contrainte-environnement legend")->click();
591 sleep(1);
592 // On clique sur la checkbox de la contrainte
593 $this->byId("contrainte_5")->click();
594 // On applique les changements
595 $this->byCssSelector("input[value='Appliquer les changements']")->click();sleep(1);
596 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
597 $this->verifyNoErrors();
598 // On vérifie le message de validation
599 $this->assertContains("La contrainte Pollution puits a été ajoutée au dossier.", $this->byCssSelector(".message")->text());
600 // On clique sur le bouton "Retour"
601 $this->byLinkText("Retour")->click();sleep(1);
602 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
603 $this->verifyNoErrors();
604 // Vérifie que la contrainte est présente
605 $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());
606 // On se déconnecte
607 $this->logout();
608
609 }
610
611 /**
612 * Test l'affichage des contraintes sur la fiche du DI.
613 */
614 public function test_08_affichage_contrainte_DI() {
615
616 // On se connecte en tant que "instr"
617 $this->login("instr", "instr");
618 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
619 $this->verifyNoErrors();
620 // On clique sur le lien "Mes encours" dans le menu
621 $this->byLinkText("Mes Encours")->click();
622 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
623 $this->verifyNoErrors();
624 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
625 $this->byLinkText("DP 013055 12 00001P0")->click();
626 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
627 $this->verifyNoErrors();
628 // Ouvre le fieldset contraintes liées
629 $this->byId("fieldset_contraintes_liees")->click();
630 // On vérifie les contraintes affichées
631 $this->assertContains("Une contrainte du PLU",
632 $this->byId("liste_contrainte")->text());
633 $this->assertContains("Le puits d'une profondeur de [...] est pollué.",
634 $this->byId("liste_contrainte")->text());
635 // On se déconnecte
636 $this->logout();
637
638 }
639
640 /**
641 * Change la condition d'affichage des contraintes sur la fiche d'un DI et
642 * test l'affichage.
643 */
644 public function test_09_option_contrainte_di() {
645
646 // On se connecte en tant que "admin"
647 $this->login("admin", "admin");
648 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
649 $this->verifyNoErrors();
650 // On clique sur le lien "Administration" dans le menu
651 $this->byLinkText("Administration")->click();
652 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
653 $this->verifyNoErrors();
654 // // On clique sur le lien "Paramètre" dans le menu
655 $this->byLinkText("Paramètre")->click();
656 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
657 $this->verifyNoErrors();
658 // On remplis le champs de recherche simple
659 $this->byCssSelector("input[name='recherche']")->value('option_contrainte_di');
660 // On clique sur le bouton recherche
661 $this->byCssSelector(".ui-button")->click();
662 // On clique sur le résultat
663 $this->byLinkText("option_contrainte_di")->click();
664 // On clique sur le bouton "Modifier"
665 $this->byId('action-form-om_parametre-modifier')->click();
666 // On change la valeur par "sig_externe"
667 $this->byId('valeur')->clear();
668 $this->byId('valeur')->value('liste_ssgroupe=environnement');
669 // On valide la modification
670 $this->byCssSelector("input[value='Modifier']")->click();
671 // On vérifie le message de validation
672 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
673 // On clique sur le bouton 'Retour'
674 $this->byLinkText("Retour")->click();
675 // On vérifie les nouvelles données
676 $this->assertEquals("liste_ssgroupe=environnement", $this->byId("valeur")->text());
677 // On se déconnecte
678 $this->deconnect();
679
680 // On se connecte en tant que "instr"
681 $this->login("instr", "instr");
682 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
683 $this->verifyNoErrors();
684 // On clique sur le lien "Mes encours" dans le menu
685 $this->byLinkText("Mes Encours")->click();
686 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
687 $this->verifyNoErrors();
688 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
689 $this->byLinkText("DP 013055 12 00001P0")->click();
690 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
691 $this->verifyNoErrors();
692 // Ouvre le fieldset contraintes liées
693 $this->byId("fieldset_contraintes_liees")->click();
694 // On vérifie les contraintes affichées
695 $this->assertNotContains("Une contrainte du PLU",
696 $this->byId("liste_contrainte")->text());
697 $this->assertContains("Le puits d'une profondeur de [...] est pollué.",
698 $this->byId("liste_contrainte")->text());
699 // On se déconnecte
700 $this->logout();
701 }
702
703 /**
704 * Test la modification et la suppression d'une contrainte sur un dossier.
705 */
706 public function test_10_dossier_contrainte_modif_suppr() {
707
708 // On se connecte en tant que "instr"
709 $this->login("instr", "instr");
710 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
711 $this->verifyNoErrors();
712 // On clique sur le lien "Mes encours" dans le menu
713 $this->byLinkText("Mes Encours")->click();
714 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
715 $this->verifyNoErrors();
716 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
717 $this->byLinkText("DP 013055 12 00001P0")->click();
718 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
719 $this->verifyNoErrors();
720 // On clique sur "Contrainte(s)"
721 $this->byId("dossier_contrainte")->click();
722 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
723 $this->verifyNoErrors();
724 // On clique sur le résultat
725 $this->byLinkText("Pollution puits")->click();
726 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
727 $this->verifyNoErrors();
728 // On clique pour modifier la contrainte
729 $this->byId("action-sousform-dossier_contrainte-modifier")->click();sleep(1);
730 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
731 $this->verifyNoErrors();
732 // On modifie le texte complété
733 $this->byId("texte_complete")->clear();
734 $this->byId("texte_complete")->value("Texte complété de la contrainte sur le dossier.");
735 // On valide le formulaire
736 $this->byXPath("//input[@value='Modifier']")->click();
737 // On vérifie le message de validation
738 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-dossier_contrainte .message .text")->text());
739 // On clique sur le bouton retour
740 $this->byLinkText("Retour")->click();sleep(1);
741 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
742 $this->verifyNoErrors();
743 // On clique sur le résultat
744 $this->byLinkText("Pollution puits")->click();
745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
746 $this->verifyNoErrors();
747 // On supprime la contrainte
748 $this->byId("action-sousform-dossier_contrainte-supprimer")->click();
749 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
750 $this->verifyNoErrors();
751 // On valide le formulaire
752 $this->byXPath("//input[@value='Supprimer']")->click();
753 // On vérifie le message de validation
754 $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector("#sousform-dossier_contrainte .message .text")->text());
755 // On clique sur le bouton retour
756 $this->byLinkText("Retour")->click();
757 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
758 $this->verifyNoErrors();
759 }
760
761 /**
762 * Test la sélection de dossiers dans le SIG vers openADS
763 */
764 public function test_08_selection_dossiers_sig() {
765 // On se connecte en tant que "instr"
766 $this->login("instr", "instr");
767 // On passe une liste de dossiers à l'url de redirection
768 $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0;CU0130551200001P0");
769 // On vérifie qu'il n'y a pas d'erreur
770 $this->verifyNoErrors();
771 // vérification de l'affichage des dossiers dans le tableau
772 $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
773 $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
774 $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
775 // On ne passe pas de dossiers à l'url de redirection
776 $this->url("http://localhost/openads/app/affiche_selection_tab.php");
777 // On vérifie qu'il n'y a pas d'erreur
778 $this->verifyNoErrors();
779 // vérification de l'affichage des dossiers dans le tableau
780 $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
781 $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
782 $this->assertContains("AZ 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
783 $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
784 $this->assertContains("DP 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
785 $this->assertContains("PA 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
786 $this->assertContains("PC 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
787 $this->assertContains("PC 013055 12 00002P0",$this->byCssSelector(".tab-tab")->text());
788 $this->assertContains("PD 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
789
790 // On passe un dossiers au à l'url de redirection
791 $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0");
792 // On vérifie qu'il n'y a pas d'erreur
793 $this->verifyNoErrors();
794 // vérification de l'affichage des dossiers dans le tableau
795 $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
796 $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
797
798 // On se déconnecte
799 $this->logout();
800 }
801
802 /**
803 * Active l'option sig avec la valeur nécessaire pour la suite des tests
804 */
805 public function test_09_desactive_option_sig() {
806
807 // On se connecte en tant que "admin"
808 $this->login("admin", "admin");
809 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
810 $this->verifyNoErrors();
811 // On clique sur le lien "Administration" dans le menu
812 $this->byLinkText("Administration")->click();
813 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
814 $this->verifyNoErrors();
815 // // On clique sur le lien "Paramètre" dans le menu
816 $this->byLinkText("Paramètre")->click();
817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
818 $this->verifyNoErrors();
819 // On remplis le champs de recherche simple
820 $this->byCssSelector("input[name='recherche']")->value('option_sig');
821 // On clique sur le bouton recherche
822 $this->byCssSelector(".ui-button")->click();
823 // On clique sur le résultat
824 $this->byLinkText("option_sig")->click();
825 // On clique sur le bouton "Modifier"
826 $this->byId('action-form-om_parametre-modifier')->click();
827 // On change la valeur par "aucun"
828 $this->byId('valeur')->clear();
829 $this->byId('valeur')->value('aucun');
830 // On valide la modification
831 $this->byCssSelector("input[value='Modifier']")->click();
832 // On vérifie le message de validation
833 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
834 // On clique sur le bouton 'Retour'
835 $this->byLinkText("Retour")->click();
836 // On vérifie les nouvelles données
837 $this->assertEquals("aucun", $this->byId("valeur")->text());
838 // On se déconnecte
839 $this->logout();
840 }
841
842 }
843 ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26