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

Contents of /trunk/tests/testGeolocalisation.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2263 - (show annotations)
Fri Sep 6 17:58:20 2013 UTC (11 years, 5 months ago) by softime
File size: 15753 byte(s)
- Modification de la gestion de la géolocalisation en cas de modification des parcelles dans le DI : affichage d'un message plus pertinent pour l'utilisateur, modification des boutons impactés demandant un autre traitement.
- Modification des tests
- Traductions

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

Properties

Name Value
svn:executable *
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26