/[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 2263 by softime, Fri Sep 6 17:58:20 2013 UTC revision 2723 by softime, Thu Feb 13 10:45:18 2014 UTC
# Line 17  require_once "base.php"; Line 17  require_once "base.php";
17  class Geolocalisation extends Base2TestCase {  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       * Test les liens vers le SIG
119       */       */
120      public function test_lien_localisation_dossier() {      public function test_03_lien_localisation_dossier() {
121    
122          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
123          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 40  class Geolocalisation extends Base2TestC Line 138  class Geolocalisation extends Base2TestC
138          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
139          $this->verifynoerrors();          $this->verifynoerrors();
140          // On vérifie que le text est présent          // 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%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());          $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          // On ferme la fenêtre
143          $this->closeWindow();          $this->closeWindow();
144          // On change le focus de la fenêtre          // On change le focus de la fenêtre
# Line 56  class Geolocalisation extends Base2TestC Line 154  class Geolocalisation extends Base2TestC
154          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
155          $this->verifynoerrors();          $this->verifynoerrors();
156          // On vérifie que le text est présent          // 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%20ab009&MAX_SCALE=500', $this->url());          $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          // On ferme la fenêtre
159          $this->closeWindow();          $this->closeWindow();
160          // On change le focus de la fenêtre          // On change le focus de la fenêtre
# Line 72  class Geolocalisation extends Base2TestC Line 170  class Geolocalisation extends Base2TestC
170          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
171          $this->verifynoerrors();          $this->verifynoerrors();
172          // On vérifie que le text est présent          // On vérifie que le text est présent
173          $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_DOSSIER*/PC0130551200001P0&SELECT=true', $this->url());          $this->assertEquals('http://sig.vdm.mars/elyx/layouts/vdm.jsp?KEY=ADS_EMPRISE*/PC0130551200001P0&SELECT=true', $this->url());
174          // On ferme la fenêtre          // On ferme la fenêtre
175          $this->closeWindow();          $this->closeWindow();
176          // On change le focus de la fenêtre          // On change le focus de la fenêtre
# Line 99  class Geolocalisation extends Base2TestC Line 197  class Geolocalisation extends Base2TestC
197      }      }
198    
199      /**      /**
200         * Test la synchronisation des requêtes
201         */
202        public function test_04_synchro_contrainte() {
203    
204            // On se connecte en tant que "admin"
205            $this->login("admin", "admin");
206            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
207            $this->verifyNoErrors();
208            // On clique sur le lien "Paramétrage Dossiers" dans le menu
209            $this->byLinkText("Paramétrage Dossiers")->click();
210            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211            $this->verifyNoErrors();
212            // On clique sur le lien "Synchronisation Des Contraintes" dans le menu
213            $this->byLinkText("Synchronisation Des Contraintes")->click();
214            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
215            $this->verifyNoErrors();
216            // On clique sur le bouton "Synchroniser"
217            $this->byId("button-contrainte-synchronisation-synchroniser")->click();
218            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
219            $this->verifyNoErrors();
220            // On vérifie le message retourné
221            $this->assertContains("1 contrainte(s) ajoutée(s).", $this->byCssSelector(".message")->text());
222            $this->assertContains("Aucune contraintes à modifier.", $this->byCssSelector(".message")->text());
223            $this->assertContains("4 contrainte(s) archivée(s).", $this->byCssSelector(".message")->text());
224            // On clique sur le lien "Contrainte" dans le menu
225            $this->byLinkText("Contrainte")->click();
226            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
227            $this->verifyNoErrors();
228            // On vérifie que la contrainte est ajoutée
229            $this->assertContains("Une contrainte du PLU", $this->byCssSelector(".tab-tab")->text());
230            // On clique pour afficher les éléments archivés
231            $this->byLinkText("Afficher les éléments expirés")->click();
232            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
233            $this->verifyNoErrors();
234            // On vérifie une contrainte qui doit être archivée
235            $this->assertContains("emplacement réservé pour équipement public (superstructure)", $this->byCssSelector(".tab-tab")->text());
236            // On se déconnecte
237            $this->logout();
238        }
239    
240        /**
241       * Test les différents traitements sur le SIG       * Test les différents traitements sur le SIG
242       */       */
243      public function test_geolocalisation() {      public function test_05_geolocalisation() {
244    
245          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
246          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 128  class Geolocalisation extends Base2TestC Line 267  class Geolocalisation extends Base2TestC
267          $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());          $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
268          $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());          $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
269          // On vérifie les données du dossier          // On vérifie les données du dossier
270          $this->assertEquals("806ab001A005;", $this->byId("references_cadastrales")->text());          $this->assertEquals("806AB0001A0005;", $this->byId("references_cadastrales")->text());
271          $this->assertEquals("113 boulevard pont de vivaux Marseille 13010", $this->byId("adresse")->text());          $this->assertEquals("113 boulevard pont de vivaux Marseille 13010", $this->byId("adresse")->text());
272          // On clique sur le bouton "Vérifier les parcelles"          // On clique sur le bouton "Vérifier les parcelles"
273          $this->byId("verif_parcelle-button")->click();          $this->byId("verif_parcelle-button")->click();
# Line 179  class Geolocalisation extends Base2TestC Line 318  class Geolocalisation extends Base2TestC
318          // On clique sur "OK" dans la boite de dialogue qui apparaît          // On clique sur "OK" dans la boite de dialogue qui apparaît
319          $this->acceptAlert();sleep(1);          $this->acceptAlert();sleep(1);
320          // On vérifie les nouvelles données après le traitement          // On vérifie les nouvelles données après le traitement
321          $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());          $this->assertContains("Les contraintes ont été récupérées.", $this->byId("recup_contrainte")->text());
322          $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());          // On vérifie le message du champ contrainte
323            $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
324            $this->assertContains("1 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
325          // On clique sur le bouton retour          // On clique sur le bouton retour
326          $this->byId("retour-button")->click();          $this->byId("retour-button")->click();
327          // 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 190  class Geolocalisation extends Base2TestC Line 331  class Geolocalisation extends Base2TestC
331      }      }
332    
333      /**      /**
334         * Test les l'ajout, modification et suppression d'une contrainte
335         * sur un dossier
336         */
337        public function test_06_dossier_contrainte() {
338    
339            // On se connecte en tant que "instr"
340            $this->login("instr", "instr");
341            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
342            $this->verifyNoErrors();
343            // On clique sur le lien "Mes encours" dans le menu
344            $this->byLinkText("Mes Encours")->click();
345            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
346            $this->verifyNoErrors();
347            // On clique sur le lien "AZ0130551200001P0" dans le tableau
348            $this->byLinkText("DP 013055 12 00001P0")->click();
349            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
350            $this->verifyNoErrors();
351            // On clique sur "Contrainte(s)"
352            $this->byId("dossier_contrainte")->click();
353            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
354            $this->verifyNoErrors();
355            // On clique sur "Ajouter des contraintes"
356            $this->byId("action-soustab-dossier_contrainte-corner-ajouter")->click();
357            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
358            $this->verifyNoErrors();
359            // On déploie le groupe "Contraintes Openads"
360            $this->byCssSelector("#fieldset-sousform-dossier_contrainte-contraintes-openads legend")->click();
361            sleep(1);
362            // On déploie le sous-groupe "Environnement"
363            $this->byCssSelector("#fieldset-sousform-dossier_contrainte-environnement legend")->click();
364            sleep(1);
365            // On clique sur la checkbox de la contrainte
366            $this->byId("contrainte_5")->click();
367            // On applique les changements
368            $this->byCssSelector("input[value='Appliquer les changements']")->click();sleep(1);
369            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
370            $this->verifyNoErrors();
371            // On vérifie le message de validation
372            $this->assertContains("La contrainte Pollution puits a été ajoutée au dossier.", $this->byCssSelector(".message")->text());
373            // On clique sur le bouton "Retour"
374            $this->byLinkText("Retour")->click();sleep(1);
375            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
376            $this->verifyNoErrors();
377            // Vérifie que la contrainte est présente
378            $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());
379            // On clique sur le résultat
380            $this->byLinkText("Pollution puits")->click();
381            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382            $this->verifyNoErrors();
383            // On clique pour modifier la contrainte
384            $this->byId("action-sousform-dossier_contrainte-modifier")->click();
385            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
386            $this->verifyNoErrors();
387            // On modifie le texte complété
388            $this->byId("texte_complete")->clear();
389            $this->byId("texte_complete")->value("Texte complété de la contrainte sur le dossier.");
390            // On valide le formulaire
391            $this->byXPath("//input[@value='Modifier']")->click();
392            // On vérifie le message de validation
393            $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
394            // On clique sur le bouton retour
395            $this->byLinkText("Retour")->click();sleep(1);
396            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
397            $this->verifyNoErrors();
398            // On clique sur le résultat
399            $this->byLinkText("Pollution puits")->click();
400            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
401            $this->verifyNoErrors();
402            // On supprime la contrainte
403            $this->byId("action-sousform-dossier_contrainte-supprimer")->click();
404            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
405            $this->verifyNoErrors();
406            // On valide le formulaire
407            $this->byXPath("//input[@value='Supprimer']")->click();
408            // On vérifie le message de validation
409            $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector(".message")->text());
410            // On clique sur le bouton retour
411            $this->byLinkText("Retour")->click();
412            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
413            $this->verifyNoErrors();
414            // On se déconnecte
415            $this->logout();
416        }
417    
418        /**
419       * Test le bouton permettant de lancer tous les traitements       * Test le bouton permettant de lancer tous les traitements
420       * XXX lorsque la ressource de test le permettra, tester en cas d'erreur       * XXX lorsque la ressource de test le permettra, tester en cas d'erreur
421       * d'un traitements       * d'un traitements
422       */       */
423      public function test_all_geolocalisation_treatments() {      public function test_07_all_geolocalisation_treatments() {
424    
425          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
426          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 237  class Geolocalisation extends Base2TestC Line 463  class Geolocalisation extends Base2TestC
463          $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());
464          // On vérifie toutes les données          // On vérifie toutes les données
465          $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());          $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
466          $this->assertEquals("- Une contrainte du PLU", $this->byCssSelector("#sousform-sig_elyx #servitude")->text());          $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
467            $this->assertContains("1 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
468          // On clique sur le bouton retour          // On clique sur le bouton retour
469          $this->byId("retour-button")->click();          $this->byId("retour-button")->click();
470          // 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 249  class Geolocalisation extends Base2TestC Line 476  class Geolocalisation extends Base2TestC
476      /**      /**
477       * Test la sélection de dossiers dans le SIG vers openADS       * Test la sélection de dossiers dans le SIG vers openADS
478       */       */
479      public function test_selection_dossiers_sig() {      public function test_08_selection_dossiers_sig() {
480          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
481          $this->login("instr", "instr");          $this->login("instr", "instr");
482          // On passe une liste de dossiers à l'url de redirection          // On passe une liste de dossiers à l'url de redirection
# Line 286  class Geolocalisation extends Base2TestC Line 513  class Geolocalisation extends Base2TestC
513          // On se déconnecte          // On se déconnecte
514          $this->logout();          $this->logout();
515      }      }
516    
517        /**
518         * Active l'option sig avec la valeur nécessaire pour la suite des tests
519         */
520        public function test_09_desactive_option_sig() {
521    
522            // On se connecte en tant que "admin"
523            $this->login("admin", "admin");
524            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
525            $this->verifyNoErrors();
526            // On clique sur le lien "Administration" dans le menu
527            $this->byLinkText("Administration")->click();
528            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
529            $this->verifyNoErrors();
530            // // On clique sur le lien "Paramètre" dans le menu
531            $this->byLinkText("Paramètre")->click();
532            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
533            $this->verifyNoErrors();
534            // On remplis le champs de recherche simple
535            $this->byCssSelector("input[name='recherche']")->value('option_sig');
536            // On clique sur le bouton recherche
537            $this->byCssSelector(".ui-button")->click();
538            // On clique sur le résultat
539            $this->byLinkText("option_sig")->click();
540            // On clique sur le bouton "Modifier"
541            $this->byId('action-form-om_parametre-modifier')->click();
542            // On change la valeur par "aucun"
543            $this->byId('valeur')->clear();
544            $this->byId('valeur')->value('aucun');
545            // On valide la modification
546            $this->byCssSelector("input[value='Modifier']")->click();
547            // On vérifie le message de validation
548            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
549            // On clique sur le bouton 'Retour'
550            $this->byLinkText("Retour")->click();
551            // On vérifie les nouvelles données
552            $this->assertEquals("aucun", $this->byId("valeur")->text());
553            // On se déconnecte
554            $this->logout();
555        }
556    
557  }  }
558  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26