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

Annotation of /trunk/tests/testGeolocalisation.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2273 - (hide annotations)
Tue Sep 10 17:40:30 2013 UTC (11 years, 4 months ago) by softime
File size: 21496 byte(s)
- Ajout de 'option_sig' dans om_parametre pouvant prendre les valeurs 'aucun' (par défaut) ou sig_externe pour le moment pour afficher les actions liées au SIG.
- Ajout des contrôle pour afficher ou non les actions du SIG.
- Modification des tests pour activer l'option SIG qui ne l'est pas par défaut

1 softime 2171 <?php
2     /**
3     * Fichier contenant la classe de test Geolocalisation
4     *
5     * @package openads
6 softime 2263 * @version SVN : $Id$
7 softime 2171 */
8    
9 softime 2172 // Fichiers requis
10 softime 2171 require_once "base.php";
11    
12     /**
13     * Classe de test sur les actions liées à la géolocalisation
14 softime 2200 *
15 softime 2217 * Dossier d'instruction utilisé : AZ 013055 12 00001P0 et DP 013055 12 00001P0
16 softime 2171 */
17     class Geolocalisation extends Base2TestCase {
18    
19 softime 2263 /**
20 softime 2273 * Active l'option sig avec la valeur nécessaire pour la suite des tests
21     */
22     public function test_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 softime 2267 * 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_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 "Mes encours" 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 se déconnecte
92     $this->logout();
93     }
94    
95     /**
96 softime 2263 * Test les liens vers le SIG
97     */
98     public function test_lien_localisation_dossier() {
99 nhaye 2205
100 softime 2263 // On se connecte en tant que "instr"
101     $this->login("instr", "instr");
102     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103     $this->verifyNoErrors();
104     // On clique sur le lien "Mes encours" dans le menu
105     $this->byLinkText("Recherche")->click();
106     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
107     $this->verifyNoErrors();
108     // Test multi parcelles
109     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
110     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
111     sleep(5);
112     // Liste les fenêtres
113     $windows = $this->windowHandles();
114     // Change la fenêtre
115     $this->window($windows[1]);
116     // On vérifie qu'il n'y ait pas d'erreur
117     $this->verifynoerrors();
118     // On vérifie que le text est présent
119 softime 2267 $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());
120 softime 2263 // On ferme la fenêtre
121     $this->closeWindow();
122     // On change le focus de la fenêtre
123     $this->window($windows[0]);
124     // Test une parcelle
125     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
126     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
127     sleep(5);
128     // Liste les fenêtres
129     $windows = $this->windowHandles();
130     // Change la fenêtre
131     $this->window($windows[1]);
132     // On vérifie qu'il n'y ait pas d'erreur
133     $this->verifynoerrors();
134     // On vérifie que le text est présent
135 softime 2267 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=VM_PCI_PARC_MPM*/201805%20AB0009&MAX_SCALE=500', $this->url());
136 softime 2263 // On ferme la fenêtre
137     $this->closeWindow();
138     // On change le focus de la fenêtre
139     $this->window($windows[0]);
140     // Test avec geom
141     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
142     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
143     sleep(5);
144     // Liste les fenêtres
145     $windows = $this->windowHandles();
146     // Change la fenêtre
147     $this->window($windows[1]);
148     // On vérifie qu'il n'y ait pas d'erreur
149     $this->verifynoerrors();
150     // On vérifie que le text est présent
151 softime 2266 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
152 softime 2263 // On ferme la fenêtre
153     $this->closeWindow();
154     // On change le focus de la fenêtre
155     $this->window($windows[0]);
156     // Test sans geom nin références cadastrales
157     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
158     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
159     sleep(5);
160     // Liste les fenêtres
161     $windows = $this->windowHandles();
162     // Change la fenêtre
163     $this->window($windows[1]);
164     // On vérifie qu'il n'y ait pas d'erreur
165     $this->verifynoerrors();
166     // On vérifie que le text est présent
167     $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp', $this->url());
168     // On ferme la fenêtre
169     $this->closeWindow();
170     // On change le focus de la fenêtre
171     $this->window($windows[0]);
172     // On se déconnecte
173     $this->logout();
174 nhaye 2205
175 softime 2263 }
176 nhaye 2205
177 softime 2263 /**
178     * Test les différents traitements sur le SIG
179     */
180     public function test_geolocalisation() {
181 softime 2178
182 softime 2263 // On se connecte en tant que "instr"
183     $this->login("instr", "instr");
184     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
185     $this->verifyNoErrors();
186     // On clique sur le lien "Mes encours" dans le menu
187     $this->byLinkText("Mes Encours")->click();
188     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
189     $this->verifyNoErrors();
190     // On clique sur le lien "AZ0130551200001P0" dans le tableau
191     $this->byLinkText("AZ 013055 12 00001P0")->click();
192     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
193     $this->verifyNoErrors();
194     // On clique sur "Géolocalisation"
195     $this->byLinkText("Géolocalisation")->click();
196     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
197     $this->verifyNoErrors();
198     // On vérifie les messages des traitements "Vérifier les parcelles",
199     // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
200     // et "Récupérer les contraintes"
201     $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
202     $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
203     $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
204     $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
205     $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
206     // On vérifie les données du dossier
207 softime 2267 $this->assertEquals("806AB0001A0005;", $this->byId("references_cadastrales")->text());
208 softime 2263 $this->assertEquals("113 boulevard pont de vivaux Marseille 13010", $this->byId("adresse")->text());
209     // On clique sur le bouton "Vérifier les parcelles"
210     $this->byId("verif_parcelle-button")->click();
211     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
212     $this->verifyNoErrors();
213     // On vérifie les nouvelles données après le traitement
214     $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
215     // On clique sur le bouton "Calculer l'emprise"
216     $this->byId("calcul_emprise-button")->click();
217     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
218     $this->verifyNoErrors();
219     // On vérifie les nouvelles données après le traitement
220     $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
221     // On clique sur le bouton "Dessiner l'emprise"
222     $this->byId("dessin_emprise-button")->click();
223     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
224     $this->verifyNoErrors();
225     // On vérifie les nouvelles données après le traitement
226     $this->assertRegExp("/^[\s\S]*Redirigé vers ElyxWeb.[\s\S]*$/", $this->byId("dessin_emprise")->text());
227     // Liste les fenêtres
228     $windows = $this->windowHandles();
229     // On vérifie que l'onglet s'est ouvert
230     $this->assertTrue(count($windows) == 2);
231     // Change la fenêtre
232     $this->window($windows[1]);
233     // On ferme la fenêtre
234     $this->closeWindow();
235     // On change le focus de la fenêtre
236     $this->window($windows[0]);
237     // On clique sur le bouton "Calculer le centroïde"
238     $this->byId("calcul_centroide-button")->click();
239     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240     $this->verifyNoErrors();
241     // On vérifie les nouvelles données après le traitement
242     $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
243     $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
244     // On clique sur le bouton "Récupérer les contraintes"
245     $this->byId("recup_contrainte-button")->click();
246     // On vérifie le message affiché
247     $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
248     // On clique sur "Annuler" dans la boite de dialogue qui apparaît
249     $this->dismissAlert();sleep(1);
250     // On vérifie que le message et les données n'ont pas été modifiés
251     $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
252     $this->assertEquals("", $this->byId("servitude")->text());
253     // On clique sur le bouton "Récupérer les contraintes"
254     $this->byId("recup_contrainte-button")->click();
255     // On clique sur "OK" dans la boite de dialogue qui apparaît
256     $this->acceptAlert();sleep(1);
257     // On vérifie les nouvelles données après le traitement
258     $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
259     $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());
260     // On clique sur le bouton retour
261     $this->byId("retour-button")->click();
262     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
263     $this->verifyNoErrors();
264     // On se déconnecte
265     $this->logout();
266     }
267 softime 2217
268 softime 2263 /**
269     * Test le bouton permettant de lancer tous les traitements
270     * XXX lorsque la ressource de test le permettra, tester en cas d'erreur
271     * d'un traitements
272     */
273     public function test_all_geolocalisation_treatments() {
274 nhaye 2239
275 softime 2263 // On se connecte en tant que "instr"
276     $this->login("instr", "instr");
277     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
278     $this->verifyNoErrors();
279     // On clique sur le lien "Mes encours" dans le menu
280     $this->byLinkText("Mes Encours")->click();
281     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282     $this->verifyNoErrors();
283     // On clique sur le lien "AZ0130551200001P0" dans le tableau
284     $this->byLinkText("DP 013055 12 00001P0")->click();
285     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286     $this->verifyNoErrors();
287     // On clique sur "Géolocalisation"
288     $this->byLinkText("Géolocalisation")->click();
289     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
290     $this->verifyNoErrors();
291     // On vérifie les messages des traitements "Vérifier les parcelles",
292     // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
293     // et "Récupérer les contraintes"
294     $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
295     $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
296     $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
297     $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
298     $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
299     // On vérifie les données du dossier
300     // XXX Modifier les données de test pour ajouter des références
301     // cadastrales et l'adresse
302     // On clique sur le bouton "J'ai de la chance"
303     $this->byId("chance-button")->click();
304     // On vérifie le message affiché
305     $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
306     // On clique sur "OK" dans la boite de dialogue qui apparaît
307     $this->acceptAlert();sleep(5);
308     // On vérifie tous les messages
309     $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
310     $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
311     $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
312     $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
313     $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
314     // On vérifie toutes les données
315     $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
316     $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());
317     // On clique sur le bouton retour
318     $this->byId("retour-button")->click();
319     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
320     $this->verifyNoErrors();
321     // On se déconnecte
322     $this->logout();
323     }
324 nhaye 2239
325 softime 2217 /**
326 nhaye 2239 * Test la sélection de dossiers dans le SIG vers openADS
327 softime 2217 */
328 nhaye 2239 public function test_selection_dossiers_sig() {
329 softime 2217 // On se connecte en tant que "instr"
330     $this->login("instr", "instr");
331 nhaye 2239 // On passe une liste de dossiers à l'url de redirection
332     $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0;CU0130551200001P0");
333     // On vérifie qu'il n'y a pas d'erreur
334 softime 2217 $this->verifyNoErrors();
335 nhaye 2239 // vérification de l'affichage des dossiers dans le tableau
336     $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
337     $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
338     $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
339     // On ne passe pas de dossiers à l'url de redirection
340     $this->url("http://localhost/openads/app/affiche_selection_tab.php");
341     // On vérifie qu'il n'y a pas d'erreur
342 softime 2217 $this->verifyNoErrors();
343 nhaye 2239 // vérification de l'affichage des dossiers dans le tableau
344     $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
345     $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
346     $this->assertContains("AZ 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
347     $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
348     $this->assertContains("DP 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
349     $this->assertContains("PA 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
350     $this->assertContains("PC 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
351     $this->assertContains("PC 013055 12 00002P0",$this->byCssSelector(".tab-tab")->text());
352     $this->assertContains("PD 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
353    
354     // On passe un dossiers au à l'url de redirection
355     $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0");
356     // On vérifie qu'il n'y a pas d'erreur
357 softime 2217 $this->verifyNoErrors();
358 nhaye 2239 // vérification de l'affichage des dossiers dans le tableau
359     $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
360     $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
361    
362 softime 2217 // On se déconnecte
363     $this->logout();
364     }
365 softime 2273
366     /**
367     * Active l'option sig avec la valeur nécessaire pour la suite des tests
368     */
369     public function test_desactive_option_sig() {
370    
371     // On se connecte en tant que "admin"
372     $this->login("admin", "admin");
373     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
374     $this->verifyNoErrors();
375     // On clique sur le lien "Administration" dans le menu
376     $this->byLinkText("Administration")->click();
377     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
378     $this->verifyNoErrors();
379     // // On clique sur le lien "Paramètre" dans le menu
380     $this->byLinkText("Paramètre")->click();
381     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382     $this->verifyNoErrors();
383     // On remplis le champs de recherche simple
384     $this->byCssSelector("input[name='recherche']")->value('option_sig');
385     // On clique sur le bouton recherche
386     $this->byCssSelector(".ui-button")->click();
387     // On clique sur le résultat
388     $this->byLinkText("option_sig")->click();
389     // On clique sur le bouton "Modifier"
390     $this->byId('action-form-om_parametre-modifier')->click();
391     // On change la valeur par "aucun"
392     $this->byId('valeur')->clear();
393     $this->byId('valeur')->value('aucun');
394     // On valide la modification
395     $this->byCssSelector("input[value='Modifier']")->click();
396     // On vérifie le message de validation
397     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
398     // On clique sur le bouton 'Retour'
399     $this->byLinkText("Retour")->click();
400     // On vérifie les nouvelles données
401     $this->assertEquals("aucun", $this->byId("valeur")->text());
402     // On se déconnecte
403     $this->logout();
404     }
405    
406 softime 2171 }
407     ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26