/[openfoncier]/branches/3.14.x/tests/testGeolocalisation.php
ViewVC logotype

Diff of /branches/3.14.x/tests/testGeolocalisation.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2212 by softime, Mon Sep 2 15:14:32 2013 UTC revision 2263 by softime, Fri Sep 6 17:58:20 2013 UTC
# Line 3  Line 3 
3   * Fichier contenant la classe de test Geolocalisation   * Fichier contenant la classe de test Geolocalisation
4   *   *
5   * @package openads   * @package openads
6   * @version   * @version SVN : $Id$
7   */   */
8    
9  // Fichiers requis  // Fichiers requis
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   * Classe de test sur les actions liées à la géolocalisation   * Classe de test sur les actions liées à la géolocalisation
14   *   *
15   * Dossier d'instruction utilisé : AZ 013055 12 00001P0   * Dossier d'instruction utilisé : AZ 013055 12 00001P0 et DP 013055 12 00001P0
16   */   */
17  class Geolocalisation extends Base2TestCase {  class Geolocalisation extends Base2TestCase {
18    
# Line 31  class Geolocalisation extends Base2TestC Line 31  class Geolocalisation extends Base2TestC
31          $this->verifyNoErrors();          $this->verifyNoErrors();
32          // Test multi parcelles          // Test multi parcelles
33          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
34          $this->byId("localiser-sig-externe-AZ0130551200001P0-left-button")->click();          $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-AZ0130551200001P0")->click();
35          sleep(5);          sleep(5);
36          // Liste les fenêtres          // Liste les fenêtres
37          $windows = $this->windowHandles();          $windows = $this->windowHandles();
# Line 47  class Geolocalisation extends Base2TestC Line 47  class Geolocalisation extends Base2TestC
47          $this->window($windows[0]);          $this->window($windows[0]);
48          // Test une parcelle          // Test une parcelle
49          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
50          $this->byId("localiser-sig-externe-PD0130551200001P0-left-button")->click();          $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PD0130551200001P0")->click();
51          sleep(5);          sleep(5);
52          // Liste les fenêtres          // Liste les fenêtres
53          $windows = $this->windowHandles();          $windows = $this->windowHandles();
# Line 63  class Geolocalisation extends Base2TestC Line 63  class Geolocalisation extends Base2TestC
63          $this->window($windows[0]);          $this->window($windows[0]);
64          // Test avec geom          // Test avec geom
65          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
66          $this->byId("localiser-sig-externe-PC0130551200001P0-left-button")->click();          $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200001P0")->click();
67          sleep(5);          sleep(5);
68          // Liste les fenêtres          // Liste les fenêtres
69          $windows = $this->windowHandles();          $windows = $this->windowHandles();
# Line 79  class Geolocalisation extends Base2TestC Line 79  class Geolocalisation extends Base2TestC
79          $this->window($windows[0]);          $this->window($windows[0]);
80          // Test sans geom nin références cadastrales          // Test sans geom nin références cadastrales
81          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau          // On clique sur le lien sig du dossier "AZ0130551200001P0" dans le tableau
82          $this->byId("localiser-sig-externe-PC0130551200002P0-left-button")->click();          $this->byId("action-tab-dossier_instruction-left-localiser-sig-externe-PC0130551200002P0")->click();
83          sleep(5);          sleep(5);
84          // Liste les fenêtres          // Liste les fenêtres
85          $windows = $this->windowHandles();          $windows = $this->windowHandles();
# Line 164  class Geolocalisation extends Base2TestC Line 164  class Geolocalisation extends Base2TestC
164          $this->verifyNoErrors();          $this->verifyNoErrors();
165          // On vérifie les nouvelles données après le traitement                  // 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());          $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
167          $this->assertEquals("122, 223", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());          $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
168          // On clique sur le bouton "Récupérer les contraintes"          // On clique sur le bouton "Récupérer les contraintes"
169          $this->byId("recup_contrainte-button")->click();          $this->byId("recup_contrainte-button")->click();
170          // On vérifie le message affiché          // On vérifie le message affiché
# Line 180  class Geolocalisation extends Base2TestC Line 180  class Geolocalisation extends Base2TestC
180          $this->acceptAlert();sleep(1);          $this->acceptAlert();sleep(1);
181          // On vérifie les nouvelles données après le traitement          // 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());          $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());          $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());
184          // On clique sur le bouton retour          // On clique sur le bouton retour
185          $this->byId("retour-button")->click();          $this->byId("retour-button")->click();
186          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
# Line 188  class Geolocalisation extends Base2TestC Line 188  class Geolocalisation extends Base2TestC
188          // On se déconnecte          // On se déconnecte
189          $this->logout();          $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  ?>  ?>

Legend:
Removed from v.2212  
changed lines
  Added in v.2263

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26