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

Diff of /trunk/tests/testInstruction.php

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

revision 2815 by nhaye, Wed Mar 12 17:36:54 2014 UTC revision 3325 by vpihour, Wed Mar 4 13:38:04 2015 UTC
# Line 105  class Instruction extends Base2TestCase Line 105  class Instruction extends Base2TestCase
105          $this->deconnect();          $this->deconnect();
106      }      }
107      // Fonction public      // Fonction public
108      public function test01OuvertureMenu() {      public function test_01_OuvertureMenu() {
109          // Récupération des utilisateurs          // Récupération des utilisateurs
110          $utilisateurs = $this->listUtlisateurs;          $utilisateurs = $this->listUtlisateurs;
111          // Pour chaque utilisateur on lance le test          // Pour chaque utilisateur on lance le test
# Line 349  class Instruction extends Base2TestCase Line 349  class Instruction extends Base2TestCase
349          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
350          // On se déconnecte          // On se déconnecte
351          $this->deconnect();          $this->deconnect();
352    
353            // On se connecte en tant que "admin"
354            $this->login("admin", "admin");
355            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
356            $this->verifyNoErrors();
357            // On clique sur le lien "Paramétrage Dossiers" dans le menu
358            $this->byLinkText("Paramétrage Dossiers")->click();
359            // On clique sur le sousmenu "Événement"
360            $this->byLinkText("Événement")->click();
361            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
362            $this->verifyNoErrors();
363            // On remplis le champs de recherche simple
364            $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
365            // On clique sur le bouton recherche
366            $this->byCssSelector(".ui-button")->click();
367            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
368            $this->verifyNoErrors();
369            // On clique sur le résultat
370            $this->byLinkText("accepter un dossier sans réserve")->click();
371            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
372            $this->verifyNoErrors();
373            // On clique sur le bouton "Modifier"
374            $this->byId('bible')->click();
375            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
376            $this->verifyNoErrors();
377            // On Ajoute 2 éléments de bible automatique
378            $this->byId('bible')->click();
379            //On clique sur le "+" du tableau
380            $this->byClassName("add-16")->click();
381            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382            $this->verifyNoErrors();
383            $this->byCssSelector('#sousform-bible #libelle')->value("test 1");
384            $this->byId('contenu')->value("test contenu 1");
385            $this->select($this->byId("complement"))->selectOptionByValue("1");
386            $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
387            // On valide la modification
388            $this->byCssSelector("input[value='Ajouter']")->click();
389            sleep(1);
390            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
391            $this->verifyNoErrors();
392            // On vérifie le message de validation
393            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
394            //On retourne sur le tableau d'instructions
395            $this->byCssSelector("#sousform-bible .retour")->click();
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 "+" du tableau
399            $this->byClassName("add-16")->click();
400            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
401            $this->verifyNoErrors();
402            $this->byCssSelector('#sousform-bible #libelle')->value("test 2");
403            $this->byId('contenu')->value("test contenu 2");
404            $this->select($this->byId("complement"))->selectOptionByValue("2");
405            $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
406            // On valide la modification
407            $this->byCssSelector("input[value='Ajouter']")->click();
408            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
409            $this->verifyNoErrors();
410            // On vérifie le message de validation
411            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
412            // On se déconnecte
413            $this->deconnect();
414  //  //
415          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
416          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 402  class Instruction extends Base2TestCase Line 464  class Instruction extends Base2TestCase
464          $this->verifyNoErrors();          $this->verifyNoErrors();
465          //On choisi l'événement "accepter un dossier sans réserve [acceptation]"          //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
466          $this->select($this->byId("evenement"))->selectOptionByValue("81");          $this->select($this->byId("evenement"))->selectOptionByValue("81");
467            // On clique sur la bible automatique
468            $this->byLinkText('automatique')->click();
469          // On clique sur la bible          // On clique sur la bible
470          $this->byLinkText('bible')->click();          $this->byLinkText('bible')->click();
471          // On vérifie qu'il y est les enregistrments "V56" et "V64"          // On vérifie qu'il y est les enregistrments "V56" et "V64"
# Line 410  class Instruction extends Base2TestCase Line 474  class Instruction extends Base2TestCase
474          $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',          $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
475              $this->byCssSelector("#tab-bible")->text());              $this->byCssSelector("#tab-bible")->text());
476          // On choisit plusieurs éléments          // On choisit plusieurs éléments
         $this->byId('checkbox4')->click();  
477          $this->byId('checkbox5')->click();          $this->byId('checkbox5')->click();
478            $this->byId('checkbox6')->click();
479          // On valide le formulaire          // On valide le formulaire
480          $this->byXPath("//input[@value='Valider']")->click();          $this->byXPath("//input[@value='Valider']")->click();
481          // 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 431  class Instruction extends Base2TestCase Line 495  class Instruction extends Base2TestCase
495          // 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é
496          $this->verifyNoErrors();          $this->verifyNoErrors();
497          // On vérifie le contenu du champ "complément"          // On vérifie le contenu du champ "complément"
498            $this->assertContains("contenu 1", $this->byId("complement_om_html")->text());
499          $this->assertContains("Vu l'avis favorable de l'Architecte des Bâtiments de France en date du", $this->byId("complement_om_html")->text());          $this->assertContains("Vu l'avis favorable de l'Architecte des Bâtiments de France en date du", $this->byId("complement_om_html")->text());
500          $this->assertContains("Vu l'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du", $this->byId("complement_om_html")->text());          $this->assertContains("Vu l'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du", $this->byId("complement_om_html")->text());
501            $this->assertContains("contenu 2", $this->byId("complement2_om_html")->text());
502          //On vérifie que certains champs apparaissent          //On vérifie que certains champs apparaissent
503          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
504          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
# Line 512  class Instruction extends Base2TestCase Line 578  class Instruction extends Base2TestCase
578      }      }
579    
580      /**      /**
581       * Test le formulaire de la demande de type qui possède des select filtrés       * test le formulaire de la demande de type qui possède des select filtrés
582       */       */
583      public function test_05_ajout_lot() {      public function test_05_ajout_lot() {
584          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
# Line 566  class Instruction extends Base2TestCase Line 632  class Instruction extends Base2TestCase
632      }      }
633  //  //
634      /**      /**
635       * Test du lien automatique entre choix autorité compétente dans DI et       * test du lien automatique entre choix autorité compétente dans DI et
636       * évènement d'instruction à créer       * évènement d'instruction à créer
637       */       */
638      // Fonction privé      // Fonction privé
# Line 668  class Instruction extends Base2TestCase Line 734  class Instruction extends Base2TestCase
734      }      }
735  //  //
736      /**      /**
737       * Test de l'ajout de données techniques au dossier       * test de l'ajout de données techniques au dossier
738       */       */
739      public function test_07_edition_donnees_techniques() {      public function test_07_edition_donnees_techniques() {
740            // On se connecte en tant que "guichet"
741            $this->login("guichet", "guichet");
742            /** On instancie une nouvelle demande initial PCI **/
743            // On clique sur le menu "Guichet Unique"
744            $this->byLinkText("Guichet Unique")->click();
745            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
746            $this->verifyNoErrors();
747            // On clique sur le sous-menu "Nouveau Dossier"
748            $this->byLinkText("Nouveau Dossier")->click();
749            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
750            $this->verifyNoErrors();
751            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
752            $dossier = $this->addDossierInstruction(1, 1, "Test cerfa");
753            // On se déconnecte
754            $this->deconnect();
755          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
756          $this->login("admin", "admin");          $this->login("admin", "admin");
757          sleep(1);          sleep(1);
# Line 688  class Instruction extends Base2TestCase Line 769  class Instruction extends Base2TestCase
769          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
770          // 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é
771          $this->verifyNoErrors();          $this->verifyNoErrors();
772            // On modifie la durée de validité
773            $this->byId("om_validite_fin")->clear();
774            $this->byId("om_validite_fin")->value("31/12/2013");
775            // On valide le formulaire
776            $this->byXPath("//input[@value='Modifier']")->click();
777            // On vérifie le message de validation
778            $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
779            // On se déconnecte
780            $this->deconnect();
781            // On verifie que les données techniques sont toujours disponibles
782            // On se connecte en tant que "instr"
783            $this->login("instr", "instr");
784            // On clique sur le lien "Mes encours" dans le menu
785            $this->byLinkText("Mes Encours")->click();
786            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
787            $this->verifyNoErrors();
788            // On clique sur le lien "PC 013055 12 00002P0" dans le tableau
789            $this->byLinkText($dossier)->click();
790            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
791            $this->verifyNoErrors();
792            // On click sur le lien "Données techniques"
793            $this->byId("action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
794            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
795            $this->verifyNoErrors();
796            sleep(1);
797            // Vérification des fieldset
798            $this->assertContains("Aménager", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
799            $this->assertContains("Construire", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
800            $this->assertContains("Démolir", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
801            $this->byCssSelector(".ui-dialog-titlebar-close")->click();
802            // On se déconnecte
803            $this->deconnect();
804            // On se connecte en tant que "admin"
805            $this->login("admin", "admin");
806            sleep(1);
807            // Ouverture du menu de paramétrage des dossiers
808            $this->byLinkText("Paramétrage Dossiers")->click();
809            // Ouverture du menu des cerfa
810            $this->byLinkText("Cerfa")->click();
811            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
812            $this->verifyNoErrors();
813            //On clique sur le "+" du tableau
814            $this->byClassName("add-16")->click();
815            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
816            $this->verifyNoErrors();
817            $this->byId("libelle")->value("test cerfa 2");
818            $this->byId("code")->value("cerfa 2");
819            $this->byId("om_validite_debut")->value("01/04/2014");
820            $this->byId("om_validite_fin")->value("01/04/2018");
821          // Ajout de champs au formulaire des données techniques          // Ajout de champs au formulaire des données techniques
822          $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();          $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
823          $this->byId("terr_juri_titul")->click();          $this->byId("terr_juri_titul")->click();
# Line 698  class Instruction extends Base2TestCase Line 828  class Instruction extends Base2TestCase
828          $this->byId("terr_juri_oin")->click();          $this->byId("terr_juri_oin")->click();
829          $this->byId("terr_juri_desc")->click();          $this->byId("terr_juri_desc")->click();
830          // Validation du formulaire          // Validation du formulaire
831          $this->byXPath("//input[@value='Modifier']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
832          // Vérification des erreurs          // Vérification des erreurs
833          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
834          $this->byLinkText("Retour")->click();          $this->byLinkText("Retour")->click();
835            // Ouverture du menu des DATD
836            $this->byLinkText("Type DA Détaillé")->click();
837            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
838            $this->verifyNoErrors();
839            // Ouverture du PCI
840            $this->byLinkText("PCI")->click();
841            // Modification du DATD affiché
842            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
843            $this->select($this->byId("cerfa"))->clearSelectedOptions();
844            $this->select($this->byName("cerfa"))->selectOptionByLabel("test cerfa 2");
845            // On valide le formulaire
846            $this->byXPath("//input[@value='Modifier']")->click();
847            // On vérifie le message de validation
848            $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
849            // On clique sur "Retour"
850            $this->byLinkText("Retour")->click();
851            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
852            $this->verifyNoErrors();
853            // On clique sur "Retour"
854            $this->byLinkText("Retour")->click();
855            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
856            $this->verifyNoErrors();
857            // Ouverture du PCI
858            $this->byLinkText("AZ")->click();
859            // Modification du DATD affiché
860            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
861            $this->select($this->byName("cerfa"))->selectOptionByValue("");
862            // On valide le formulaire
863            $this->byXPath("//input[@value='Modifier']")->click();
864            // On vérifie le message de validation
865            $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
866            // On clique sur "Retour"
867            $this->byLinkText("Retour")->click();
868            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
869            $this->verifyNoErrors();
870          // On se déconnecte          // On se déconnecte
871          $this->deconnect();          $this->deconnect();
872            // On verifie que les données techniques sont toujours disponibles
873          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
874          $this->login("instr", "instr");          $this->login("instr", "instr");
875          // On clique sur le lien "Mes encours" dans le menu          // On clique sur le lien "Mes encours" dans le menu
# Line 711  class Instruction extends Base2TestCase Line 877  class Instruction extends Base2TestCase
877          // 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é
878          $this->verifyNoErrors();          $this->verifyNoErrors();
879          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
880          $this->byLinkText("AZ 013055 12 00001P0")->click();          $this->byLinkText($dossier)->click();
881          // 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é
882          $this->verifyNoErrors();          $this->verifyNoErrors();
883          // On click sur le lien "Données techniques"          // On click sur le lien "Données techniques"
884          $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();          $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
885          // 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é
886          $this->verifyNoErrors();          $this->verifyNoErrors();
887            // Vérification des fieldset
888            $this->assertContains("Aménager", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
889            $this->assertContains("Construire", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
890            $this->assertContains("Démolir", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
891            $this->byCssSelector(".ui-dialog-titlebar-close")->click();
892            // On se déconnecte
893            $this->deconnect();
894            // On se connecte en tant que "instr"
895            $this->login("guichet", "guichet");
896            /** On instancie une nouvelle demande initial PCI **/
897            // On clique sur le menu "Guichet Unique"
898            $this->byLinkText("Guichet Unique")->click();
899            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
900            $this->verifyNoErrors();
901            // On clique sur le sous-menu "Nouveau Dossier"
902            $this->byLinkText("Nouveau Dossier")->click();
903            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
904            $this->verifyNoErrors();
905            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
906            $dossier = $this->addDossierInstruction(1, 1, "Test cerfa");
907            // On se déconnecte
908            $this->deconnect();
909            // On se connecte en tant que "instr"
910            $this->login("instr", "instr");
911            // On clique sur le lien "Mes encours" dans le menu
912            $this->byLinkText("Mes Encours")->click();
913            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
914            $this->verifyNoErrors();
915            //On cherche le service
916            $this->byName("recherche")->value(str_replace(" ","",$dossier));
917            //On valide
918            $this->byName("s1")->click();
919            // On clique sur le lien "AZ0130551200001P0" dans le tableau
920            $this->byLinkText($dossier)->click();
921            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
922            $this->verifyNoErrors();
923            // On click sur le lien "Données techniques"
924            $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
925          sleep(1);          sleep(1);
         // Modification des données techniques  
         $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();  
926          // 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é
927          $this->verifyNoErrors();          $this->verifyNoErrors();
928            $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
929            $this->byCssSelector(".ui-dialog-titlebar-close")->click();
930            // On se déconnecte
931            $this->deconnect();
932            // On se connecte en tant que "instr"
933            $this->login("admin", "admin");
934          sleep(1);          sleep(1);
935          $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());          // Ouverture du menu de paramétrage des dossiers
936          // Validation du formulaire          $this->byLinkText("Paramétrage Dossiers")->click();
937            // Ouverture du menu des cerfa
938            $this->byLinkText("Cerfa")->click();
939            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
940            $this->verifyNoErrors();
941            // Afficher les éléments expirés
942            $this->byLinkText("Afficher les éléments expirés")->click();
943            sleep(0.5);
944            // Ouverture d'un cerfa
945            $this->byLinkText("cerfa de test n°1")->click();
946            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
947            $this->verifyNoErrors();
948            // Modification du cerfa affiché
949            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
950            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
951            $this->verifyNoErrors();
952            // On modifie la durée de validité
953            $this->byId("om_validite_fin")->clear();
954            $this->acceptAlert();
955            $this->byId("om_validite_fin")->value("31/12/2018");
956            // On valide le formulaire
957            $this->byXPath("//input[@value='Modifier']")->click();
958            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
959            $this->verifyNoErrors();
960            // Ouverture du menu des DATD
961            $this->byLinkText("Type DA Détaillé")->click();
962            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
963            $this->verifyNoErrors();
964            // Ouverture du PCI
965            $this->byLinkText("PCI")->click();
966            // Modification du DATD affiché
967            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
968            $this->select($this->byId("cerfa"))->clearSelectedOptions();
969            $this->select($this->byName("cerfa"))->selectOptionByLabel("cerfa de test n°1");
970            // On valide le formulaire
971            $this->byXPath("//input[@value='Modifier']")->click();
972            // On vérifie le message de validation
973            $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
974            // On clique sur "Retour"
975            $this->byLinkText("Retour")->click();
976            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
977            $this->verifyNoErrors();
978            // On clique sur "Retour"
979            $this->byLinkText("Retour")->click();
980            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
981            $this->verifyNoErrors();
982            // Ouverture du PCI
983            $this->byLinkText("AZ")->click();
984            // Modification du DATD affiché
985            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
986            $this->select($this->byName("cerfa"))->selectOptionByLabel("cerfa de test n°1");
987            // On valide le formulaire
988          $this->byXPath("//input[@value='Modifier']")->click();          $this->byXPath("//input[@value='Modifier']")->click();
989          // 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é
990          $this->verifyNoErrors();          $this->verifyNoErrors();
         $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());  
         $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();  
         sleep(1);  
991          // On se déconnecte          // On se déconnecte
992          $this->logout();          $this->logout();
 //  
993      }      }
994  //  //
995      /**      /**
996       * Test un événement d'instruction qui a un événement "retour"       * test un événement d'instruction qui a un événement "retour"
997       */       */
998      public function test_08_evenement_instruction_retour() {      public function test_08_evenement_instruction_retour() {
999  //  //
# Line 903  class Instruction extends Base2TestCase Line 1158  class Instruction extends Base2TestCase
1158          $this->byId("instruction")->click();          $this->byId("instruction")->click();
1159          // On ajoute un événement d'instruction          // On ajoute un événement d'instruction
1160          $this->byId("action-soustab-instruction-corner-ajouter")->click();          $this->byId("action-soustab-instruction-corner-ajouter")->click();
1161          // On sélectionne l'évenement "accepter un dossier sans réserve"          // On choisit un signataire Albert Dupont
1162          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");          $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
1163            //On choisit l'instruction 'accepter un dossier sans réserve
1164            //[acceptation]'
1165            $this->select($this->byId("evenement"))->selectOptionByValue(81);
1166          // On valide le formulaire          // On valide le formulaire
1167          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
1168          // On vérifie le message          // On vérifie le message
# Line 991  class Instruction extends Base2TestCase Line 1249  class Instruction extends Base2TestCase
1249      }      }
1250      //      //
1251      /**      /**
1252       * Test la suppression d'un événement d'instruction lié à une demande qui ne       * test la suppression d'un événement d'instruction lié à une demande qui ne
1253       * créée pas de nouveau dossier d'instruction       * créée pas de nouveau dossier d'instruction
1254       */       */
1255      public function test_09_suppression_evenement_demande(){      public function test_09_suppression_evenement_demande(){
# Line 1024  class Instruction extends Base2TestCase Line 1282  class Instruction extends Base2TestCase
1282          // On sélectionne la nature 'Dossier existant'          // On sélectionne la nature 'Dossier existant'
1283          $this->select($this->byId("demande_nature"))->selectOptionByValue("2");          $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
1284          // On sélectionne l'état 'En cours'          // On sélectionne l'état 'En cours'
1285          $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");          $this->select($this->byName("etats_autorises[]"))->selectOptionByValue("notifier");
1286          // On sélectionne l'événement 'Defrichement soumis a enquete publique'          // On sélectionne l'événement 'Defrichement soumis a enquete publique'
1287          $this->select($this->byId("evenement"))->selectOptionByValue("15");          $this->select($this->byId("evenement"))->selectOptionByValue("15");
1288          // On sélectionne la contrainte 'Avec récupération demandeur'          // On sélectionne la contrainte 'Avec récupération demandeur'
# Line 1049  class Instruction extends Base2TestCase Line 1307  class Instruction extends Base2TestCase
1307          $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();          $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
1308          // 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é
1309          $this->verifyNoErrors();          $this->verifyNoErrors();
1310            // On vérifie l'état du DI
1311            $this->assertContains("delai de notification envoye", $this->byCssSelector("#fieldset-form-demande_dossier_encours-etat-du-dossier-d_instruction.cadre .fieldsetContent .form-content")->text());
1312          //On sélectionne le type de la demande          //On sélectionne le type de la demande
1313          $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);          $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
1314          // On clique sur le bouton ajouter          // On clique sur le bouton ajouter
# Line 1103  class Instruction extends Base2TestCase Line 1363  class Instruction extends Base2TestCase
1363      }      }
1364  //  //
1365      /**      /**
1366       * Test sur les types d'éditions des consultations       * test sur les types d'éditions des consultations
1367       */       */
1368      function test_10_nouveau_type_edition_consultation(){      function test_10_nouveau_type_edition_consultation(){
1369          //          //
# Line 1268  class Instruction extends Base2TestCase Line 1528  class Instruction extends Base2TestCase
1528      }      }
1529  //  //
1530      /**      /**
1531       * Test sur un événement non verrouillable       * test sur un événement non verrouillable
1532       */       */
1533      public function test_11_evenement_non_verrouillable(){      public function test_11_evenement_non_verrouillable(){
1534  //  //
# Line 1375  class Instruction extends Base2TestCase Line 1635  class Instruction extends Base2TestCase
1635          $this->byCssSelector(".actions-max-1 a")->click();          $this->byCssSelector(".actions-max-1 a")->click();
1636          // 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é
1637          $this->verifyNoErrors();          $this->verifyNoErrors();
1638          // On choisi un événement          //On choisit l'instruction 'accepter un dossier sans réserve
1639          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");          //[acceptation]'
1640            $this->select($this->byId("evenement"))->selectOptionByValue(81);
1641          // On valide le formulaire          // On valide le formulaire
1642          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
1643          // 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 1400  class Instruction extends Base2TestCase Line 1661  class Instruction extends Base2TestCase
1661      }      }
1662  //  //
1663      /**      /**
1664       * Test que les données du dossier d'autorisation sont recopiés dans les       * test que les données du dossier d'autorisation sont recopiés dans les
1665       * champs 'archive_' de l'événement d'instruction de la création du nouveau       * champs 'archive_' de l'événement d'instruction de la création du nouveau
1666       * dossier d'instruction       * dossier d'instruction
1667       */       */
# Line 1419  class Instruction extends Base2TestCase Line 1680  class Instruction extends Base2TestCase
1680          $this->deconnect();          $this->deconnect();
1681          //}}}          //}}}
1682          //          //
         //{{{  
         // Mise à jour des données techniques  
         // On se connecte à l'application  
         $this->login("instr", "instr");  
         //On clique sur le menu "Recherche"  
         $this->byLinkText("Recherche")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On recherche le dossier crée  
         $this->byId("dossier")->value(str_replace(' ', '', $dossier));  
         // On clique sur le bouton recherche  
         $this->byId("adv-search-submit")->click();  
         // On clique sur le résultat  
         $this->byLinkText($dossier)->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // Ouverture du formulaire des données techniques  
         $this->byCssSelector("#formulaire .rediger-16")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // Modification des données techniques  
         $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         sleep(1);  
         // On déplie le fieldset Construire  
         $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();  
         sleep(1);  
         // On déplie le fieldset Destinations et surfaces des constructions  
         $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();  
         sleep(1);  
         //On remplit des données techniques  
         $this->byId("su_cstr_shon1")->value("120");  
         // On clique sur ajouter  
         $this->byXPath("//input[@value='Modifier']")->click();  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie le message  
         $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());  
         //On clique sur retour  
         $this->byCssSelector("#sousform-donnees_techniques .retour")->click();  
         // On se déconnecte  
         $this->deconnect();  
         //}}}  
         //  
1683          //{{{ Clôture du nouveau dossier          //{{{ Clôture du nouveau dossier
1684          // On se connecte à l'application          // On se connecte à l'application
1685          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 1503  class Instruction extends Base2TestCase Line 1719  class Instruction extends Base2TestCase
1719          $this->deconnect();          $this->deconnect();
1720          //}}}          //}}}
1721          //          //
         //{{{ Vérification des données techniques dans la visu DA  
         // On se connecte à l'application  
         $this->login("instr", "instr");  
         //On clique sur le menu "Recherche"  
         $this->byLinkText("Recherche")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On recherche le dossier crée  
         $this->byId("dossier")->value(str_replace(' ', '', $dossier));  
         // On clique sur le bouton recherche  
         $this->byId("adv-search-submit")->click();  
         // On clique sur le résultat  
         $this->byLinkText($dossier)->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         //On clique sur l'onglet "DA"  
         $this->byId("dossier_autorisation")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On ajoute une instruction  
         $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // Affichage des données techniques  
         $this->byId("donnees_techniques_da")->click();  
         sleep(1);  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On déplie le fieldset Construire  
         $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();  
         sleep(1);  
         // On déplie le fieldset Destinations et surfaces des constructions  
         $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();  
         sleep(1);  
         $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());  
         //On clique sur retour  
         $this->byCssSelector("#sousform-donnees_techniques .retour")->click();  
         // On se déconnecte  
         $this->deconnect();  
         //}}}  
         //  
1722          //{{{ Ajout de l'action          //{{{ Ajout de l'action
1723          // On se connecte à l'application          // On se connecte à l'application
1724          $this->login("admin", "admin");          $this->login("admin", "admin");
# Line 1638  class Instruction extends Base2TestCase Line 1813  class Instruction extends Base2TestCase
1813          // On sélectionne Dossier existant          // On sélectionne Dossier existant
1814          $this->select($this->byId("demande_nature"))->selectOptionByValue(2);          $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1815          // On sélectionne Accordé          // On sélectionne Accordé
1816          $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);          $this->select($this->byName("etats_autorises[]"))->selectOptionByValue('accepter');
1817          $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");          $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1818          $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");          $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1819          // On clique sur ajouter          // On clique sur ajouter
# Line 1705  class Instruction extends Base2TestCase Line 1880  class Instruction extends Base2TestCase
1880      }      }
1881      //      //
1882      /**      /**
1883       * Test de la numérotation des DI successifs       * test de la numérotation des DI successifs
1884       */       */
1885      function test_13_numerotation_dossier_instruction_successif(){      function test_13_numerotation_dossier_instruction_successif(){
1886              //              //
# Line 1751  class Instruction extends Base2TestCase Line 1926  class Instruction extends Base2TestCase
1926          $this->select($this->byName("evenement"))->selectOptionByValue(81);          $this->select($this->byName("evenement"))->selectOptionByValue(81);
1927          // On clique sur ajouter          // On clique sur ajouter
1928          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
1929            sleep(1);
1930          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
1931          $this->verifynoerrors();          $this->verifynoerrors();
1932          // On vérifie que l'événement d'instruction s'est bien ajouté          // On vérifie que l'événement d'instruction s'est bien ajouté
1933          $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());          $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());
1934            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1935            $this->verifyNoErrors();
1936          // On se déconnecte          // On se déconnecte
1937          $this->deconnect();          $this->deconnect();
1938          //}}}          //}}}
# Line 1785  class Instruction extends Base2TestCase Line 1963  class Instruction extends Base2TestCase
1963          $this->verifynoerrors();          $this->verifynoerrors();
1964          // On vérifie que le type de dossier d'instruction s'est bien ajouté          // On vérifie que le type de dossier d'instruction s'est bien ajouté
1965          $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());          $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1966            // On clique sur "Retour"
1967            $this->byClassName("retour")->click();
1968            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1969            $this->verifyNoErrors();
1970            //On saisie le nom due l'événement dans la recherche simple
1971            $this->byName("recherche")->value("Test numérotation");
1972            //On valide la recherche
1973            $this->byName('s1')->submit();
1974            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1975            $this->verifyNoErrors();
1976            //On clique sur l'événement
1977            $this->byLinkText("Test numérotation")->click();
1978            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1979            $this->verifyNoErrors();
1980            //On récupère l'identifiant
1981            $dossier_instruction_type = trim($this->byId("dossier_instruction_type")->text());
1982          //}}}          //}}}
1983          //          //
1984          //{{{ Ajout d'un nouveau type de demande          //{{{ Ajout d'un nouveau type de demande
# Line 1802  class Instruction extends Base2TestCase Line 1996  class Instruction extends Base2TestCase
1996          $this->select($this->byId("groupe"))->selectOptionByValue(1);          $this->select($this->byId("groupe"))->selectOptionByValue(1);
1997          sleep(1);          sleep(1);
1998          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1999            sleep(1);
2000          $this->select($this->byId("demande_nature"))->selectOptionByValue(2);          $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
2001          $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);          sleep(1);
2002          $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - Test numérotation");          $this->select($this->byName("etats_autorises[]"))->selectOptionByValue('accepter');
2003            sleep(1);
2004            $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue($dossier_instruction_type);
2005            sleep(1);
2006          $this->select($this->byId("evenement"))->selectOptionByValue(1);          $this->select($this->byId("evenement"))->selectOptionByValue(1);
2007          // On clique sur ajouter          // On clique sur ajouter
2008          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
# Line 1849  class Instruction extends Base2TestCase Line 2047  class Instruction extends Base2TestCase
2047          //}}}          //}}}
2048                    
2049                    
2050      // }      }
2051    
2052        /**
2053         * test de la numérotation des DI successifs
2054         */
2055        function test_14_recalcul_donnees_DI_vers_DA(){
2056            //{{{ Ajout de d'un nouveau dossier
2057            // On se connecte à l'application
2058            $this->login("guichet", "guichet");
2059            //On clique sur le menu des instructions
2060            $this->byLinkText("Nouveau Dossier")->click();
2061            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2062            $this->verifyNoErrors();
2063            //On ajoute un nouveau dossier
2064            $dossier = $this->addDossierInstruction( 1, 1);                
2065            // On se déconnecte
2066            $this->deconnect();
2067            //}}}
2068            //
2069            //{{{
2070            // Mise à jour des données techniques
2071            // On se connecte à l'application
2072            $this->login("instr", "instr");
2073            //On clique sur le menu "Recherche"
2074            $this->byLinkText("Recherche")->click();
2075            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2076            $this->verifyNoErrors();
2077            // On recherche le dossier crée
2078            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
2079            // On clique sur le bouton recherche
2080            $this->byId("adv-search-submit")->click();
2081            // On clique sur le résultat
2082            $this->byLinkText($dossier)->click();
2083            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2084            $this->verifyNoErrors();
2085            // Ouverture du formulaire des données techniques
2086            $this->byCssSelector("#formulaire .rediger-16")->click();
2087            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2088            $this->verifyNoErrors();
2089            // Modification des données techniques
2090            $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
2091            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2092            $this->verifyNoErrors();
2093            sleep(1);
2094            // On déplie le fieldset Construire
2095            $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
2096            sleep(1);
2097            // On déplie le fieldset Destinations et surfaces des constructions
2098            $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
2099            sleep(1);
2100            //On remplit des données techniques
2101            $this->byId("su_cstr_shon1")->value("120");
2102            // On clique sur ajouter
2103            $this->byXPath("//input[@value='Modifier']")->click();
2104            sleep(1);
2105            // On vérifie qu'il n'y ait pas d'erreur
2106            $this->verifynoerrors();
2107            // On vérifie le message
2108            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-donnees_techniques .message")->text());
2109            //On clique sur retour
2110            $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
2111            //}}}
2112            //
2113            //{{{ Clôture du nouveau dossier
2114            //On clique sur le menu "Recherche"
2115            $this->byLinkText("Recherche")->click();
2116            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2117            $this->verifyNoErrors();
2118            // On recherche le dossier crée
2119            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
2120            // On clique sur le bouton recherche
2121            $this->byId("adv-search-submit")->click();
2122            // On clique sur le résultat
2123            $this->byLinkText($dossier)->click();
2124            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2125            $this->verifyNoErrors();
2126            //On clique sur l'onglet "instruction"
2127            $this->byId("instruction")->click();
2128            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2129            $this->verifyNoErrors();
2130            // On ajoute une instruction
2131            $this->byCssSelector("#sousform-instruction .add-16")->click();
2132            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2133            $this->verifyNoErrors();
2134            //On choisit l'instruction 'accepter un dossier sans réserve
2135            //[acceptation]'
2136            $this->select($this->byId("evenement"))->selectOptionByValue(81);
2137            // On clique sur ajouter
2138            $this->byXPath("//input[@value='Ajouter']")->click();
2139            // On vérifie qu'il n'y ait pas d'erreur
2140            $this->verifynoerrors();
2141            // On vérifie le message
2142            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
2143            //On rafraichit la page pour vérifier que le dossier est clôturé
2144            $this->refresh();
2145            $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
2146            //}}}
2147            //
2148            //{{{ Vérification des données techniques dans la visu DA
2149            //On clique sur le menu "Recherche"
2150            $this->byLinkText("Recherche")->click();
2151            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2152            $this->verifyNoErrors();
2153            // On recherche le dossier crée
2154            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
2155            // On clique sur le bouton recherche
2156            $this->byId("adv-search-submit")->click();
2157            // On clique sur le résultat
2158            $this->byLinkText($dossier)->click();
2159            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2160            $this->verifyNoErrors();
2161            //On clique sur l'onglet "DA"
2162            $this->byId("dossier_autorisation")->click();
2163            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2164            $this->verifyNoErrors();
2165            // On ajoute une instruction
2166            $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();
2167            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2168            $this->verifyNoErrors();
2169            // Affichage des données techniques
2170            $this->byId("donnees_techniques_da")->click();
2171            sleep(1);
2172            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2173            $this->verifyNoErrors();
2174            // On déplie le fieldset Construire
2175            $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
2176            sleep(1);
2177            // On déplie le fieldset Destinations et surfaces des constructions
2178            $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
2179            sleep(1);
2180            $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());
2181            //On clique sur retour
2182            $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
2183            // On se déconnecte
2184            $this->deconnect();
2185            //}}}
2186            
2187            // Vérification du calcul de l'état du DA
2188            //{{{ Ajout de d'un nouveau dossier
2189            // On se connecte à l'application
2190            $this->login("guichet", "guichet");
2191            //On clique sur le menu des instructions
2192            $this->byLinkText("Nouveau Dossier")->click();
2193            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2194            $this->verifyNoErrors();
2195            //On ajoute un nouveau dossier
2196            $dossier = $this->addDossierInstruction( 1, 1, "test recalcul état DA");
2197            // On se déconnecte
2198            $this->deconnect();
2199            //}}}
2200            // On se connecte à l'application
2201            $this->login("instr", "instr");
2202            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2203            $this->verifyNoErrors();
2204            // On clique sur le lien "Mes encours" dans le menu
2205            $this->byLinkText("Mes Encours")->click();
2206            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2207            $this->verifyNoErrors();
2208            sleep(1);
2209            //On cherche le dossier d'instruction
2210            $this->byName("recherche")->value(str_replace(" ", "", $dossier));
2211            // On valide la recherche
2212            $this->byName("s1")->click();
2213            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2214            $this->verifyNoErrors();
2215            // On clique sur le dossier dernièrement créé
2216            $this->byLinkText($dossier)->click();
2217            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2218            $this->verifyNoErrors();
2219            $this->verifierEtatDA($dossier,81, "Accordé");
2220            // On se déconnecte
2221            $this->deconnect();
2222            //}}}
2223            //{{{ Ajout de d'un nouveau dossier
2224            // On se connecte à l'application
2225            $this->login("guichet", "guichet");
2226            //On clique sur le menu des instructions
2227            $this->byLinkText("Nouveau Dossier")->click();
2228            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2229            $this->verifyNoErrors();
2230            //On ajoute un nouveau dossier
2231            $dossier = $this->addDossierInstruction( 1, 1, "test recalcul état DA");
2232            // On se déconnecte
2233            $this->deconnect();
2234            //}}}
2235            // On se connecte à l'application
2236            $this->login("instr", "instr");
2237            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2238            $this->verifyNoErrors();
2239            // On clique sur le lien "Mes encours" dans le menu
2240            $this->byLinkText("Mes Encours")->click();
2241            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2242            $this->verifyNoErrors();
2243            sleep(1);
2244            //On cherche le dossier d'instruction
2245            $this->byClassName("champFormulaire")->value(str_replace(" ", "", $dossier));
2246            // On valide la recherche
2247            $this->byId("f1")->submit();
2248            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2249            $this->verifyNoErrors();
2250            // On clique sur le dossier dernièrement créé
2251            $this->byLinkText($dossier)->click();
2252            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2253            $this->verifyNoErrors();
2254            $this->verifierEtatDA($dossier,31, "Refusé");
2255            // On se déconnecte
2256            $this->deconnect();
2257            //}}}
2258        }
2259        
2260        /*
2261         * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
2262         * d'instruction
2263         */
2264        public function test_15_envoi_de_message_erp(){
2265            
2266            // On se connecte en tant que "admin"
2267            $this->login("admin", "admin");
2268            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2269            $this->verifyNoErrors();
2270            //On clique sur Paramétrage Dossiers
2271            $this->byLinkText("Paramétrage Dossiers")->click();
2272            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2273            $this->verifyNoErrors();
2274            //On clique sur Service
2275            $this->byLinkText("Événement")->click();
2276            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2277            $this->verifyNoErrors();
2278            //Initialisation de la variable
2279            $evenements = array();
2280            //{{{ Ajout d'événements
2281            //On ajoute trois événements
2282            for ($i = 1 ; $i < 3 ; $i++){
2283                $evenements[] = $this->addEvenement("test_evenement_erp_".$i);
2284            }
2285            //}}}
2286            
2287            //{{{ On change trois variables erp_service_accessibilite,
2288            // erp_service_securite et erp_service_conformite
2289            //On clique sur Administration
2290            $this->byLinkText("Administration")->click();
2291            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2292            $this->verifyNoErrors();
2293            //On clique sur Paramètre
2294            $this->byLinkText("Paramètre")->click();
2295            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2296            $this->verifyNoErrors();
2297            $erp_evenement_accepter_sans_reserve = $this->changeParametreEvenementErp("erp_evenement_accepter_sans_reserve", $evenements[0]);
2298            $erp_evenement_refuser_dossier = $this->changeParametreEvenementErp("erp_evenement_refuser_dossier", $evenements[1]);
2299            $option_referentiel_arrete = $this->changeParametreEvenementErp("option_referentiel_arrete", 'true');
2300            ///}}}
2301            // On se déconnecte
2302            $this->deconnect();
2303            
2304            // On se connecte en tant que "guichet"
2305            $this->login("guichet", "guichet");
2306            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2307            $this->verifyNoErrors();
2308            //{{{On ajoute un dossier d'instruction
2309            //On clique sur Nouveau Dossier
2310            $this->byLinkText("Nouveau Dossier")->click();
2311            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2312            $this->verifyNoErrors();
2313            //On ajoute le dossier
2314            $dossier = $this->addDossierInstruction("1", "1");
2315            //}}}
2316            // On se déconnecte
2317            $this->deconnect();
2318            
2319            // On se connecte en tant que "instr"
2320            $this->login("instr", "instr");
2321            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2322            $this->verifyNoErrors();
2323            //{{{ On ajoute trois événement
2324            //On clique sur Nouveau Dossier
2325            $this->byLinkText("Recherche")->click();
2326            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2327            $this->verifyNoErrors();
2328            //On cherche le dossier d'instruction
2329            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2330            // On valide la recherche
2331            $this->byId("adv-search-submit")->click();
2332            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2333            $this->verifyNoErrors();
2334            //On clique sur le dossier d'instruction
2335            $this->byLinkText($dossier)->click();
2336            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2337            $this->verifyNoErrors();
2338            //On clique sur Modifier
2339            $this->byClassName("edit-16")->click();
2340            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2341            $this->verifyNoErrors();
2342            //On clique sur erp
2343            $this->byId("erp")->click();
2344            //On valide le formulaire
2345            $this->byName("f1")->submit();
2346            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2347            $this->verifyNoErrors();
2348            // On vérifie le message
2349            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
2350            //On clique sur l'onglet instruction
2351            $this->byId("instruction")->click();
2352            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2353            $this->verifyNoErrors();
2354            //On ajoute trois consultations
2355            foreach ($evenements as $value) {
2356                $this->addInstruction($value);
2357            }
2358    
2359            //On clique sur le + du tableau
2360            $this->byClassName("add-16")->click();
2361            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2362            $this->verifyNoErrors();
2363            //On choisit l'événement
2364            $this->select($this->byId("evenement"))->selectOptionByValue(81);
2365            //On valide le formulaire
2366            $this->byName("f2")->submit();
2367            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2368            $this->verifyNoErrors();
2369            // On vérifie que le message de validation est présent
2370            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2371            //On clique sur Retour
2372            $this->byLinkText("Retour")->click();
2373            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2374            $this->verifyNoErrors();
2375            //On clique sur l'instruction
2376            $this->byLinkText("accepter un dossier sans réserve")->click();
2377            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2378            $this->verifyNoErrors();
2379            //On récupère le numéro d'instruction
2380            $instruction = trim($this->byId("instruction")->text());
2381            //On la finalise
2382            $this->byClassName("finalise")->click();
2383            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2384            $this->verifyNoErrors();
2385            // On vérifie que le message de validation est présent
2386            $this->assertContains('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2387            // On se déconnecte
2388            $this->deconnect();
2389            
2390            // On se connecte en tant que "admin"
2391            $this->login("admin", "admin");
2392            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2393            $this->verifyNoErrors();
2394            //On clique sur instruction
2395            $this->byLinkText("Instruction")->click();
2396            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2397            $this->verifyNoErrors();
2398            //On clique sur Recherche
2399            $this->byLinkText("Recherche")->click();
2400            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2401            $this->verifyNoErrors();
2402            //On cherche le dossier d'instruction
2403            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2404            // On valide la recherche
2405            $this->byId("adv-search-submit")->click();
2406            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2407            $this->verifyNoErrors();
2408            //On clique sur le dossier d'instruction
2409            $this->byLinkText($dossier)->click();
2410            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2411            $this->verifyNoErrors();
2412            //On clique sur l'onglet instruction
2413            $this->byId("instruction")->click();
2414            //On clique sur l'instruction accepter un dossier sans réserve
2415            $this->byLinkText("accepter un dossier sans réserve")->click();
2416            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2417            $this->verifyNoErrors();
2418            //On la definalise
2419            $this->byClassName("definalise")->click();
2420            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2421            $this->verifyNoErrors();
2422            // On vérifie que le message de validation est présent
2423            $this->assertContains('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2424            //On clique sur modifier
2425            $this->byCssSelector("#sousform-instruction .edit-16")->click();
2426            sleep(2);
2427            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2428            $this->verifyNoErrors();
2429            //On choisit un signataire Albert Dupont
2430            $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
2431            //On remplit la date de retour sign
2432            $this->byId("date_retour_signature")->value(date('d/m/Y'));
2433            //On valide le formulaire
2434            $this->byName("f2")->submit();
2435            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2436            $this->verifyNoErrors();
2437            // On vérifie que le message de validation est présent
2438            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2439            // On vérifie que le message d'envoi est présent
2440            $this->assertContains('Le message a été transmis au référentiel arrêté.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2441            //}}}
2442            
2443            // On se déconnecte
2444            $this->deconnect();
2445            
2446            // On se connecte en tant que "admin"
2447            $this->login("admin", "admin");
2448            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2449            $this->verifyNoErrors();
2450            //{{{ On remet les valeurs par défaut des paramètres
2451            //On clique sur Administration
2452            $this->byLinkText("Administration")->click();
2453            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2454            $this->verifyNoErrors();
2455            //On clique sur Paramètre
2456            $this->byLinkText("Paramètre")->click();
2457            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2458            $this->verifyNoErrors();
2459            $this->changeParametreEvenementErp("erp_evenement_accepter_sans_reserve", $erp_evenement_accepter_sans_reserve);
2460            $this->changeParametreEvenementErp("erp_evenement_refuser_dossier", $erp_evenement_refuser_dossier);
2461            $this->changeParametreEvenementErp("option_referentiel_arrete", $option_referentiel_arrete);
2462            //}}}
2463            
2464            //On se déconnecte
2465            $this->logout();
2466        }
2467        
2468        /*
2469         * Cette méthode teste l'envoi de message au référentiel ERP lors de la
2470         * modification d'un dossier d'insruction
2471         */
2472        public function test_16_envoi_de_message_erp_dossier_instruction(){
2473            
2474            // On se connecte en tant que "admin"
2475            $this->login("admin", "admin");
2476            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2477            $this->verifyNoErrors();
2478            
2479            //{{{ On change deux variables erp_nature_dat et erp_dossier_nature_pc
2480            //On clique sur Administration
2481            $this->byLinkText("Administration")->click();
2482            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2483            $this->verifyNoErrors();
2484            //On clique sur Paramètre
2485            $this->byLinkText("Paramètre")->click();
2486            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2487            $this->verifyNoErrors();
2488            //On change la valeur des paramètres
2489            $erp_nature_dat = $this->changeParametreEvenementErp("erp_nature_dat", "AT");
2490            $erp_dossier_nature_pc = $this->changeParametreEvenementErp("erp_dossier_nature_pc", "PCI");
2491            //}}}
2492            // On se déconnecte
2493            $this->deconnect();
2494            
2495            //{{{Ajout d'un dossier AT par le guichet unique
2496            // On se connecte en tant que "guichet"
2497            $this->login("guichet", "guichet");
2498            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2499            $this->verifyNoErrors();
2500            //On clique sur Nouveau Dossier
2501            $this->byLinkText("Nouveau Dossier")->click();
2502            //On ajoute un dossier d'instruction de type AT
2503            $dossier = $this->addDossierInstruction(8, 8);
2504            //}}}
2505            // On se déconnecte
2506            $this->deconnect();
2507            
2508            // On se connecte en tant que "instr"
2509            $this->login("instr", "instr");
2510            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2511            $this->verifyNoErrors();
2512            //{{{On change le dossier en a été qualifié
2513            //On clique sur Recherche
2514            $this->byLinkText("Recherche")->click();
2515            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2516            $this->verifyNoErrors();
2517            //On cherche le dossier d'instruction
2518            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2519            // On valide la recherche
2520            $this->byId("adv-search-submit")->click();
2521            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2522            $this->verifyNoErrors();
2523            //On clique sur le dossier d'instruction
2524            $this->byLinkText($dossier)->click();
2525            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2526            $this->verifyNoErrors();
2527            //On clique sur modifier
2528            $this->byClassName("edit-16")->click();
2529            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2530            $this->verifyNoErrors();
2531            //On décoche à qualifier
2532            $this->byId("a_qualifier")->click();
2533            //On valide le formulaire
2534            $this->byName("f1")->submit();
2535            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2536            $this->verifyNoErrors();
2537            // On vérifie que le message de validation est présent
2538            $this->assertContains('Vos modifications ont bien été enregistrées.',
2539                $this->byCssSelector(".message .text")->text());
2540            // On vérifie que le message d'envoi est présent
2541            $this->assertContains('Le message a été transmis au référentiel ERP.',
2542                $this->byCssSelector(".message .text")->text());
2543            //}}}
2544            // On se déconnecte
2545            $this->deconnect();
2546            
2547            //{{{Ajout d'un dossier PC par le guichet unique
2548            // On se connecte en tant que "guichet"
2549            $this->login("guichet", "guichet");
2550            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2551            $this->verifyNoErrors();
2552            //On clique sur Nouveau Dossier
2553            $this->byLinkText("Nouveau Dossier")->click();
2554            //On ajoute un dossier d'instruction de type AT
2555            $dossier = $this->addDossierInstruction(1, 1);
2556            //}}}
2557            // On se déconnecte
2558            $this->deconnect();
2559            
2560            // On se connecte en tant que "instr"
2561            $this->login("instr", "instr");
2562            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2563            $this->verifyNoErrors();
2564            //{{{On change le dossier en ERP
2565            //On clique sur Recherche
2566            $this->byLinkText("Recherche")->click();
2567            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2568            $this->verifyNoErrors();
2569            //On cherche le dossier d'instruction
2570            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2571            // On valide la recherche
2572            $this->byId("adv-search-submit")->click();
2573            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2574            $this->verifyNoErrors();
2575            //On clique sur le dossier d'instruction
2576            $this->byLinkText($dossier)->click();
2577            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2578            $this->verifyNoErrors();
2579            //On clique sur modifier
2580            $this->byClassName("edit-16")->click();
2581            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2582            $this->verifyNoErrors();
2583            //On décoche à qualifier
2584            $this->byId("a_qualifier")->click();
2585            //On coche ERP
2586            $this->byId("erp")->click();
2587            //On valide le formulaire
2588            $this->byName("f1")->submit();
2589            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2590            $this->verifyNoErrors();
2591            // On vérifie que le message de validation est présent
2592            $this->assertContains('Vos modifications ont bien été enregistrées.',
2593                $this->byCssSelector(".message .text")->text());
2594            // On vérifie que le message d'envoi est présent
2595            $this->assertContains('Le message a été transmis au référentiel ERP.',
2596                $this->byCssSelector(".message .text")->text());
2597            //}}}
2598            // On se déconnecte
2599            $this->deconnect();
2600            
2601            // On se connecte en tant que "admin"
2602            $this->login("admin", "admin");
2603            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2604            $this->verifyNoErrors();
2605            
2606            //{{{ On change deux variables erp_nature_dat et erp_dossier_nature_pc
2607            //On clique sur Administration
2608            $this->byLinkText("Administration")->click();
2609            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2610            $this->verifyNoErrors();
2611            //On clique sur Paramètre
2612            $this->byLinkText("Paramètre")->click();
2613            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2614            $this->verifyNoErrors();
2615            //On change la valeur des paramètres
2616            $this->changeParametreEvenementErp("erp_nature_dat", $erp_nature_dat);
2617            $this->changeParametreEvenementErp("erp_dossier_nature_pc", $erp_dossier_nature_pc);
2618            //}}}
2619            
2620            //On se déconnecte
2621            $this->logout();
2622        }
2623    
2624        /**
2625         * test d'annulation d'un DA.
2626         */
2627        function test_17_di_annulation() {
2628            // On se connecte en tant que "admin"
2629            $this->login("admin", "admin");
2630            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2631            $this->verifyNoErrors();
2632            
2633            //On clique sur Administration
2634            $this->byLinkText("Paramétrage Dossiers")->click();
2635            // Ajout d'un type de DI ANNULATION
2636            $this->byLinkText("Type DI")->click();
2637            $this->byCssSelector(".add-16")->click();
2638            $this->byId("code")->value('ANNUL');
2639            $this->byId("libelle")->value('Demande d\'annulation');
2640            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue('1');
2641            $this->byId('suffixe')->click();
2642            $this->select($this->byName("mouvement_sitadel"))->selectOptionByValue('SUPPRESSION');
2643            // On clique sur ajouter
2644            $this->byXPath("//input[@value='Ajouter']")->click();
2645            // On vérifie qu'il n'y ait pas d'erreur
2646            $this->verifynoerrors();
2647            // On vérifie que le message de validation est présent
2648            $this->assertContains('Vos modifications ont bien été enregistrées.',
2649                $this->byCssSelector(".message .text")->text());
2650            //On clique sur le bouton retour
2651            $this->byLinkText("Retour")->click();
2652            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2653            $this->verifyNoErrors();
2654            //On saisie le nom due l'événement dans la recherche simple
2655            $this->byClassName("champFormulaire")->value("ANNUL");
2656            //On valide la recherche
2657            $this->byName('s1')->submit();
2658            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2659            $this->verifyNoErrors();
2660            //On clique sur l'événement
2661            $this->byLinkText("ANNUL")->click();
2662            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2663            $this->verifyNoErrors();
2664            // Récupération de l'id du type de DI
2665            $idDIAnnul = $this->byId("dossier_instruction_type")->text();
2666            // Ajout d'un type de demande ANNULATION
2667            $this->byLinkText("Type")->click();
2668            $this->byCssSelector(".add-16")->click();
2669            $this->byId("code")->value('ANNUL');
2670            $this->byId("libelle")->value('Demande d\'annulation');
2671            $this->select($this->byName("groupe"))->selectOptionByValue('1');
2672            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue('1');
2673            $this->select($this->byName("demande_nature"))->selectOptionByValue('2');
2674            $this->select($this->byName("etats_autorises[]"))
2675                ->selectOptionByValue("notifier");
2676            $this->select($this->byName("contraintes"))->selectOptionByValue('avec_recup');
2677            $this->select($this->byName("dossier_instruction_type"))->selectOptionByValue($idDIAnnul);
2678            $this->select($this->byName("evenement"))->selectOptionByValue('25');
2679            // On clique sur ajouter
2680            $this->byXPath("//input[@value='Ajouter']")->click();
2681            // On vérifie qu'il n'y ait pas d'erreur
2682            $this->verifynoerrors();
2683            // On vérifie que le message de validation est présent
2684            $this->assertContains('Vos modifications ont bien été enregistrées.',
2685                $this->byCssSelector(".message .text")->text());
2686            //On clique sur le bouton retour
2687            $this->byLinkText("Retour")->click();
2688            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2689            $this->verifyNoErrors();
2690            //On saisie le nom due l'événement dans la recherche simple
2691            $this->byClassName("champFormulaire")->value("ANNUL");
2692            //On valide la recherche
2693            $this->byName('s1')->submit();
2694            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2695            $this->verifyNoErrors();
2696            //On clique sur l'événement
2697            $this->byLinkText("ANNUL")->click();
2698            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2699            $this->verifyNoErrors();
2700            // Récupération de l'id de la demande
2701            $idDemandeAnnul = $this->byId("demande_type")->text();
2702            // Modification de l'action d'abandon de dossier
2703            $this->byLinkText("Action")->click();
2704            // On vérifie qu'il n'y ait pas d'erreur
2705            $this->verifynoerrors();
2706            // Modification de l'action d'abandon de dossier
2707            $this->byLinkText("abandon")->click();
2708            // Modification de l'action d'abandon de dossier
2709            $this->byCssSelector(".edit-16")->click();
2710            // On vérifie qu'il n'y ait pas d'erreur
2711            $this->verifynoerrors();
2712            $this->byId("regle_avis")->clear();
2713            $this->byId("regle_avis")->value('avis_decision');
2714            $this->byId("regle_date_decision")->clear();
2715            $this->byId("regle_date_decision")->value('date_evenement');
2716            // On clique sur ajouter
2717            $this->byXPath("//input[@value='Modifier']")->click();
2718            // On vérifie qu'il n'y ait pas d'erreur
2719            $this->verifynoerrors();
2720            // On vérifie que le message de validation est présent
2721            $this->assertContains('Vos modifications ont bien été enregistrées.',
2722                $this->byCssSelector(".message .text")->text());
2723            // On se déconnecte
2724            $this->deconnect();
2725            // On se connecte en tant que "admin"
2726            $this->login("guichet", "guichet");
2727            //On clique sur le menu des instructions
2728            $this->byLinkText("Nouveau Dossier")->click();
2729            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2730            $this->verifyNoErrors();
2731            // Création d'un DI
2732            $dossier = $this->addDossierInstruction(1, 1, "test annulation");
2733            // On se déconnecte
2734            $this->deconnect();
2735            // On se connecte en tant que "instr"
2736            $this->login("instr", "instr");
2737            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2738            $this->verifyNoErrors();
2739            // On clique sur le lien "Mes encours" dans le menu
2740            $this->byLinkText("Recherche")->click();
2741            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2742            $this->verifyNoErrors();
2743            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2744            $this->byName("advanced-search-submit")->click();
2745            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2746            $this->verifyNoErrors();
2747            // On clique sur le dossier dernièrement créé
2748            $this->byLinkText($dossier)->click();
2749            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2750            $this->verifyNoErrors();
2751            // On clique sur l'onglet "Instruction"
2752            $this->byId("dossier_autorisation")->click();
2753            sleep(1);
2754            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2755            $this->verifyNoErrors();
2756            // Verification de l'état du DA correspondant
2757            $this->assertContains('En cours', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2758            // On se déconnecte
2759            $this->deconnect();
2760            // On se connecte en tant que "guichet"
2761            $this->login("guichet", "guichet");
2762            //On clique sur le menu des instructions
2763            $this->byLinkText("Dossier En Cours")->click();
2764            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2765            $this->verifyNoErrors();
2766            // Création d'un DI
2767            $dossier = $this->addDossierInstruction(
2768                1,
2769                $idDemandeAnnul,
2770                "test annulation",
2771                2,
2772                $dossier,
2773                false);
2774            // On se déconnecte
2775            $this->deconnect();
2776            // On se connecte en tant que "instr"
2777            $this->login("instr", "instr");
2778            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2779            $this->verifyNoErrors();
2780            // On clique sur le lien "Mes encours" dans le menu
2781            $this->byLinkText("Recherche")->click();
2782            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2783            $this->verifyNoErrors();
2784            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2785            $this->byName("advanced-search-submit")->click();
2786            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2787            $this->verifyNoErrors();
2788            // On clique sur le dossier dernièrement créé
2789            $this->byLinkText($dossier)->click();
2790            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2791            $this->verifyNoErrors();
2792            // On clique sur l'onglet "Instruction"
2793            $this->byId("dossier_autorisation")->click();
2794            sleep(1);
2795            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2796            $this->verifyNoErrors();
2797            // Verification de l'état du DA correspondant
2798            $this->assertContains('Abandonné', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2799            //On se déconnecte
2800            $this->logout();
2801        }
2802            
2803      /**      /**
2804       * Ajout d'un dossier d'instruction par le guichet unique       * Ajout d'un dossier d'instruction par le guichet unique
# Line 1861  class Instruction extends Base2TestCase Line 2810  class Instruction extends Base2TestCase
2810       * @return le numéro de dossier d'instruction qui vient d'être créé       * @return le numéro de dossier d'instruction qui vient d'être créé
2811       */       */
2812      public function addDossierInstruction($dossier_autorisation_type_detaille,      public function addDossierInstruction($dossier_autorisation_type_detaille,
2813          $demande_type, $nom_petit = "test recopie",  $type = 1, $dossier = "" ){          $demande_type, $nom_petit = "test recopie",  $type = 1, $dossier = "",
2814            $petit = true){
2815                    
2816          if ($type===1){          if ($type===1){
2817              //On choisit le type détaillé de dossier d'autorisation              //On choisit le type détaillé de dossier d'autorisation
# Line 1882  class Instruction extends Base2TestCase Line 2832  class Instruction extends Base2TestCase
2832          }          }
2833          //On choisit le type de demande          //On choisit le type de demande
2834          $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);          $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
2835          //On clique sur "Saisir le pétitionnaire principal"          if($petit) {
2836          $this->byId("add_petitionnaire_principal")->click();              //On clique sur "Saisir le pétitionnaire principal"
2837          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché              $this->byId("add_petitionnaire_principal")->click();
2838          $this->verifyNoErrors();              // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2839          //On saisie le nom du pétitionnaire principal              $this->verifyNoErrors();
2840          $this->byId("particulier_nom")->value($nom_petit);              //On saisie le nom du pétitionnaire principal
2841          // On clique sur ajouter              $this->byId("particulier_nom")->value($nom_petit);
2842          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);              // On clique sur ajouter
2843          // On vérifie qu'il n'y ait pas d'erreur              $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
2844          $this->verifynoerrors();              // On vérifie qu'il n'y ait pas d'erreur
2845          //On vérifie que le pétitionnaire s'est bien ajouté              $this->verifynoerrors();
2846          // On vérifie le message              //On vérifie que le pétitionnaire s'est bien ajouté
2847          $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());              // On vérifie le message
2848          // On clique sur le bouton retour              $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
2849          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);              // On clique sur le bouton retour
2850          // On vérifie que le text est présent              $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
2851          $this->assertContains($nom_petit,$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());              // On vérifie que le text est présent
2852                $this->assertContains($nom_petit,$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
2853            }
2854          // On clique sur ajouter          // On clique sur ajouter
2855          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
2856          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 1907  class Instruction extends Base2TestCase Line 2859  class Instruction extends Base2TestCase
2859          $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());          $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
2860          //On récupère le numéro de dossier d'instruction créé          //On récupère le numéro de dossier d'instruction créé
2861          if ($type===1){          if ($type===1){
2862              preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);              preg_match('/(PC|AT)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2863          }          }
2864          elseif ($type===2){          elseif ($type===2){
2865              preg_match('/(PC)[0-9 ]*(DT01)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);              preg_match('/(PC|AT)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2866          }          }
2867          else{          else{
2868              preg_match('/(PC)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);              preg_match('/(PC|AT)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2869          }          }
2870          return $dossier[0];          return $dossier[0];
2871      }      }
2872    
2873        /*
2874         * Ajoute un événement
2875         * @param $libelle le libelle de l'événement
2876         *
2877         * @return l'identifiant de l'événement
2878         */
2879        private function addEvenement($libelle){
2880            
2881            //On clique sur le + du tableau
2882            $this->byClassName("add-16")->click();
2883            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2884            $this->verifyNoErrors();
2885            //On remplit les champs
2886            $this->byId("libelle")->value($libelle);
2887            $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))
2888                ->selectOptionByValue("notifier");
2889            $this->select($this->byName("dossier_instruction_type[]"))
2890                ->selectOptionByValue("1");
2891            //On valide le formulaire
2892            $this->byName('f1')->submit();
2893            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2894            $this->verifyNoErrors();
2895            // On vérifie que le message de validation est présent
2896            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
2897            //On clique sur le bouton retour
2898            $this->byLinkText("Retour")->click();
2899            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2900            $this->verifyNoErrors();
2901            //On saisie le nom due l'événement dans la recherche simple
2902            $this->byClassName("champFormulaire")->value($libelle);
2903            //On valide la recherche
2904            $this->byName('s1')->submit();
2905            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2906            $this->verifyNoErrors();
2907            //On clique sur l'événement
2908            $this->byLinkText($libelle)->click();
2909            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2910            $this->verifyNoErrors();
2911            //On récupère l'identifiant
2912            $evenementId = trim($this->byId("evenement")->text());
2913            //On clique sur le bouton Retour
2914            $this->byLinkText("Retour")->click();
2915            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2916            $this->verifyNoErrors();
2917            //On retourne l'identifiant
2918            return $evenementId;
2919        }
2920    
2921        /*
2922         * Modifie la valeur du paramètre du numéro de'événement pour le message ERP
2923         * @param string $parametre le libelle du paramètre
2924         * @param string $valeur la valeur à renseigner
2925         *
2926         * @return string la valeur précédente du paramètre
2927         */
2928        private function changeParametreEvenementErp($parametre, $valeur){
2929            
2930            //On vide le champ
2931            $this->byClassName("champFormulaire")->clear();
2932            //On saisie le nom de la variable dans la recherche simple
2933            $this->byClassName("champFormulaire")->value($parametre);
2934            //On valide la recherche
2935            $this->byName('s1')->submit();
2936            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2937            $this->verifyNoErrors();
2938            //On clique sur le paramètre
2939            $this->byLinkText($parametre)->click();
2940            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2941            $this->verifyNoErrors();
2942            //On clique sur modifier dans le portail d'action
2943            $this->byClassName("edit-16")->click();
2944            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2945            $this->verifyNoErrors();
2946            //On récupère la valeur actuelle du paramètre
2947            $parametre = trim($this->byId("valeur")->attribute('value'));
2948            //On vide le champ
2949            $this->byId("valeur")->clear();
2950            //On change la valeur du paramètre
2951            $this->byId("valeur")->value($valeur);
2952            //On valide le formulaire
2953            $this->byName('f1')->submit();
2954            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2955            $this->verifyNoErrors();
2956            // On vérifie que le message de validation est présent
2957            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
2958            //On clique sur le bouton retour
2959            $this->byLinkText("Retour")->click();
2960            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2961            $this->verifyNoErrors();
2962            //On clique sur le bouton retour
2963            $this->byLinkText("Retour")->click();
2964            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2965            $this->verifyNoErrors();
2966            //On retourne la valeur
2967            return $parametre;
2968        }
2969    
2970        /*
2971         * Ajoute une instruction
2972         * @param int $service l'identifiant du service
2973         */
2974        private function addInstruction($evenement, $erp = true){
2975            
2976            //On clique sur le + du tableau
2977            $this->byClassName("add-16")->click();
2978            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2979            $this->verifyNoErrors();
2980            //On choisit l'événement
2981            $this->select($this->byId("evenement"))->selectOptionByValue($evenement);
2982            //On valide le formulaire
2983            $this->byName("f2")->submit();
2984            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2985            $this->verifyNoErrors();
2986            // On vérifie que le message de validation est présent
2987            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2988            if($erp) {
2989                // On vérifie que le message d'envoi est présent
2990                $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2991            }
2992            //On clique sur le bouton retour
2993            $this->byLinkText("Retour")->click();
2994            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2995            $this->verifyNoErrors();
2996        }
2997    
2998        /**
2999         * Permet de vérifier l'état d'un DA en fonction de l'état de ses DI.
3000         * @param  string  $dossier numéro de dossier
3001         * @param  integer $event   numéro d'événement
3002         * @param  string  $etat    état du DA
3003         */
3004        private function verifierEtatDA($dossier, $event, $etat) {
3005            // On clique sur l'onglet "DA"
3006            $this->byId("dossier_autorisation")->click();
3007            sleep(1);
3008            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
3009            $this->verifyNoErrors();
3010            $this->assertContains('En cours', $this->byCssSelector("#sousform-dossier_autorisation")->text());
3011            // retour sur l'ajout d'événement
3012            $this->byId("instruction")->click();
3013            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
3014            $this->verifyNoErrors();
3015            $this->addInstruction($event, false);
3016            // On clique sur l'onglet "DA"
3017            $this->byId("dossier_autorisation")->click();
3018            sleep(1);
3019            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
3020            $this->verifyNoErrors();
3021            $this->assertContains($etat, $this->byCssSelector("#sousform-dossier_autorisation")->text());
3022        }
3023  }  }
3024    
3025  ?>  ?>

Legend:
Removed from v.2815  
changed lines
  Added in v.3325

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26