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

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

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

revision 2204 by softime, Fri Aug 30 15:30:52 2013 UTC revision 2676 by softime, Tue Jan 7 17:54:58 2014 UTC
# Line 14  require_once "base.php"; Line 14  require_once "base.php";
14   */   */
15  class GuichetUnique extends Base2TestCase {  class GuichetUnique extends Base2TestCase {
16    
17        // Liste des utilisateurs
18        var $listUtlisateurs = array(
19                array(
20                    "login" => "guichet",
21                    "mdp" => "guichet"
22                ),
23                array(
24                    "login" => "adminfonct",
25                    "mdp" => "adminfonct"
26                ),
27            );
28    
29      /**      /**
30       * Test l'ajout d'une demande       * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
31         * entrée de menu ne génère pas une erreur de base de données
32       */       */
33      public function testAjoutDemandeInitial() {      // Fonction privé
34        private function ouvertureMenu($utilisateur) {
35          // On se connecte à l'application          // On se connecte
36          $this->login("guichet", "guichet");          $this->login($utilisateur["login"], $utilisateur["mdp"]);
37          // On clique sur le menu "Nouveau Dossier"          // Ouvre le menu
38            $this->openMenu("Guichet Unique", $utilisateur);
39            // On vérifie le menu "Nouveau Dossier"
40          $this->byLinkText("Nouveau Dossier")->click();          $this->byLinkText("Nouveau Dossier")->click();
41          // On vérifie qu'il n'y ait pas d'erreur          $this->assertContains("Guichet Unique > Nouvelle Demande > Nouveau Dossier",
42          $this->verifynoerrors();              $this->byId("title")->text());
43          // On vérifie le nom de l'onglet          $this->verifyNoErrors();
44          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());          // On vérifie le menu "Dossier En Cours"
45          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"          $this->byLinkText("Dossier En Cours")->click();
46          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");          $this->assertContains("Guichet Unique > Nouvelle Demande > Dossier En Cours",
47          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"              $this->byId("title")->text());
48          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");          $this->verifyNoErrors();
49          // On clique pour ajouter un pétitionnaire principale          // On vérifie le menu "Autre Dossier"
50          $this->byId("add_petitionnaire_principal")->click();          $this->byLinkText("Autre Dossier")->click();
51          // On remplit le champ          $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier",
52          $this->byId("particulier_nom")->value("DURAND");              $this->byId("title")->text());
53          // On remplit le champ          $this->verifyNoErrors();
54          $this->byId("particulier_prenom")->value("MICKAEL");          // On vérifie le menu "Récépissé"
55          // On remplit le champ          $this->byLinkText("Récépissé")->click();
56          $this->byId("particulier_date_naissance")->value("03/01/1956");          $this->assertContains("Guichet Unique > Nouvelle Demande > Récépissé",
57          // On remplit le champ              $this->byId("title")->text());
58          $this->byId("particulier_commune_naissance")->value("LILLE");          $this->verifyNoErrors();
59          // On remplit le champ          // On vérifie le menu "Pétitionnaire Fréquent"
60          $this->byId("particulier_departement_naissance")->value("NORD");          $this->byLinkText("Pétitionnaire Fréquent")->click();
61          // On remplit le champ          $this->assertContains("Guichet Unique > Nouvelle Demande > Pétitionnaire Fréquent",
62          $this->byId("numero")->value("12");              $this->byId("title")->text());
63          // On remplit le champ          $this->verifyNoErrors();
64          $this->byId("voie")->value("RUE DE LA LOI");          // On vérifie le menu "Registre"
65          // On remplit le champ          $this->byLinkText("Registre")->click();
66          $this->byId("complement")->value("APPT 12");          $this->assertContains("Guichet Unique > Affichage Réglementaire > Registre",
67          // On remplit le champ              $this->byId("title")->text());
68          $this->byId("localite")->value("MARSEILLE");          $this->verifyNoErrors();
69          // On remplit le champ          // On vérifie le menu "Attestation"
70          $this->byId("code_postal")->value("13012");          $this->byLinkText("Attestation")->click();
71          // On remplit le champ          $this->assertContains("Guichet Unique > Affichage Réglementaire > Attestation",
72          $this->byId("telephone_fixe")->value("0404040404");              $this->byId("title")->text());
73          // On clique sur ajouter          $this->verifyNoErrors();
         $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie le message  
         $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());  
         // On clique sur le bouton retour  
         $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);  
         // On vérifie que le text est présent  
         $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());  
         // On clique sur ajouter  
         $this->byXPath("//input[@value='Ajouter']")->click();  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie le message  
         $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector("BODY")->text());  
         // On clique  
         $this->byCssSelector("a.lien")->click();sleep(5);  
         // Liste les fenêtres  
         $windows = $this->windowHandles();  
         // Change la fenêtre  
         $this->window($windows[1]);  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie que le text est présent  
         $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());  
         // On ferme la fenêtre  
         $this->closeWindow();  
         // On change le focus de la fenêtre  
         $this->window($windows[0]);  
         // On clique sur le bouton retour  
         $this->byLinkText("Retour")->click();  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie que le répertoire s'est crée  
         $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));  
74          // On se déconnecte          // On se déconnecte
75          $this->logout();          $this->deconnect();
76      }      }
77            // Fonction public
78        public function test01OuvertureMenu() {
79            // Récupération des utilisateurs
80            $utilisateurs = $this->listUtlisateurs;
81            // Pour chaque utilisateur on lance le test
82            foreach ($utilisateurs as $utilisateur) {
83                //
84                $this->ouvertureMenu($utilisateur);
85            }
86            // On vérifie la déconnexion
87            $this->verifyDeconnect();
88        }
89    
90      /**      /**
91       * Test l'ajout d'une demande initial en utilisant les références cadastrales       * Test l'ajout d'une demande
      * pour récupérer l'adresse  
92       */       */
93      public function testAjoutDemandeInitialReferenceCadastrale() {      // Fonction privé
94        private function ajoutDemandeInitial($utilisateur) {
95    
96          // On se connecte à l'application          // On se connecte à l'application
97          $this->login("guichet", "guichet");          $this->login($utilisateur["login"], $utilisateur["mdp"]);
98            // Ouvre le menu
99            $this->openMenu("Guichet Unique", $utilisateur);
100          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
101          $this->byLinkText("Nouveau Dossier")->click();          $this->byLinkText("Nouveau Dossier")->click();
102          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 113  class GuichetUnique extends Base2TestCas Line 107  class GuichetUnique extends Base2TestCas
107          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
108          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
109          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
         //On saisie les références cadastrales  
         $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("123");  
         $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("DC");  
         $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("0015");  
         //On clique sur le bouton de recherche "Cadastrale = > Adresse"  
         $this->byId("cad-adr-them")->click();  
         //On verifie l'adresse  
         $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());  
         $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());  
         $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());  
         $this->assertEquals("Marseille", $this->byId("terrain_adresse_localite")->value());  
         //On saisie les références cadastrales  
         $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();  
         $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();  
         $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();  
         //On clique sur le bouton de recherche "Cadastrale = > Adresse"  
         $this->byId("cad-adr-them")->click();  
         //On valide le message d'erreur  
         $this->assertEquals('aucune donnée trouvée', $this->alertText());  
         $this->acceptAlert();  
110          // On clique pour ajouter un pétitionnaire principale          // On clique pour ajouter un pétitionnaire principale
111          $this->byId("add_petitionnaire_principal")->click();          $this->byId("add_petitionnaire_principal")->click();
112          // On remplit le champ          // On remplit le champ
# Line 162  class GuichetUnique extends Base2TestCas Line 136  class GuichetUnique extends Base2TestCas
136          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
137          $this->verifynoerrors();          $this->verifynoerrors();
138          // On vérifie le message          // On vérifie le message
139          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
140          // On clique sur le bouton retour          // On clique sur le bouton retour
141          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
142          // On vérifie que le text est présent          // On vérifie que le text est présent
143          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
144          // On clique sur ajouter          // On clique sur ajouter
145          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
146          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
147          $this->verifynoerrors();          $this->verifynoerrors();
148          // On vérifie le message          // On vérifie le message
149          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
150            // Récupération du numéro de dossier
151            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
152            $dossier_libelle = $matches[0];
153            $dossier = str_replace(' ', '', $dossier_libelle);
154            $dossier_dir = substr_replace($dossier, '.', -2, -3);
155          // On clique          // On clique
156          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a.lien")->click();sleep(5);
157          // Liste les fenêtres          // Liste les fenêtres
# Line 192  class GuichetUnique extends Base2TestCas Line 171  class GuichetUnique extends Base2TestCas
171          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
172          $this->verifynoerrors();          $this->verifynoerrors();
173          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
174          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
175          // On se déconnecte          // On se déconnecte
176          $this->logout();          $this->deconnect();
177      }      }
178            // Fonction public
179        public function test02AjoutDemandeInitial() {
180            // Récupération des utilisateurs
181            $utilisateurs = $this->listUtlisateurs;
182            // Pour chaque utilisateur on lance le test
183            foreach ($utilisateurs as $utilisateur) {
184                //
185                $this->ajoutDemandeInitial($utilisateur);
186            }
187            // On vérifie la déconnexion
188            $this->verifyDeconnect();
189        }
190    
191      /**      /**
192       * Test l'ajout d'une demande avec un instructeur       * Test l'ajout d'une demande et de création d'une nouvelle sequence
193       */       */
194      public function testAjoutDemandeInitialInstructeur() {      public function testAjoutDemandeNouvelleSequence() {
195    
196          // On se connecte à l'application          // On se connecte à l'application
197          $this->login("instr", "instr");          $this->login("guichet", "guichet");
198          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
199          $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();          $this->byLinkText("Nouveau Dossier")->click();
200          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
201          $this->verifynoerrors();          $this->verifynoerrors();
202          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
# Line 214  class GuichetUnique extends Base2TestCas Line 205  class GuichetUnique extends Base2TestCas
205          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
206          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
207          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
208            // Modification de la date
209            $this->byId("date_demande")->clear();
210            $this->acceptAlert();
211            $this->byId("date_demande")->value("10/10/2014");
212          // On clique pour ajouter un pétitionnaire principale          // On clique pour ajouter un pétitionnaire principale
213          $this->byId("add_petitionnaire_principal")->click();          $this->byId("add_petitionnaire_principal")->click();
214          // On remplit le champ          // On remplit le champ
# Line 243  class GuichetUnique extends Base2TestCas Line 238  class GuichetUnique extends Base2TestCas
238          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
239          $this->verifynoerrors();          $this->verifynoerrors();
240          // On vérifie le message          // On vérifie le message
241          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("form div.message")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
242          // On clique sur le bouton retour          // On clique sur le bouton retour
243          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
244          // On vérifie que le text est présent          // On vérifie que le text est présent
245          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
246          // On clique sur ajouter          // On clique sur ajouter
247          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
248          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
249          $this->verifynoerrors();          $this->verifynoerrors();
250          // On vérifie le message          // On vérifie le message
251          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector("form div.message")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 14 00003[\s\S]*$/",$this->byCssSelector(".message")->text());
         // On clique  
         $this->byCssSelector("a.lien")->click();sleep(5);  
         // Liste les fenêtres  
         $windows = $this->windowHandles();  
         // Change la fenêtre  
         $this->window($windows[1]);  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie que le text est présent  
         $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());  
         // On ferme la fenêtre  
         $this->closeWindow();  
         // On change le focus de la fenêtre  
         $this->window($windows[0]);  
         // On clique sur le bouton retour  
         $this->byLinkText("Retour")->click();  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie que le répertoire s'est crée  
         $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300002.P0"));  
252          // On se déconnecte          // On se déconnecte
253          $this->logout();          $this->logout();
254      }      }
# Line 283  class GuichetUnique extends Base2TestCas Line 258  class GuichetUnique extends Base2TestCas
258       */       */
259      public function testAjoutDemandeModification() {      public function testAjoutDemandeModification() {
260    
261            // Instancie la timezone
262            date_default_timezone_set('Europe/Paris');
263    
264            // Année en cours
265            $annee = date("y");
266    
267          /// On se connecte à l'application en tant qu'instructeur          /// On se connecte à l'application en tant qu'instructeur
268          // pour ajouter une instruction arrêté sur le dossier crée          // pour ajouter une instruction arrêté sur le dossier crée
269          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 291  class GuichetUnique extends Base2TestCas Line 272  class GuichetUnique extends Base2TestCas
272          // 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é
273          $this->verifyNoErrors();          $this->verifyNoErrors();
274          // On clique sur le dossier          // On clique sur le dossier
275          $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();          $this->byId("action-tab-dossier_instruction-left-consulter-PC013055".$annee."00001P0")->click();
276          // 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é
277          $this->verifyNoErrors();          $this->verifyNoErrors();
278          // On clique sur l'onglet instruction          // On clique sur l'onglet instruction
# Line 325  class GuichetUnique extends Base2TestCas Line 306  class GuichetUnique extends Base2TestCas
306          // On se connecte en tant que guichet unique          // On se connecte en tant que guichet unique
307          $this->login("guichet", "guichet");          $this->login("guichet", "guichet");
308          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
309          $this->byLinkText("Dossier Existant")->click();          $this->byLinkText("Autre Dossier")->click();
310          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
311          $this->verifynoerrors();          $this->verifynoerrors();
312          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
313          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
314          // On clique pour ajouter une demande au dossier existant          // On clique pour ajouter une demande au dossier existant
315          $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();          $this->byId("action-tab-demande_autre_dossier-left-consulter-PC013055".$annee."00001P0")->click();
316          // 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é
317          $this->verifyNoErrors();          $this->verifyNoErrors();
318          // Vérifie le fil d'Ariane          // Vérifie le fil d'Ariane
319          $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());          $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
320          // On choisis le type de demande          // On choisis le type de demande
321          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
322          // On clique sur ajouter          // On clique sur ajouter
# Line 343  class GuichetUnique extends Base2TestCas Line 324  class GuichetUnique extends Base2TestCas
324          // 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é
325          $this->verifyNoErrors();          $this->verifyNoErrors();
326          // On vérifie le message          // On vérifie le message
327          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
328          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
329          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC013055".$annee."00001.M01"));
         // On se déconnecte  
         $this->logout();  
           
     }  
   
     /**  
      * Test l'ajout d'une demande de modification par un instructeur  
      */  
     public function testAjoutDemandeModificationInstructeur() {  
   
         /// On se connecte à l'application en tant qu'instructeur  
         // pour ajouter une instruction arrêté sur le dossier crée  
         $this->login("instr", "instr");  
         // On clique sur le menu  
         $this->byLinkText("Recherche")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On clique sur le dossier  
         $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On clique sur l'onglet instruction  
         $this->byId("instruction")->click();  
         // On clique sur le + pour ajouter une instruction  
         $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On choisi l'événement  
         $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");  
         // On clique sur le bouton ajouter  
         $this->byXPath("//input[@value='Ajouter']")->click();  
         // On vérifie que l'instruction s'est bien ajouté  
         $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());  
         // On clique sur le bouton retour  
         $this->byCssSelector("#sousform-instruction form a.retour")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On clique sur l'onglet DI  
         $this->byId("main")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // on rafraichis la page  
         $this->refresh();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On vérifie l'état du dossier  
         $this->assertEquals("dossier accepter", $this->byId('etat')->text());  
         // On clique sur le menu  
         $this->byLinkText("Guichet Unique")->click();  
         $this->byLinkText("Dossier Existant")->click();  
         // On vérifie qu'il n'y ait pas d'erreur  
         $this->verifynoerrors();  
         // On vérifie le nom de l'onglet  
         $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());  
         // On clique pour ajouter une demande au dossier existant  
         $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // Vérifie le fil d'Ariane  
         $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001M01", $this->byXPath("//div[3]/div/h2")->text());  
         // On choisis le type de demande  
         $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");  
         // On clique sur ajouter  
         $this->byXPath("//input[@value='Ajouter']")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On vérifie le message  
         $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M02[\s\S]*$/",$this->byCssSelector("BODY")->text());  
         // On vérifie que le répertoire s'est crée  
         $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));  
330          // On se déconnecte          // On se déconnecte
331          $this->logout();          $this->logout();
332                    
# Line 504  class GuichetUnique extends Base2TestCas Line 415  class GuichetUnique extends Base2TestCas
415          $this->window($windows[1]);          $this->window($windows[1]);
416          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
417          $this->verifynoerrors();          $this->verifynoerrors();
418          // On vérifie que le text est présent          // On vérifie que le text est
419            // présent
420          $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
421          // On ferme la fenêtre          // On ferme la fenêtre
422          $this->closeWindow();          $this->closeWindow();
# Line 609  class GuichetUnique extends Base2TestCas Line 521  class GuichetUnique extends Base2TestCas
521          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
522          $this->verifynoerrors();          $this->verifynoerrors();
523          // On vérifie le message          // On vérifie le message
524          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
525          // On clique sur le bouton retour          // On clique sur le bouton retour
526          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
527          // On vérifie que le text est présent          // On vérifie que le text est présent
528          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
529          // On clique sur ajouter          // On clique sur ajouter
530          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
531          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
532          $this->verifynoerrors();          $this->verifynoerrors();
533          // On vérifie le message          // On vérifie le message
534          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
535          // On clique          // On clique
536          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a.lien")->click();sleep(5);
537          // Liste les fenêtres          // Liste les fenêtres
# Line 662  class GuichetUnique extends Base2TestCas Line 574  class GuichetUnique extends Base2TestCas
574          $this->logout();          $this->logout();
575      }      }
576    
577        /**
578         * Active l'option sig avec la valeur nécessaire pour la suite des tests
579         */
580        public function test_active_option_sig() {
581    
582            // On se connecte en tant que "admin"
583            $this->login("admin", "admin");
584            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
585            $this->verifyNoErrors();
586            // On clique sur le lien "Administration" dans le menu
587            $this->byLinkText("Administration")->click();
588            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
589            $this->verifyNoErrors();
590            // // On clique sur le lien "Paramètre" dans le menu
591            $this->byLinkText("Paramètre")->click();
592            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
593            $this->verifyNoErrors();
594            // On remplis le champs de recherche simple
595            $this->byCssSelector("input[name='recherche']")->value('option_sig');
596            // On clique sur le bouton recherche
597            $this->byCssSelector(".ui-button")->click();
598            // On clique sur le résultat
599            $this->byLinkText("option_sig")->click();
600            // On clique sur le bouton "Modifier"
601            $this->byId('action-form-om_parametre-modifier')->click();
602            // On change la valeur par "sig_externe"
603            $this->byId('valeur')->clear();
604            $this->byId('valeur')->value('sig_externe');
605            // On valide la modification
606            $this->byCssSelector("input[value='Modifier']")->click();
607            // On vérifie le message de validation
608            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
609            // On clique sur le bouton 'Retour'
610            $this->byLinkText("Retour")->click();
611            // On vérifie les nouvelles données
612            $this->assertEquals("sig_externe", $this->byId("valeur")->text());
613            // On se déconnecte
614            $this->logout();
615        }
616    
617        /**
618         * Test l'ajout d'une demande initial en utilisant les références cadastrales
619         * pour récupérer l'adresse
620         */
621        public function testAjoutDemandeInitialReferenceCadastrale() {
622    
623            // On se connecte à l'application
624            $this->login("guichet", "guichet");
625            // On clique sur le menu "Nouveau Dossier"
626            $this->byLinkText("Nouveau Dossier")->click();
627            // On vérifie qu'il n'y ait pas d'erreur
628            $this->verifynoerrors();
629            // On vérifie le nom de l'onglet
630            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
631            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
632            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
633            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
634            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
635            // XXX Problème de javascript seulement dans cette fonction
636            // Les alerts ne passent pas lorsque le focus n'est pas sur le
637            // navigateur
638            //On saisie des références cadastrales inccorect
639            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
640            // // On change le focus pour faire apparaitre le message
641            // $this->byId('date_demande')->value(date('d/m/Y'));
642            // sleep(5);
643            // // Message d'erreur concernant le numéro de quartier
644            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
645            // $this->acceptAlert();
646            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
647            // // On change le focus pour faire apparaitre le message
648            // $this->byId('date_demande')->value(date('d/m/Y'));
649            // sleep(5);
650            // // Message d'erreur concernant la section
651            // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
652            // $this->acceptAlert();
653            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
654            // // On change le focus pour faire apparaitre le message
655            // $this->byId('date_demande')->value(date('d/m/Y'));
656            // sleep(5);
657            // // Message d'erreur concernant le numéro de parcelle
658            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
659            // $this->acceptAlert();
660            //On saisie les références cadastrales
661            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
662            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
663            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
664            // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
665            // bon format automatiquement grâce au javascript
666            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("001");
667            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("DC");
668            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("0015");
669            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
670            $this->byId("cad-adr-them")->click();
671            sleep(1);
672            // On vérifie que le format des champs est mise à jour automatiquement
673            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
674            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
675            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
676            //On verifie l'adresse
677            $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());
678            $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());
679            $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());
680            $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());
681            // On valide le formulaire
682            $this->byXPath("//input[@value='Ajouter']")->click();
683            // On vérifie le message d'erreur
684            $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
685            sleep(1);
686            // On vérifie que les références cadastrales soient toujours affiché
687            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
688            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
689            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());        
690            //On saisie les références cadastrales
691            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
692            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
693            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
694            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
695            $this->byId("cad-adr-them")->click();
696            //On valide le message d'erreur
697            $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
698            $this->acceptAlert();
699            // On clique pour ajouter un pétitionnaire principale
700            $this->byId("add_petitionnaire_principal")->click();
701            // On remplit le champ
702            $this->byId("particulier_nom")->value("DURAND");
703            // On remplit le champ
704            $this->byId("particulier_prenom")->value("MICKAEL");
705            // On remplit le champ
706            $this->byId("particulier_date_naissance")->value("03/01/1956");
707            // On remplit le champ
708            $this->byId("particulier_commune_naissance")->value("LILLE");
709            // On remplit le champ
710            $this->byId("particulier_departement_naissance")->value("NORD");
711            // On remplit le champ
712            $this->byId("numero")->value("12");
713            // On remplit le champ
714            $this->byId("voie")->value("RUE DE LA LOI");
715            // On remplit le champ
716            $this->byId("complement")->value("APPT 12");
717            // On remplit le champ
718            $this->byId("localite")->value("MARSEILLE");
719            // On remplit le champ
720            $this->byId("code_postal")->value("13012");
721            // On remplit le champ
722            $this->byId("telephone_fixe")->value("0404040404");
723            // On clique sur ajouter
724            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
725            // On vérifie qu'il n'y ait pas d'erreur
726            $this->verifynoerrors();
727            // On vérifie le message
728            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
729            // On clique sur le bouton retour
730            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
731            // On vérifie que le text est présent
732            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
733            // On clique sur ajouter
734            $this->byXPath("//input[@value='Ajouter']")->click();
735            // On vérifie qu'il n'y ait pas d'erreur
736            $this->verifynoerrors();
737            // On vérifie le message
738            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
739            // Récupération du numéro de dossier
740            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
741            $dossier_libelle = $dossier[0];
742            $dossier = str_replace(' ', '', $dossier_libelle);
743            $dossier_dir = substr_replace($dossier, '.', -2, -3);
744            // On clique
745            $this->byCssSelector("a.lien")->click();sleep(5);
746            // Liste les fenêtres
747            $windows = $this->windowHandles();
748            // Change la fenêtre
749            $this->window($windows[1]);
750            // On vérifie qu'il n'y ait pas d'erreur
751            $this->verifynoerrors();
752            // On vérifie que le text est présent
753            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
754            // On ferme la fenêtre
755            $this->closeWindow();
756            // On change le focus de la fenêtre
757            $this->window($windows[0]);
758            // On clique sur le bouton retour
759            $this->byLinkText("Retour")->click();
760            // On vérifie qu'il n'y ait pas d'erreur
761            $this->verifynoerrors();
762            // On vérifie que le répertoire s'est crée
763            $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
764            // On se déconnecte
765            $this->logout();
766        }
767        
768        /*
769         * Cette fonction va tester l'affectation automatique des instructeurs aux
770         * dossiers d'instruction.
771         * Quatre cas sont possibles :
772         * - Aucun instructeur ne correspond,  ;
773         * - Un instructeur joker correspond,  ;
774         * - Un instructeur correspond, .
775         */
776        function testAffectationAutomatique(){
777            
778            // On se connecte à l'application
779            $this->login("guichet", "guichet");
780            //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
781            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", " -");
782            
783            //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
784            //joker avec seulement le type de dossier d'autorisation détaillé de
785            //renseigné
786            $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
787            
788            //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
789            //correspondant parfaitement aux critères
790            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
791            // On se déconnecte
792            $this->logout();
793        }
794        
795        /**
796         * Ajoute un dossier d'instruction
797         * @param string $reference_cadastrale_quartier Le quartier de la référence
798         *               cadastrale du dossier
799         * @param string $reference_cadastrale_section La section de la référence
800         *               cadastrale du dossier
801         * @param string $reference_cadastrale_parcelle La parcelle de la référence
802         *               cadastrale du dossier
803         * @param string $datd dossier d'autorisation type détaillé
804         * @param string $instructeur le nom de l'instructeur
805         *
806         * @return boolean
807         */
808        function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
809            $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
810            $instructeur){
811            
812            //On affiche le tableau de bord
813            $this->byLinkText("Tableau de bord")->click();
814            // On clique sur le menu "Nouveau Dossier"
815            $this->byLinkText("Nouveau Dossier")->click();
816            // On vérifie qu'il n'y ait pas d'erreur
817            $this->verifynoerrors();
818            // On vérifie le nom de l'onglet
819            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
820            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
821            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
822            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
823            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
824            //On saisie les références cadastrales
825            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
826            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
827            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
828            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
829            $this->byId("cad-adr-them")->click();
830            // On clique pour ajouter un pétitionnaire principale
831            $this->byId("add_petitionnaire_principal")->click();
832            // On remplit le champ
833            $this->byId("particulier_nom")->value("DURAND");
834            // On remplit le champ
835            $this->byId("particulier_prenom")->value("MICKAEL");
836            // On remplit le champ
837            $this->byId("particulier_date_naissance")->value("03/01/1956");
838            // On remplit le champ
839            $this->byId("particulier_commune_naissance")->value("LILLE");
840            // On remplit le champ
841            $this->byId("particulier_departement_naissance")->value("NORD");
842            // On remplit le champ
843            $this->byId("numero")->value("12");
844            // On remplit le champ
845            $this->byId("voie")->value("RUE DE LA LOI");
846            // On remplit le champ
847            $this->byId("complement")->value("APPT 12");
848            // On remplit le champ
849            $this->byId("localite")->value("MARSEILLE");
850            // On remplit le champ
851            $this->byId("code_postal")->value("13012");
852            // On remplit le champ
853            $this->byId("telephone_fixe")->value("0404040404");
854            // On clique sur ajouter
855            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
856            // On vérifie qu'il n'y ait pas d'erreur
857            $this->verifynoerrors();
858            // On vérifie le message
859            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
860            // On clique sur le bouton retour
861            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
862            // On vérifie que le text est présent
863            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
864            // On clique sur ajouter
865            $this->byXPath("//input[@value='Ajouter']")->click();
866            // On vérifie qu'il n'y ait pas d'erreur
867            $this->verifynoerrors();
868            // On vérifie le message
869            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
870            // On clique
871            $this->byCssSelector("a.lien")->click();sleep(5);
872            // Liste les fenêtres
873            $windows = $this->windowHandles();
874            // Change la fenêtre
875            $this->window($windows[1]);
876            // On vérifie qu'il n'y ait pas d'erreur
877            $this->verifynoerrors();
878            // On vérifie que le text est présent
879            $this->assertRegExp("/^[\s\S]*Dossier suivi par  ".$instructeur."[\s\S]*$/",$this->source());
880            // On ferme la fenêtre
881            $this->closeWindow();
882            // On change le focus de la fenêtre
883            $this->window($windows[0]);
884        }
885    
886        /**
887         * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
888         */
889        public function test_autre_dossier() {
890    
891            // On se connecte en tant que "guichet"
892            $this->login("guichet", "guichet");
893            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
894            $this->verifyNoErrors();
895            // On clique sur "Autre Dossier"
896            $this->byLinkText("Autre Dossier")->click();
897            // On vérifie qu'il n'y ait pas d'erreur
898            $this->verifynoerrors();
899            // On vérifie que ledossier qui ne doit pas être dans
900            // "Dossier En Cours" sont ici
901            $this->assertRegExp("/^[\s\S]*PC 013055 14 00001P0[\s\S]*$/",
902                $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
903            // On clique sur "Dossier En Cours"
904            $this->byLinkText("Dossier En Cours")->click();
905            // On vérifie qu'il n'y ait pas d'erreur
906            $this->verifynoerrors();
907            // On vérifie que le dossier précédement contrôlé n'ait pas
908            // affiché
909            $this->assertNotContains("PC 013055 13 00001P0",
910                $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
911            // On se déconnecte
912            $this->logout();
913        }
914    
915        /**
916         * Désactive l'option sig avec la valeur nécessaire
917         */
918        public function test_desactive_option_sig() {
919    
920            // On se connecte en tant que "admin"
921            $this->login("admin", "admin");
922            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
923            $this->verifyNoErrors();
924            // On clique sur le lien "Administration" dans le menu
925            $this->byLinkText("Administration")->click();
926            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
927            $this->verifyNoErrors();
928            // // On clique sur le lien "Paramètre" dans le menu
929            $this->byLinkText("Paramètre")->click();
930            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
931            $this->verifyNoErrors();
932            // On remplis le champs de recherche simple
933            $this->byCssSelector("input[name='recherche']")->value('option_sig');
934            // On clique sur le bouton recherche
935            $this->byCssSelector(".ui-button")->click();
936            // On clique sur le résultat
937            $this->byLinkText("option_sig")->click();
938            // On clique sur le bouton "Modifier"
939            $this->byId('action-form-om_parametre-modifier')->click();
940            // On change la valeur par "aucun"
941            $this->byId('valeur')->clear();
942            $this->byId('valeur')->value('aucun');
943            // On valide la modification
944            $this->byCssSelector("input[value='Modifier']")->click();
945            // On vérifie le message de validation
946            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
947            // On clique sur le bouton 'Retour'
948            $this->byLinkText("Retour")->click();
949            // On vérifie les nouvelles données
950            $this->assertEquals("aucun", $this->byId("valeur")->text());
951            // On se déconnecte
952            $this->logout();
953        }
954  }  }
955    
956  ?>  ?>

Legend:
Removed from v.2204  
changed lines
  Added in v.2676

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26