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 |
?> |