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

Contents of /trunk/tests/testGeolocalisation.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2782 - (show annotations)
Tue Mar 4 10:12:50 2014 UTC (10 years, 11 months ago) by vpihour
File size: 35507 byte(s)
Correction du script de récupération des contraintes

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_lien_localisation_dossier() {
121
122 // On se connecte en tant que "instr"
123 $this->login("instr", "instr");
124 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
125 $this->verifyNoErrors();
126 // On clique sur le lien "Mes encours" dans le menu
127 $this->byLinkText("Recherche")->click();
128 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
129 $this->verifyNoErrors();
130 // Test multi parcelles
131 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
132 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
133 sleep(5);
134 // Liste les fenêtres
135 $windows = $this->windowHandles();
136 // Change la fenêtre
137 $this->window($windows[1]);
138 // On vérifie qu'il n'y ait pas d'erreur
139 $this->verifynoerrors();
140 // On vérifie que le text est présent
141 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?[KEY=VM_PCI_PARC_MPM*/201806%20AB0001]&[KEY=VM_PCI_PARC_MPM*/201806%20AB0002]&[KEY=VM_PCI_PARC_MPM*/201806%20AB0003]&[KEY=VM_PCI_PARC_MPM*/201806%20AB0004]&[KEY=VM_PCI_PARC_MPM*/201806%20AB0005]&MAX_SCALE=500', $this->url());
142 // On ferme la fenêtre
143 $this->closeWindow();
144 // On change le focus de la fenêtre
145 $this->window($windows[0]);
146 // Test une parcelle
147 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
148 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
149 sleep(5);
150 // Liste les fenêtres
151 $windows = $this->windowHandles();
152 // Change la fenêtre
153 $this->window($windows[1]);
154 // On vérifie qu'il n'y ait pas d'erreur
155 $this->verifynoerrors();
156 // On vérifie que le text est présent
157 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=VM_PCI_PARC_MPM*/201805%20AB0009&MAX_SCALE=500', $this->url());
158 // On ferme la fenêtre
159 $this->closeWindow();
160 // On change le focus de la fenêtre
161 $this->window($windows[0]);
162 // Test avec geom
163 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
164 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
165 sleep(5);
166 // Liste les fenêtres
167 $windows = $this->windowHandles();
168 // Change la fenêtre
169 $this->window($windows[1]);
170 // On vérifie qu'il n'y ait pas d'erreur
171 $this->verifynoerrors();
172 // On vérifie que le text est présent
173 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
174 // On ferme la fenêtre
175 $this->closeWindow();
176 // On change le focus de la fenêtre
177 $this->window($windows[0]);
178 // Test sans geom nin références cadastrales
179 // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
180 $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
181 sleep(5);
182 // Liste les fenêtres
183 $windows = $this->windowHandles();
184 // Change la fenêtre
185 $this->window($windows[1]);
186 // On vérifie qu'il n'y ait pas d'erreur
187 $this->verifynoerrors();
188 // On vérifie que le text est présent
189 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp', $this->url());
190 // On ferme la fenêtre
191 $this->closeWindow();
192 // On change le focus de la fenêtre
193 $this->window($windows[0]);
194 // On se déconnecte
195 $this->logout();
196
197 }
198
199 /**
200 * Test la synchronisation des requêtes.
201 * XXX Le message retourné par le synchronisation peut être différent si le
202 * test n'est pas lancé dans le testsuite.
203 */
204 public function test_04_synchro_contrainte() {
205
206 // On se connecte en tant que "admin"
207 $this->login("admin", "admin");
208 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
209 $this->verifyNoErrors();
210 // On clique sur le lien "Paramétrage Dossiers" dans le menu
211 $this->byLinkText("Paramétrage Dossiers")->click();
212 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
213 $this->verifyNoErrors();
214 // On clique sur le lien "Synchronisation Des Contraintes" dans le menu
215 $this->byLinkText("Synchronisation Des Contraintes")->click();
216 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217 $this->verifyNoErrors();
218 // On clique sur le bouton "Synchroniser"
219 $this->byId("button-contrainte-synchronisation-synchroniser")->click();
220 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
221 $this->verifyNoErrors();
222 // On vérifie le message retourné
223 $this->assertContains("Aucune contraintes à ajouter.", $this->byCssSelector(".message")->text());
224 $this->assertContains("2 contrainte(s) modifiée(s).", $this->byCssSelector(".message")->text());
225 $this->assertContains("Aucune contraintes à archiver.", $this->byCssSelector(".message")->text());
226 // On clique sur le lien "Contrainte" dans le menu
227 $this->byLinkText("Contrainte")->click();
228 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
229 $this->verifyNoErrors();
230 // On vérifie que la contrainte est ajoutée
231 $this->assertContains("Une contrainte du PLU", $this->byCssSelector(".tab-tab")->text());
232 // On clique pour afficher les éléments archivés
233 $this->byLinkText("Afficher les éléments expirés")->click();
234 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
235 $this->verifyNoErrors();
236 // On vérifie une contrainte qui doit être archivée
237 $this->assertContains("emplacement réservé pour équipement public (superstructure)", $this->byCssSelector(".tab-tab")->text());
238 // On se déconnecte
239 $this->logout();
240 }
241
242 /**
243 * Test les différents traitements sur le SIG
244 */
245 public function test_05_geolocalisation() {
246
247 // On se connecte en tant que "instr"
248 $this->login("instr", "instr");
249 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
250 $this->verifyNoErrors();
251 // On clique sur le lien "Mes encours" dans le menu
252 $this->byLinkText("Mes Encours")->click();
253 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254 $this->verifyNoErrors();
255 // On clique sur le lien "AZ0130551200001P0" dans le tableau
256 $this->byLinkText("AZ 013055 12 00001P0")->click();
257 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258 $this->verifyNoErrors();
259 // On clique sur "Géolocalisation"
260 $this->byLinkText("Géolocalisation")->click();
261 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
262 $this->verifyNoErrors();
263 // On vérifie les messages des traitements "Vérifier les parcelles",
264 // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
265 // et "Récupérer les contraintes"
266 $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
267 $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
268 $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
269 $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
270 $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
271 // On vérifie les données du dossier
272 $this->assertEquals("806AB0001A0005;", $this->byId("references_cadastrales")->text());
273 $this->assertEquals("113 boulevard pont de vivaux Marseille 13010", $this->byId("adresse")->text());
274 // On clique sur le bouton "Vérifier les parcelles"
275 $this->byId("verif_parcelle-button")->click();
276 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
277 $this->verifyNoErrors();
278 // On vérifie les nouvelles données après le traitement
279 $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
280 // On clique sur le bouton "Calculer l'emprise"
281 $this->byId("calcul_emprise-button")->click();
282 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283 $this->verifyNoErrors();
284 // On vérifie les nouvelles données après le traitement
285 $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
286 // On clique sur le bouton "Dessiner l'emprise"
287 $this->byId("dessin_emprise-button")->click();
288 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
289 $this->verifyNoErrors();
290 // On vérifie les nouvelles données après le traitement
291 $this->assertRegExp("/^[\s\S]*Redirigé vers ElyxWeb.[\s\S]*$/", $this->byId("dessin_emprise")->text());
292 // Liste les fenêtres
293 $windows = $this->windowHandles();
294 // On vérifie que l'onglet s'est ouvert
295 $this->assertTrue(count($windows) == 2);
296 // Change la fenêtre
297 $this->window($windows[1]);
298 // On ferme la fenêtre
299 $this->closeWindow();
300 // On change le focus de la fenêtre
301 $this->window($windows[0]);
302 // On clique sur le bouton "Calculer le centroïde"
303 $this->byId("calcul_centroide-button")->click();
304 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
305 $this->verifyNoErrors();
306 // On vérifie les nouvelles données après le traitement
307 $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
308 $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
309 // On clique sur le bouton "Récupérer les contraintes"
310 $this->byId("recup_contrainte-button")->click();
311 // On vérifie le message affiché
312 $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
313 // On clique sur "Annuler" dans la boite de dialogue qui apparaît
314 $this->dismissAlert();sleep(1);
315 // On vérifie que le message et les données n'ont pas été modifiés
316 $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
317 $this->assertEquals("", $this->byId("servitude")->text());
318 // On clique sur le bouton "Récupérer les contraintes"
319 $this->byId("recup_contrainte-button")->click();
320 // On clique sur "OK" dans la boite de dialogue qui apparaît
321 $this->acceptAlert();sleep(1);
322 // On vérifie les nouvelles données après le traitement
323 $this->assertContains("Les contraintes ont été récupérées.", $this->byId("recup_contrainte")->text());
324 // On vérifie le message du champ contrainte
325 $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
326 $this->assertContains("1 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
327 // On clique sur le bouton retour
328 $this->byId("retour-button")->click();
329 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
330 $this->verifyNoErrors();
331 // On se déconnecte
332 $this->logout();
333 }
334
335 /**
336 * Test le bouton permettant de lancer tous les traitements
337 * XXX lorsque la ressource de test le permettra, tester en cas d'erreur
338 * d'un traitements
339 */
340 public function test_06_all_geolocalisation_treatments() {
341
342 // On se connecte en tant que "instr"
343 $this->login("instr", "instr");
344 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
345 $this->verifyNoErrors();
346 // On clique sur le lien "Mes encours" dans le menu
347 $this->byLinkText("Mes Encours")->click();
348 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
349 $this->verifyNoErrors();
350 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
351 $this->byLinkText("DP 013055 12 00001P0")->click();
352 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
353 $this->verifyNoErrors();
354 // On clique sur "Géolocalisation"
355 $this->byLinkText("Géolocalisation")->click();
356 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
357 $this->verifyNoErrors();
358 // On vérifie les messages des traitements "Vérifier les parcelles",
359 // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
360 // et "Récupérer les contraintes"
361 $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
362 $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
363 $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
364 $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
365 $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
366 // On vérifie les données du dossier
367 // XXX Modifier les données de test pour ajouter des références
368 // cadastrales et l'adresse
369 // On clique sur le bouton "J'ai de la chance"
370 $this->byId("chance-button")->click();
371 // On vérifie le message affiché
372 $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
373 // On clique sur "OK" dans la boite de dialogue qui apparaît
374 $this->acceptAlert();sleep(5);
375 // On vérifie tous les messages
376 $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
377 $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
378 $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
379 $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
380 $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
381 // On vérifie toutes les données
382 $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
383 $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
384 $this->assertContains("1 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
385 // On clique sur le bouton retour
386 $this->byId("retour-button")->click();
387 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
388 $this->verifyNoErrors();
389 // On se déconnecte
390 $this->logout();
391 }
392
393 /**
394 * Test l'ajout d'une contrainte sur un dossier.
395 */
396 public function test_07_dossier_contrainte_add() {
397
398 // On se connecte en tant que "instr"
399 $this->login("instr", "instr");
400 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
401 $this->verifyNoErrors();
402 // On clique sur le lien "Mes encours" dans le menu
403 $this->byLinkText("Mes Encours")->click();
404 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
405 $this->verifyNoErrors();
406 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
407 $this->byLinkText("DP 013055 12 00001P0")->click();
408 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
409 $this->verifyNoErrors();
410 // On clique sur "Contrainte(s)"
411 $this->byId("dossier_contrainte")->click();
412 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
413 $this->verifyNoErrors();
414 // On clique sur "Ajouter des contraintes"
415 $this->byId("action-soustab-dossier_contrainte-corner-ajouter")->click();
416 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
417 $this->verifyNoErrors();
418 // On déploie le groupe "Contraintes Openads"
419 $this->byCssSelector("#fieldset-sousform-dossier_contrainte-contraintes-openads legend")->click();
420 sleep(1);
421 // On déploie le sous-groupe "Environnement"
422 $this->byCssSelector("#fieldset-sousform-dossier_contrainte-environnement legend")->click();
423 sleep(1);
424 // On clique sur la checkbox de la contrainte
425 $this->byId("contrainte_5")->click();
426 // On applique les changements
427 $this->byCssSelector("input[value='Appliquer les changements']")->click();sleep(1);
428 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
429 $this->verifyNoErrors();
430 // On vérifie le message de validation
431 $this->assertContains("La contrainte Pollution puits a été ajoutée au dossier.", $this->byCssSelector(".message")->text());
432 // On clique sur le bouton "Retour"
433 $this->byLinkText("Retour")->click();sleep(1);
434 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
435 $this->verifyNoErrors();
436 // Vérifie que la contrainte est présente
437 $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());
438 // On se déconnecte
439 $this->logout();
440
441 }
442
443 /**
444 * Test l'affichage des contraintes sur la fiche du DI.
445 */
446 public function test_08_affichage_contrainte_DI() {
447
448 // On se connecte en tant que "instr"
449 $this->login("instr", "instr");
450 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
451 $this->verifyNoErrors();
452 // On clique sur le lien "Mes encours" dans le menu
453 $this->byLinkText("Mes Encours")->click();
454 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
455 $this->verifyNoErrors();
456 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
457 $this->byLinkText("DP 013055 12 00001P0")->click();
458 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
459 $this->verifyNoErrors();
460 // On vérifie les contraintes affichées
461 $this->assertContains("Une contrainte du PLU",
462 $this->byId("liste_contrainte")->text());
463 $this->assertContains("Le puits d'une profondeur de [...] est pollué.",
464 $this->byId("liste_contrainte")->text());
465 // On se déconnecte
466 $this->logout();
467
468 }
469
470 /**
471 * Change la condition d'affichage des contraintes sur la fiche d'un DI et
472 * test l'affichage.
473 */
474 public function test_09_option_contrainte_di() {
475
476 // On se connecte en tant que "admin"
477 $this->login("admin", "admin");
478 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
479 $this->verifyNoErrors();
480 // On clique sur le lien "Administration" dans le menu
481 $this->byLinkText("Administration")->click();
482 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
483 $this->verifyNoErrors();
484 // // On clique sur le lien "Paramètre" dans le menu
485 $this->byLinkText("Paramètre")->click();
486 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
487 $this->verifyNoErrors();
488 // On remplis le champs de recherche simple
489 $this->byCssSelector("input[name='recherche']")->value('option_contrainte_di');
490 // On clique sur le bouton recherche
491 $this->byCssSelector(".ui-button")->click();
492 // On clique sur le résultat
493 $this->byLinkText("option_contrainte_di")->click();
494 // On clique sur le bouton "Modifier"
495 $this->byId('action-form-om_parametre-modifier')->click();
496 // On change la valeur par "sig_externe"
497 $this->byId('valeur')->clear();
498 $this->byId('valeur')->value('liste_ssgroupe=environnement');
499 // On valide la modification
500 $this->byCssSelector("input[value='Modifier']")->click();
501 // On vérifie le message de validation
502 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
503 // On clique sur le bouton 'Retour'
504 $this->byLinkText("Retour")->click();
505 // On vérifie les nouvelles données
506 $this->assertEquals("liste_ssgroupe=environnement", $this->byId("valeur")->text());
507 // On se déconnecte
508 $this->deconnect();
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 vérifie les contraintes affichées
523 $this->assertNotContains("Une contrainte du PLU",
524 $this->byId("liste_contrainte")->text());
525 $this->assertContains("Le puits d'une profondeur de [...] est pollué.",
526 $this->byId("liste_contrainte")->text());
527 // On se déconnecte
528 $this->logout();
529 }
530
531 /**
532 * Test la modification et la suppression d'une contrainte sur un dossier.
533 */
534 public function test_10_dossier_contrainte_modif_suppr() {
535
536 // On se connecte en tant que "instr"
537 $this->login("instr", "instr");
538 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
539 $this->verifyNoErrors();
540 // On clique sur le lien "Mes encours" dans le menu
541 $this->byLinkText("Mes Encours")->click();
542 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
543 $this->verifyNoErrors();
544 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
545 $this->byLinkText("DP 013055 12 00001P0")->click();
546 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
547 $this->verifyNoErrors();
548 // On clique sur "Contrainte(s)"
549 $this->byId("dossier_contrainte")->click();
550 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
551 $this->verifyNoErrors();
552 // On clique sur le résultat
553 $this->byLinkText("Pollution puits")->click();
554 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
555 $this->verifyNoErrors();
556 // On clique pour modifier la contrainte
557 $this->byId("action-sousform-dossier_contrainte-modifier")->click();sleep(1);
558 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
559 $this->verifyNoErrors();
560 // On modifie le texte complété
561 $this->byId("texte_complete")->clear();
562 $this->byId("texte_complete")->value("Texte complété de la contrainte sur le dossier.");
563 // On valide le formulaire
564 $this->byXPath("//input[@value='Modifier']")->click();
565 // On vérifie le message de validation
566 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-dossier_contrainte .message .text")->text());
567 // On clique sur le bouton retour
568 $this->byLinkText("Retour")->click();sleep(1);
569 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
570 $this->verifyNoErrors();
571 // On clique sur le résultat
572 $this->byLinkText("Pollution puits")->click();
573 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
574 $this->verifyNoErrors();
575 // On supprime la contrainte
576 $this->byId("action-sousform-dossier_contrainte-supprimer")->click();
577 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
578 $this->verifyNoErrors();
579 // On valide le formulaire
580 $this->byXPath("//input[@value='Supprimer']")->click();
581 // On vérifie le message de validation
582 $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector("#sousform-dossier_contrainte .message .text")->text());
583 // On clique sur le bouton retour
584 $this->byLinkText("Retour")->click();
585 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
586 $this->verifyNoErrors();
587 }
588
589 /**
590 * Test la sélection de dossiers dans le SIG vers openADS
591 */
592 public function test_08_selection_dossiers_sig() {
593 // On se connecte en tant que "instr"
594 $this->login("instr", "instr");
595 // On passe une liste de dossiers à l'url de redirection
596 $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0;CU0130551200001P0");
597 // On vérifie qu'il n'y a pas d'erreur
598 $this->verifyNoErrors();
599 // vérification de l'affichage des dossiers dans le tableau
600 $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
601 $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
602 $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
603 // On ne passe pas de dossiers à l'url de redirection
604 $this->url("http://localhost/openads/app/affiche_selection_tab.php");
605 // On vérifie qu'il n'y a pas d'erreur
606 $this->verifyNoErrors();
607 // vérification de l'affichage des dossiers dans le tableau
608 $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
609 $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
610 $this->assertContains("AZ 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
611 $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
612 $this->assertContains("DP 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
613 $this->assertContains("PA 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
614 $this->assertContains("PC 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
615 $this->assertContains("PC 013055 12 00002P0",$this->byCssSelector(".tab-tab")->text());
616 $this->assertContains("PD 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
617
618 // On passe un dossiers au à l'url de redirection
619 $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0");
620 // On vérifie qu'il n'y a pas d'erreur
621 $this->verifyNoErrors();
622 // vérification de l'affichage des dossiers dans le tableau
623 $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
624 $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
625
626 // On se déconnecte
627 $this->logout();
628 }
629
630 /**
631 * Active l'option sig avec la valeur nécessaire pour la suite des tests
632 */
633 public function test_09_desactive_option_sig() {
634
635 // On se connecte en tant que "admin"
636 $this->login("admin", "admin");
637 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
638 $this->verifyNoErrors();
639 // On clique sur le lien "Administration" dans le menu
640 $this->byLinkText("Administration")->click();
641 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
642 $this->verifyNoErrors();
643 // // On clique sur le lien "Paramètre" dans le menu
644 $this->byLinkText("Paramètre")->click();
645 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
646 $this->verifyNoErrors();
647 // On remplis le champs de recherche simple
648 $this->byCssSelector("input[name='recherche']")->value('option_sig');
649 // On clique sur le bouton recherche
650 $this->byCssSelector(".ui-button")->click();
651 // On clique sur le résultat
652 $this->byLinkText("option_sig")->click();
653 // On clique sur le bouton "Modifier"
654 $this->byId('action-form-om_parametre-modifier')->click();
655 // On change la valeur par "aucun"
656 $this->byId('valeur')->clear();
657 $this->byId('valeur')->value('aucun');
658 // On valide la modification
659 $this->byCssSelector("input[value='Modifier']")->click();
660 // On vérifie le message de validation
661 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
662 // On clique sur le bouton 'Retour'
663 $this->byLinkText("Retour")->click();
664 // On vérifie les nouvelles données
665 $this->assertEquals("aucun", $this->byId("valeur")->text());
666 // On se déconnecte
667 $this->logout();
668 }
669
670 }
671 ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26