/[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 2761 by softime, Wed Feb 19 17:46:10 2014 UTC revision 2762 by softime, Fri Feb 21 15:40:07 2014 UTC
# Line 197  class Geolocalisation extends Base2TestC Line 197  class Geolocalisation extends Base2TestC
197      }      }
198    
199      /**      /**
200       * Test la synchronisation des requêtes       * Test la synchronisation des requêtes.
201         * XXX Le message retourné par le synchronisation peut être différent si le
202         * test n'est pas lancé dans le testsuite.
203       */       */
204      public function test_04_synchro_contrainte() {      public function test_04_synchro_contrainte() {
205    
# Line 331  class Geolocalisation extends Base2TestC Line 333  class Geolocalisation extends Base2TestC
333      }      }
334    
335      /**      /**
336       * Test les l'ajout, modification et suppression d'une contrainte       * Test le bouton permettant de lancer tous les traitements
337       * sur un dossier       * XXX lorsque la ressource de test le permettra, tester en cas d'erreur
338         * d'un traitements
339       */       */
340      public function test_06_dossier_contrainte() {      public function test_06_all_geolocalisation_treatments() {
341    
342          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
343          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 344  class Geolocalisation extends Base2TestC Line 347  class Geolocalisation extends Base2TestC
347          $this->byLinkText("Mes Encours")->click();          $this->byLinkText("Mes Encours")->click();
348          // 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é
349          $this->verifyNoErrors();          $this->verifyNoErrors();
350          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
351            $this->byLinkText("DP 013055 12 00001P0")->click();
352            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
353            $this->verifyNoErrors();
354            // On clique sur "Géolocalisation"
355            $this->byLinkText("Géolocalisation")->click();
356            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
357            $this->verifyNoErrors();
358            // On vérifie les messages des traitements "Vérifier les parcelles",
359            // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"
360            // et "Récupérer les contraintes"
361            $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());
362            $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());
363            $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
364            $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());
365            $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());
366            // On vérifie les données du dossier
367            // XXX Modifier les données de test pour ajouter des références
368            // cadastrales et l'adresse
369            // On clique sur le bouton "J'ai de la chance"
370            $this->byId("chance-button")->click();
371            // On vérifie le message affiché
372            $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());
373            // On clique sur "OK" dans la boite de dialogue qui apparaît
374            $this->acceptAlert();sleep(5);
375            // On vérifie tous les messages
376            $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());
377            $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());
378            $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());
379            $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());
380            $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());
381            // On vérifie toutes les données
382            $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());
383            $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
384            $this->assertContains("1 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());
385            // On clique sur le bouton retour
386            $this->byId("retour-button")->click();
387            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
388            $this->verifyNoErrors();
389            // On se déconnecte
390            $this->logout();
391        }
392    
393        /**
394         * Test l'ajout d'une contrainte sur un dossier.
395         */
396        public function test_07_dossier_contrainte_add() {
397    
398            // On se connecte en tant que "instr"
399            $this->login("instr", "instr");
400            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
401            $this->verifyNoErrors();
402            // On clique sur le lien "Mes encours" dans le menu
403            $this->byLinkText("Mes Encours")->click();
404            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
405            $this->verifyNoErrors();
406            // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
407          $this->byLinkText("DP 013055 12 00001P0")->click();          $this->byLinkText("DP 013055 12 00001P0")->click();
408          // 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é
409          $this->verifyNoErrors();          $this->verifyNoErrors();
# Line 376  class Geolocalisation extends Base2TestC Line 435  class Geolocalisation extends Base2TestC
435          $this->verifyNoErrors();          $this->verifyNoErrors();
436          // Vérifie que la contrainte est présente          // Vérifie que la contrainte est présente
437          $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());          $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());
438          // On clique sur le résultat          // On se déconnecte
439          $this->byLinkText("Pollution puits")->click();          $this->logout();
440            
441        }
442    
443        /**
444         * Test l'affichage des contraintes sur la fiche du DI.
445         */
446        public function test_08_affichage_contrainte_DI() {
447    
448            // On se connecte en tant que "instr"
449            $this->login("instr", "instr");
450          // 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é
451          $this->verifyNoErrors();          $this->verifyNoErrors();
452          // On clique pour modifier la contrainte          // On clique sur le lien "Mes encours" dans le menu
453          $this->byId("action-sousform-dossier_contrainte-modifier")->click();sleep(1);          $this->byLinkText("Mes Encours")->click();
454          // 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é
455          $this->verifyNoErrors();          $this->verifyNoErrors();
456          // On modifie le texte complété          // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
457          $this->byId("texte_complete")->clear();          $this->byLinkText("DP 013055 12 00001P0")->click();
         $this->byId("texte_complete")->value("Texte complété de la contrainte sur le dossier.");  
         // On valide le formulaire  
         $this->byXPath("//input[@value='Modifier']")->click();  
         // On vérifie le message de validation  
         $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());  
         // On clique sur le bouton retour  
         $this->byLinkText("Retour")->click();sleep(1);  
458          // 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é
459          $this->verifyNoErrors();          $this->verifyNoErrors();
460          // On clique sur le résultat          // On vérifie les contraintes affichées
461          $this->byLinkText("Pollution puits")->click();          $this->assertContains("Une contrainte du PLU",
462                $this->byId("liste_contrainte")->text());
463            $this->assertContains("Le puits d'une profondeur de [...] est pollué.",
464                $this->byId("liste_contrainte")->text());
465            // On se déconnecte
466            $this->logout();
467    
468        }
469    
470        /**
471         * Change la condition d'affichage des contraintes sur la fiche d'un DI et
472         * test l'affichage.
473         */
474        public function test_09_option_contrainte_di() {
475    
476            // On se connecte en tant que "admin"
477            $this->login("admin", "admin");
478          // 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é
479          $this->verifyNoErrors();          $this->verifyNoErrors();
480          // On supprime la contrainte          // On clique sur le lien "Administration" dans le menu
481          $this->byId("action-sousform-dossier_contrainte-supprimer")->click();          $this->byLinkText("Administration")->click();
482          // 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é
483          $this->verifyNoErrors();          $this->verifyNoErrors();
484          // On valide le formulaire          // // On clique sur le lien "Paramètre" dans le menu
485          $this->byXPath("//input[@value='Supprimer']")->click();          $this->byLinkText("Paramètre")->click();
486            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
487            $this->verifyNoErrors();
488            // On remplis le champs de recherche simple
489            $this->byCssSelector("input[name='recherche']")->value('option_contrainte_di');
490            // On clique sur le bouton recherche
491            $this->byCssSelector(".ui-button")->click();
492            // On clique sur le résultat
493            $this->byLinkText("option_contrainte_di")->click();
494            // On clique sur le bouton "Modifier"
495            $this->byId('action-form-om_parametre-modifier')->click();
496            // On change la valeur par "sig_externe"
497            $this->byId('valeur')->clear();
498            $this->byId('valeur')->value('liste_ssgroupe=environnement');
499            // On valide la modification
500            $this->byCssSelector("input[value='Modifier']")->click();
501          // On vérifie le message de validation          // On vérifie le message de validation
502          $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
503          // On clique sur le bouton retour          // On clique sur le bouton 'Retour'
504          $this->byLinkText("Retour")->click();          $this->byLinkText("Retour")->click();
505            // On vérifie les nouvelles données
506            $this->assertEquals("liste_ssgroupe=environnement", $this->byId("valeur")->text());
507            // On se déconnecte
508            $this->deconnect();
509    
510            // On se connecte en tant que "instr"
511            $this->login("instr", "instr");
512          // 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é
513          $this->verifyNoErrors();          $this->verifyNoErrors();
514            // On clique sur le lien "Mes encours" dans le menu
515            $this->byLinkText("Mes Encours")->click();
516            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
517            $this->verifyNoErrors();
518            // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
519            $this->byLinkText("DP 013055 12 00001P0")->click();
520            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
521            $this->verifyNoErrors();
522            // On vérifie les contraintes affichées
523            $this->assertNotContains("Une contrainte du PLU",
524                $this->byId("liste_contrainte")->text());
525            $this->assertContains("Le puits d'une profondeur de [...] est pollué.",
526                $this->byId("liste_contrainte")->text());
527          // On se déconnecte          // On se déconnecte
528          $this->logout();          $this->logout();
529      }      }
530    
531      /**      /**
532       * Test le bouton permettant de lancer tous les traitements       * Test la modification et la suppression d'une contrainte sur un dossier.
      * XXX lorsque la ressource de test le permettra, tester en cas d'erreur  
      * d'un traitements  
533       */       */
534      public function test_07_all_geolocalisation_treatments() {      public function test_10_dossier_contrainte_modif_suppr() {
535    
536          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
537          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 430  class Geolocalisation extends Base2TestC Line 541  class Geolocalisation extends Base2TestC
541          $this->byLinkText("Mes Encours")->click();          $this->byLinkText("Mes Encours")->click();
542          // 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é
543          $this->verifyNoErrors();          $this->verifyNoErrors();
544          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
545          $this->byLinkText("DP 013055 12 00001P0")->click();          $this->byLinkText("DP 013055 12 00001P0")->click();
546          // 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é
547          $this->verifyNoErrors();          $this->verifyNoErrors();
548          // On clique sur "Géolocalisation"          // On clique sur "Contrainte(s)"
549          $this->byLinkText("Géolocalisation")->click();          $this->byId("dossier_contrainte")->click();
550          // 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é
551          $this->verifyNoErrors();          $this->verifyNoErrors();
552          // On vérifie les messages des traitements "Vérifier les parcelles",          // On clique sur le résultat
553          // "Calculer l'emprise", "Dessiner l'emprise", "Calculer le centroïde"          $this->byLinkText("Pollution puits")->click();
554          // et "Récupérer les contraintes"          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
555          $this->assertEquals("Action non effectuée.", $this->byId("verif_parcelle")->text());          $this->verifyNoErrors();
556          $this->assertEquals("Action non effectuée.", $this->byId("calcul_emprise")->text());          // On clique pour modifier la contrainte
557          $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());          $this->byId("action-sousform-dossier_contrainte-modifier")->click();sleep(1);
558          $this->assertEquals("Action non effectuée.", $this->byId("calcul_centroide")->text());          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
559          $this->assertEquals("Action non effectuée.", $this->byId("recup_contrainte")->text());          $this->verifyNoErrors();
560          // On vérifie les données du dossier          // On modifie le texte complété
561          // XXX Modifier les données de test pour ajouter des références          $this->byId("texte_complete")->clear();
562          // cadastrales et l'adresse          $this->byId("texte_complete")->value("Texte complété de la contrainte sur le dossier.");
563          // On clique sur le bouton "J'ai de la chance"          // On valide le formulaire
564          $this->byId("chance-button")->click();          $this->byXPath("//input[@value='Modifier']")->click();
565          // On vérifie le message affiché          // On vérifie le message de validation
566          $this->assertEquals('Êtes vous sur de vouloir récupérer les contraintes ?', $this->alertText());          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
         // On clique sur "OK" dans la boite de dialogue qui apparaît  
         $this->acceptAlert();sleep(5);  
         // On vérifie tous les messages  
         $this->assertRegExp("/^[\s\S]*Les parcelles existent.[\s\S]*$/", $this->byId("verif_parcelle")->text());  
         $this->assertRegExp("/^[\s\S]*L'emprise a été calculé.[\s\S]*$/", $this->byId("calcul_emprise")->text());  
         $this->assertEquals("Action non effectuée.", $this->byId("dessin_emprise")->text());  
         $this->assertRegExp("/^[\s\S]*Le centroide a été calculé[\s\S]*$/", $this->byId("calcul_centroide")->text());  
         $this->assertRegExp("/^[\s\S]*Les contraintes ont été récupérées.[\s\S]*$/", $this->byId("recup_contrainte")->text());  
         // On vérifie toutes les données  
         $this->assertEquals("Localiser POINT(122 223)", $this->byCssSelector("#sousform-sig_elyx #centroide")->text());  
         $this->assertContains("Aucune contraintes ajoutées depuis l'application", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());  
         $this->assertContains("1 contrainte(s) ajoutée(s) depuis le SIG", $this->byCssSelector("#sousform-sig_elyx #contrainte")->text());  
567          // On clique sur le bouton retour          // On clique sur le bouton retour
568          $this->byId("retour-button")->click();          $this->byLinkText("Retour")->click();sleep(1);
569            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
570            $this->verifyNoErrors();
571            // On clique sur le résultat
572            $this->byLinkText("Pollution puits")->click();
573            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
574            $this->verifyNoErrors();
575            // On supprime la contrainte
576            $this->byId("action-sousform-dossier_contrainte-supprimer")->click();
577            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
578            $this->verifyNoErrors();
579            // On valide le formulaire
580            $this->byXPath("//input[@value='Supprimer']")->click();
581            // On vérifie le message de validation
582            $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector(".message")->text());
583            // On clique sur le bouton retour
584            $this->byLinkText("Retour")->click();
585          // 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é
586          $this->verifyNoErrors();          $this->verifyNoErrors();
         // On se déconnecte  
         $this->logout();  
587      }      }
588    
589      /**      /**

Legend:
Removed from v.2761  
changed lines
  Added in v.2762

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26