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

Annotation of /trunk/tests/testGeolocalisation.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2267 - (hide annotations)
Tue Sep 10 08:16:35 2013 UTC (11 years, 4 months ago) by softime
File size: 17678 byte(s)
- Création de la table dossier_parcelle qui contiendra le détail des parcelles d'un dossier
- Génération OM
- Traitement sur la table dossier_parcelle dans les fonctions triggerajouterapres(), triggermodifierapres() et triggersupprimerapres() de la classe dossier
- Modification du champ parcelle de la recherche avancée des DI
- Ajout du test de la recherche avancée des parcelles
- Modification de la fonction parseParcelle de utils.php pour mettre au bon format les parcelles
- Passage à la version suivante
- Création du fichier v3.9.0-a2-dev-init_data.sql pour l'init de données des tables tables ajoutées dans le fichier de version

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 2267 * Test la recherche avancée sur les parcelles
21     * le dossier AZ 013055 12 00001P0 à comme références cadastrales
22     * 806AB0001A0005 ce qui revient à dire qu'il a les références cadastrales
23     * 806AB0001, 806AB0002, 806AB0003, 806AB0004 et 806AB0005
24     */
25     public function test_recherche_avancee_parcelle() {
26    
27     // On se connecte en tant que "instr"
28     $this->login("instr", "instr");
29     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
30     $this->verifyNoErrors();
31     // On clique sur le lien "Mes encours" dans le menu
32     $this->byLinkText("Recherche")->click();
33     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
34     $this->verifyNoErrors();
35     // On remplis le champ parcelle de la recherche avancée
36     $this->byCssSelector("#advanced-form #parcelle")->value('806AB0001');
37     // On clique sur le bouton "Recherche"
38     $this->byId("adv-search-submit")->click();
39     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
40     $this->verifyNoErrors();
41     // On vérifie le dossier "AZ0130551200001P0" apparaît
42     $this->assertRegExp("/^[\s\S]*AZ 013055 12 00001P0[\s\S]*$/", $this->byCssSelector("#tab-dossier_instruction .tab-tab")->text());
43     // On remplis le champ parcelle de la recherche avancée
44     $this->byCssSelector("#advanced-form #parcelle")->value('806AB0001,806AB0003');
45     // On clique sur le bouton "Recherche"
46     $this->byId("adv-search-submit")->click();
47     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48     $this->verifyNoErrors();
49     // On vérifie le dossier "AZ0130551200001P0" apparaît
50     $this->assertRegExp("/^[\s\S]*AZ 013055 12 00001P0[\s\S]*$/", $this->byCssSelector("#tab-dossier_instruction .tab-tab")->text());;
51     // On se déconnecte
52     $this->logout();
53     }
54    
55     /**
56 softime 2263 * Test les liens vers le SIG
57     */
58     public function test_lien_localisation_dossier() {
59 nhaye 2205
60 softime 2263 // On se connecte en tant que "instr"
61     $this->login("instr", "instr");
62     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
63     $this->verifyNoErrors();
64     // On clique sur le lien "Mes encours" dans le menu
65     $this->byLinkText("Recherche")->click();
66     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
67     $this->verifyNoErrors();
68     // Test multi parcelles
69     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
70     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
71     sleep(5);
72     // Liste les fenêtres
73     $windows = $this->windowHandles();
74     // Change la fenêtre
75     $this->window($windows[1]);
76     // On vérifie qu'il n'y ait pas d'erreur
77     $this->verifynoerrors();
78     // On vérifie que le text est présent
79 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());
80 softime 2263 // On ferme la fenêtre
81     $this->closeWindow();
82     // On change le focus de la fenêtre
83     $this->window($windows[0]);
84     // Test une parcelle
85     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
86     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
87     sleep(5);
88     // Liste les fenêtres
89     $windows = $this->windowHandles();
90     // Change la fenêtre
91     $this->window($windows[1]);
92     // On vérifie qu'il n'y ait pas d'erreur
93     $this->verifynoerrors();
94     // On vérifie que le text est présent
95 softime 2267 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=VM_PCI_PARC_MPM*/201805%20AB0009&MAX_SCALE=500', $this->url());
96 softime 2263 // On ferme la fenêtre
97     $this->closeWindow();
98     // On change le focus de la fenêtre
99     $this->window($windows[0]);
100     // Test avec geom
101     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
102     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
103     sleep(5);
104     // Liste les fenêtres
105     $windows = $this->windowHandles();
106     // Change la fenêtre
107     $this->window($windows[1]);
108     // On vérifie qu'il n'y ait pas d'erreur
109     $this->verifynoerrors();
110     // On vérifie que le text est présent
111 softime 2266 $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
112 softime 2263 // On ferme la fenêtre
113     $this->closeWindow();
114     // On change le focus de la fenêtre
115     $this->window($windows[0]);
116     // Test sans geom nin références cadastrales
117     // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
118     $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
119     sleep(5);
120     // Liste les fenêtres
121     $windows = $this->windowHandles();
122     // Change la fenêtre
123     $this->window($windows[1]);
124     // On vérifie qu'il n'y ait pas d'erreur
125     $this->verifynoerrors();
126     // On vérifie que le text est présent
127     $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp', $this->url());
128     // On ferme la fenêtre
129     $this->closeWindow();
130     // On change le focus de la fenêtre
131     $this->window($windows[0]);
132     // On se déconnecte
133     $this->logout();
134 nhaye 2205
135 softime 2263 }
136 nhaye 2205
137 softime 2263 /**
138     * Test les différents traitements sur le SIG
139     */
140     public function test_geolocalisation() {
141 softime 2178
142 softime 2263 // On se connecte en tant que "instr"
143     $this->login("instr", "instr");
144     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145     $this->verifyNoErrors();
146     // On clique sur le lien "Mes encours" dans le menu
147     $this->byLinkText("Mes Encours")->click();
148     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
149     $this->verifyNoErrors();
150     // On clique sur le lien "AZ0130551200001P0" dans le tableau
151     $this->byLinkText("AZ 013055 12 00001P0")->click();
152     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
153     $this->verifyNoErrors();
154     // On clique sur "Géolocalisation"
155     $this->byLinkText("Géolocalisation")->click();
156     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
157     $this->verifyNoErrors();
158     // On vérifie les messages des traitements "Vérifier les parcelles",
159     // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
160     // et "Récupérer les contraintes"
161     $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
162     $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
163     $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
164     $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
165     $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
166     // On vérifie les données du dossier
167 softime 2267 $this->assertEquals("806AB0001A0005;", $this->byId("references_cadastrales")->text());
168 softime 2263 $this->assertEquals("113 boulevard pont de vivaux Marseille 13010", $this->byId("adresse")->text());
169     // On clique sur le bouton "Vérifier les parcelles"
170     $this->byId("verif_parcelle-button")->click();
171     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
172     $this->verifyNoErrors();
173     // On vérifie les nouvelles données après le traitement
174     $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
175     // On clique sur le bouton "Calculer l'emprise"
176     $this->byId("calcul_emprise-button")->click();
177     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
178     $this->verifyNoErrors();
179     // On vérifie les nouvelles données après le traitement
180     $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
181     // On clique sur le bouton "Dessiner l'emprise"
182     $this->byId("dessin_emprise-button")->click();
183     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
184     $this->verifyNoErrors();
185     // On vérifie les nouvelles données après le traitement
186     $this->assertRegExp("/^[\s\S]*Redirigé vers ElyxWeb.[\s\S]*$/", $this->byId("dessin_emprise")->text());
187     // Liste les fenêtres
188     $windows = $this->windowHandles();
189     // On vérifie que l'onglet s'est ouvert
190     $this->assertTrue(count($windows) == 2);
191     // Change la fenêtre
192     $this->window($windows[1]);
193     // On ferme la fenêtre
194     $this->closeWindow();
195     // On change le focus de la fenêtre
196     $this->window($windows[0]);
197     // On clique sur le bouton "Calculer le centroïde"
198     $this->byId("calcul_centroide-button")->click();
199     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
200     $this->verifyNoErrors();
201     // On vérifie les nouvelles données après le traitement
202     $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
203     $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
204     // On clique sur le bouton "Récupérer les contraintes"
205     $this->byId("recup_contrainte-button")->click();
206     // On vérifie le message affiché
207     $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
208     // On clique sur "Annuler" dans la boite de dialogue qui apparaît
209     $this->dismissAlert();sleep(1);
210     // On vérifie que le message et les données n'ont pas été modifiés
211     $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
212     $this->assertEquals("", $this->byId("servitude")->text());
213     // On clique sur le bouton "Récupérer les contraintes"
214     $this->byId("recup_contrainte-button")->click();
215     // On clique sur "OK" dans la boite de dialogue qui apparaît
216     $this->acceptAlert();sleep(1);
217     // On vérifie les nouvelles données après le traitement
218     $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
219     $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());
220     // On clique sur le bouton retour
221     $this->byId("retour-button")->click();
222     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
223     $this->verifyNoErrors();
224     // On se déconnecte
225     $this->logout();
226     }
227 softime 2217
228 softime 2263 /**
229     * Test le bouton permettant de lancer tous les traitements
230     * XXX lorsque la ressource de test le permettra, tester en cas d'erreur
231     * d'un traitements
232     */
233     public function test_all_geolocalisation_treatments() {
234 nhaye 2239
235 softime 2263 // On se connecte en tant que "instr"
236     $this->login("instr", "instr");
237     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
238     $this->verifyNoErrors();
239     // On clique sur le lien "Mes encours" dans le menu
240     $this->byLinkText("Mes Encours")->click();
241     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242     $this->verifyNoErrors();
243     // On clique sur le lien "AZ0130551200001P0" dans le tableau
244     $this->byLinkText("DP 013055 12 00001P0")->click();
245     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246     $this->verifyNoErrors();
247     // On clique sur "Géolocalisation"
248     $this->byLinkText("Géolocalisation")->click();
249     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
250     $this->verifyNoErrors();
251     // On vérifie les messages des traitements "Vérifier les parcelles",
252     // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
253     // et "Récupérer les contraintes"
254     $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
255     $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
256     $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
257     $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
258     $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
259     // On vérifie les données du dossier
260     // XXX Modifier les données de test pour ajouter des références
261     // cadastrales et l'adresse
262     // On clique sur le bouton "J'ai de la chance"
263     $this->byId("chance-button")->click();
264     // On vérifie le message affiché
265     $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
266     // On clique sur "OK" dans la boite de dialogue qui apparaît
267     $this->acceptAlert();sleep(5);
268     // On vérifie tous les messages
269     $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
270     $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
271     $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
272     $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
273     $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
274     // On vérifie toutes les données
275     $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
276     $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());
277     // On clique sur le bouton retour
278     $this->byId("retour-button")->click();
279     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
280     $this->verifyNoErrors();
281     // On se déconnecte
282     $this->logout();
283     }
284 nhaye 2239
285 softime 2217 /**
286 nhaye 2239 * Test la sélection de dossiers dans le SIG vers openADS
287 softime 2217 */
288 nhaye 2239 public function test_selection_dossiers_sig() {
289 softime 2217 // On se connecte en tant que "instr"
290     $this->login("instr", "instr");
291 nhaye 2239 // On passe une liste de dossiers à l'url de redirection
292     $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0;CU0130551200001P0");
293     // On vérifie qu'il n'y a pas d'erreur
294 softime 2217 $this->verifyNoErrors();
295 nhaye 2239 // vérification de l'affichage des dossiers dans le tableau
296     $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
297     $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
298     $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
299     // On ne passe pas de dossiers à l'url de redirection
300     $this->url("http://localhost/openads/app/affiche_selection_tab.php");
301     // On vérifie qu'il n'y a pas d'erreur
302 softime 2217 $this->verifyNoErrors();
303 nhaye 2239 // vérification de l'affichage des dossiers dans le tableau
304     $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
305     $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
306     $this->assertContains("AZ 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
307     $this->assertContains("CU 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
308     $this->assertContains("DP 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
309     $this->assertContains("PA 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
310     $this->assertContains("PC 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
311     $this->assertContains("PC 013055 12 00002P0",$this->byCssSelector(".tab-tab")->text());
312     $this->assertContains("PD 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
313    
314     // On passe un dossiers au à l'url de redirection
315     $this->url("http://localhost/openads/app/affiche_selection_tab.php?dossiers=AT0130551200001P0");
316     // On vérifie qu'il n'y a pas d'erreur
317 softime 2217 $this->verifyNoErrors();
318 nhaye 2239 // vérification de l'affichage des dossiers dans le tableau
319     $this->assertEquals("Instruction > Dossiers D'instruction", $this->byCssSelector("#title h2")->text());
320     $this->assertContains("AT 013055 12 00001P0",$this->byCssSelector(".tab-tab")->text());
321    
322 softime 2217 // On se déconnecte
323     $this->logout();
324     }
325 softime 2171 }
326     ?>

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26