/[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

trunk/tests/testGuichetUnique.php revision 2313 by softime, Wed Sep 18 15:31:34 2013 UTC branches/3.14.x/tests/testGuichetUnique.php revision 3547 by softime, Tue Jul 7 13:23:49 2015 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         * 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        // Fonction privé
34        private function ouvertureMenu($utilisateur) {
35            // On se connecte
36            $this->login($utilisateur["login"], $utilisateur["mdp"]);
37            // Ouvre le menu
38            $this->openMenu("Guichet Unique", $utilisateur);
39            // On vérifie le menu "Nouveau Dossier"
40            $this->byLinkText("Nouveau Dossier")->click();
41            $this->assertContains("Guichet Unique > Nouvelle Demande > Nouveau Dossier",
42                $this->byId("title")->text());
43            $this->verifyNoErrors();
44            // On vérifie le menu "Dossier En Cours"
45            $this->byLinkText("Dossier En Cours")->click();
46            $this->assertContains("Guichet Unique > Nouvelle Demande > Dossier En Cours",
47                $this->byId("title")->text());
48            $this->verifyNoErrors();
49            // On vérifie le menu "Autre Dossier"
50            $this->byLinkText("Autre Dossier")->click();
51            $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier",
52                $this->byId("title")->text());
53            $this->verifyNoErrors();
54            // On vérifie le menu "Récépissé"
55            $this->byLinkText("Récépissé")->click();
56            $this->assertContains("Guichet Unique > Nouvelle Demande > Récépissé",
57                $this->byId("title")->text());
58            $this->verifyNoErrors();
59            // On vérifie le menu "Pétitionnaire Fréquent"
60            $this->byLinkText("Pétitionnaire Fréquent")->click();
61            $this->assertContains("Guichet Unique > Nouvelle Demande > Pétitionnaire Fréquent",
62                $this->byId("title")->text());
63            $this->verifyNoErrors();
64            // On vérifie le menu "Registre"
65            $this->byLinkText("Registre")->click();
66            $this->assertContains("Guichet Unique > Affichage Réglementaire > Registre",
67                $this->byId("title")->text());
68            $this->verifyNoErrors();
69            // On vérifie le menu "Attestation"
70            $this->byLinkText("Attestation")->click();
71            $this->assertContains("Guichet Unique > Affichage Réglementaire > Attestation",
72                $this->byId("title")->text());
73            $this->verifyNoErrors();
74            // On se déconnecte
75            $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       * Test l'ajout d'une demande
92       */       */
93      public function testAjoutDemandeInitial() {      // 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 34  class GuichetUnique extends Base2TestCas Line 110  class GuichetUnique extends Base2TestCas
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
113            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
114            // On remplit le champ
115          $this->byId("particulier_nom")->value("DURAND");          $this->byId("particulier_nom")->value("DURAND");
116          // On remplit le champ          // On remplit le champ
117          $this->byId("particulier_prenom")->value("MICKAEL");          $this->byId("particulier_prenom")->value("MICKAEL");
# Line 55  class GuichetUnique extends Base2TestCas Line 133  class GuichetUnique extends Base2TestCas
133          $this->byId("code_postal")->value("13012");          $this->byId("code_postal")->value("13012");
134          // On remplit le champ          // On remplit le champ
135          $this->byId("telephone_fixe")->value("0404040404");          $this->byId("telephone_fixe")->value("0404040404");
136            // On remplit le champ
137            $this->byId("fax")->value("0405040404");
138          // On clique sur ajouter          // On clique sur ajouter
139          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
140          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 70  class GuichetUnique extends Base2TestCas Line 150  class GuichetUnique extends Base2TestCas
150          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
151          $this->verifynoerrors();          $this->verifynoerrors();
152          // On vérifie le message          // On vérifie le message
153          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
154            // Récupération du numéro de dossier
155            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
156            $dossier_libelle = $matches[0];
157            $dossier = str_replace(' ', '', $dossier_libelle);
158            $dossier_dir = substr_replace($dossier, '.', -2, -3);
159          // On clique          // On clique
160          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
161          // Liste les fenêtres          // Liste les fenêtres
162          $windows = $this->windowHandles();          $windows = $this->windowHandles();
163          // Change la fenêtre          // Change la fenêtre
# Line 90  class GuichetUnique extends Base2TestCas Line 175  class GuichetUnique extends Base2TestCas
175          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
176          $this->verifynoerrors();          $this->verifynoerrors();
177          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
178          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
179          // On se déconnecte          // On se déconnecte
180          $this->logout();          $this->deconnect();
181      }      }
182            // Fonction public
183        public function test02AjoutDemandeInitial() {
184            // Récupération des utilisateurs
185            $utilisateurs = $this->listUtlisateurs;
186            // Pour chaque utilisateur on lance le test
187            foreach ($utilisateurs as $utilisateur) {
188                //
189                $this->ajoutDemandeInitial($utilisateur);
190            }
191            // On vérifie la déconnexion
192            $this->verifyDeconnect();
193        }
194    
195      /**      /**
196       * Test l'ajout d'une demande avec un instructeur       * Test l'ajout d'une demande et de création d'une nouvelle sequence
197       */       */
198      public function testAjoutDemandeInitialInstructeur() {      public function testAjoutDemandeNouvelleSequence() {
199    
200          // On se connecte à l'application          // On se connecte à l'application
201          $this->login("instr", "instr");          $this->login("guichet", "guichet");
202          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
203          $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();          $this->byLinkText("Nouveau Dossier")->click();
204          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
205          $this->verifynoerrors();          $this->verifynoerrors();
206          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
# Line 112  class GuichetUnique extends Base2TestCas Line 209  class GuichetUnique extends Base2TestCas
209          $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");
210          // 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"
211          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
212            // Modification de la date
213            $this->byId("date_demande")->clear();
214            $this->byId("date_demande")->value("10/10/2014");
215          // On clique pour ajouter un pétitionnaire principale          // On clique pour ajouter un pétitionnaire principale
216          $this->byId("add_petitionnaire_principal")->click();          $this->byId("add_petitionnaire_principal")->click();
217          // On remplit le champ          // On remplit le champ
218            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
219            // On remplit le champ
220          $this->byId("particulier_nom")->value("DURAND");          $this->byId("particulier_nom")->value("DURAND");
221          // On remplit le champ          // On remplit le champ
222          $this->byId("particulier_prenom")->value("MICKAEL");          $this->byId("particulier_prenom")->value("MICKAEL");
# Line 141  class GuichetUnique extends Base2TestCas Line 243  class GuichetUnique extends Base2TestCas
243          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
244          $this->verifynoerrors();          $this->verifynoerrors();
245          // On vérifie le message          // On vérifie le message
246          $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());
247          // On clique sur le bouton retour          // On clique sur le bouton retour
248          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
249          // On vérifie que le text est présent          // On vérifie que le text est présent
# Line 151  class GuichetUnique extends Base2TestCas Line 253  class GuichetUnique extends Base2TestCas
253          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
254          $this->verifynoerrors();          $this->verifynoerrors();
255          // On vérifie le message          // On vérifie le message
256          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
257          // On clique          // Récupération du numéro de dossier
258          $this->byCssSelector("a.lien")->click();sleep(5);          preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
259          // Liste les fenêtres          $dossier = $dossier[0];
         $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"));  
260          // On se déconnecte          // On se déconnecte
261          $this->logout();          $this->logout();
262      }      }
# Line 181  class GuichetUnique extends Base2TestCas Line 266  class GuichetUnique extends Base2TestCas
266       */       */
267      public function testAjoutDemandeModification() {      public function testAjoutDemandeModification() {
268    
269            // Année en cours
270            $annee = date("y");
271    
272          /// On se connecte à l'application en tant qu'instructeur          /// On se connecte à l'application en tant qu'instructeur
273          // pour ajouter une instruction arrêté sur le dossier crée          // pour ajouter une instruction arrêté sur le dossier crée
274          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 189  class GuichetUnique extends Base2TestCas Line 277  class GuichetUnique extends Base2TestCas
277          // 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é
278          $this->verifyNoErrors();          $this->verifyNoErrors();
279          // On clique sur le dossier          // On clique sur le dossier
280          $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();
281            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282            $this->verifyNoErrors();
283            //On déplie le fieldset Pétitionnaire
284            $this->byCssSelector("#liste_demandeur legend")->click();
285            sleep(1);
286          // 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é
287          $this->verifyNoErrors();          $this->verifyNoErrors();
288            // On vérifie la civilité du demandeur
289            $this->assertContains("Monsieur",$this->byCssSelector(".synthese_demandeur")->text());
290          // On clique sur l'onglet instruction          // On clique sur l'onglet instruction
291          $this->byId("instruction")->click();          $this->byId("instruction")->click();
292          // On clique sur le + pour ajouter une instruction          // On clique sur le + pour ajouter une instruction
# Line 199  class GuichetUnique extends Base2TestCas Line 294  class GuichetUnique extends Base2TestCas
294          // 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é
295          $this->verifyNoErrors();          $this->verifyNoErrors();
296          // On choisi l'événement          // On choisi l'événement
297          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");          $this->select($this->byId("evenement"))->selectOptionByValue(81);
298          // On clique sur le bouton ajouter          // On clique sur le bouton ajouter
299          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
300          // On vérifie que l'instruction s'est bien ajouté          // On vérifie que l'instruction s'est bien ajouté
# Line 223  class GuichetUnique extends Base2TestCas Line 318  class GuichetUnique extends Base2TestCas
318          // On se connecte en tant que guichet unique          // On se connecte en tant que guichet unique
319          $this->login("guichet", "guichet");          $this->login("guichet", "guichet");
320          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
321          $this->byLinkText("Dossier Existant")->click();          $this->byLinkText("Autre Dossier")->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 00001P0", $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 00001M01[\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"));  
         // 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();  
322          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
323          $this->verifynoerrors();          $this->verifynoerrors();
324          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
325          $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());
326          // On clique pour ajouter une demande au dossier existant          // On clique pour ajouter une demande au dossier existant
327          $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();
328          // 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é
329          $this->verifyNoErrors();          $this->verifyNoErrors();
330          // Vérifie le fil d'Ariane          // Vérifie le fil d'Ariane
331          $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001M01", $this->byXPath("//div[3]/div/h2")->text());          $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
332          // On choisis le type de demande          // On choisis le type de demande
333          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
334          // On clique sur ajouter          // On clique sur ajouter
# Line 311  class GuichetUnique extends Base2TestCas Line 336  class GuichetUnique extends Base2TestCas
336          // 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é
337          $this->verifyNoErrors();          $this->verifyNoErrors();
338          // On vérifie le message          // On vérifie le message
339          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M02[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
340          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
341          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M02"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC013055".$annee."00001.M01"));
342          // On se déconnecte          // On se déconnecte
343          $this->logout();          $this->logout();
344                    
# Line 518  class GuichetUnique extends Base2TestCas Line 543  class GuichetUnique extends Base2TestCas
543          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
544          $this->verifynoerrors();          $this->verifynoerrors();
545          // On vérifie le message          // On vérifie le message
546          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
547          // On clique          // On clique
548          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
549          // Liste les fenêtres          // Liste les fenêtres
550          $windows = $this->windowHandles();          $windows = $this->windowHandles();
551          // Change la fenêtre          // Change la fenêtre
# Line 537  class GuichetUnique extends Base2TestCas Line 562  class GuichetUnique extends Base2TestCas
562          $this->byLinkText("Retour")->click();          $this->byLinkText("Retour")->click();
563          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
564          $this->verifynoerrors();          $this->verifynoerrors();
565            //On se déconnecte
566            $this->deconnect();
567            
568            //On se connecte en administrateur
569            $this->login("admin", "admin");
570            //On clique sur le menu guichet unique
571            $this->byLinkText("Guichet Unique")->click();
572          // On clique sur pétitionnaire fréquent          // On clique sur pétitionnaire fréquent
573          $this->byLinkText("Pétitionnaire Fréquent")->click();          $this->byLinkText("Pétitionnaire Fréquent")->click();
574          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 551  class GuichetUnique extends Base2TestCas Line 583  class GuichetUnique extends Base2TestCas
583          $this->verifynoerrors();          $this->verifynoerrors();
584          // On vérifie que le text est présent          // On vérifie que le text est présent
585          $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
586            // On marque le pétitionnaire comme non fréquent
587            $this->byId("action-form-petitionnaire_frequent-frequent")->click();
588            //On vérifie le message
589            $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
590          // On clique sur le bouton "Retour"          // On clique sur le bouton "Retour"
591          $this->byLinkText("Retour")->click();          $this->byLinkText("Retour")->click();
592          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
593          $this->verifynoerrors();          $this->verifynoerrors();
594          // On vérifie que le text est présent          // On vérifie que le text est présent
595          $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
596            $this->assertNotContains('DURAND MICKAEL', $this->source());
597          // On se déconnecte          // On se déconnecte
598          $this->logout();          $this->logout();
599      }      }
# Line 619  class GuichetUnique extends Base2TestCas Line 656  class GuichetUnique extends Base2TestCas
656          $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");
657          // 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"
658          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
659            // XXX Problème de javascript seulement dans cette fonction
660            // Les alerts ne passent pas lorsque le focus n'est pas sur le
661            // navigateur
662          //On saisie des références cadastrales inccorect          //On saisie des références cadastrales inccorect
663          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");          // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
664          // On change le focus pour faire apparaitre le message          // // On change le focus pour faire apparaitre le message
665          $this->byId('date_demande')->value(date('d/m/Y'));          // $this->byId('date_demande')->value(date('d/m/Y'));
666          sleep(5);          // sleep(5);
667          // Message d'erreur concernant le numéro de quartier          // // Message d'erreur concernant le numéro de quartier
668          $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());          // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
669          $this->acceptAlert();          // $this->acceptAlert();
670          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");          // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
671          // On change le focus pour faire apparaitre le message          // // On change le focus pour faire apparaitre le message
672          $this->byId('date_demande')->value(date('d/m/Y'));          // $this->byId('date_demande')->value(date('d/m/Y'));
673          sleep(5);          // sleep(5);
674          // Message d'erreur concernant la section          // // Message d'erreur concernant la section
675          $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());          // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
676          $this->acceptAlert();          // $this->acceptAlert();
677          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");          // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
678          // On change le focus pour faire apparaitre le message          // // On change le focus pour faire apparaitre le message
679          $this->byId('date_demande')->value(date('d/m/Y'));          // $this->byId('date_demande')->value(date('d/m/Y'));
680          sleep(5);          // sleep(5);
681          // Message d'erreur concernant le numéro de parcelle          // // Message d'erreur concernant le numéro de parcelle
682          $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());          // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
683          $this->acceptAlert();          // $this->acceptAlert();
684          //On saisie les références cadastrales          //On saisie les références cadastrales
685          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");          // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
686          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");          // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
687          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");          // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
688            // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
689            // bon format automatiquement grâce au javascript
690            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
691            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
692            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
693          //On clique sur le bouton de recherche "Cadastrale = > Adresse"          //On clique sur le bouton de recherche "Cadastrale = > Adresse"
694          $this->byId("cad-adr-them")->click();          $this->byId("cad-adr-them")->click();
695          sleep(1);          sleep(1);
696          // On vérifie que le format des champs est mise à jour automatiquement          // On vérifie que le format des champs est mise à jour automatiquement
697          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());          $this->assertEquals("001", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
698          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());          $this->assertEquals("DC", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
699          $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());          $this->assertEquals("0015", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
700          //On verifie l'adresse          //On verifie l'adresse
701          $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());          $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->attribute('value'));
702          $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());          $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->attribute('value'));
703          $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());          $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->attribute('value'));
704          $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());          $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->attribute('value'));
705            //On vide un des champs des références cadastrales
706            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->clear();
707          // On valide le formulaire          // On valide le formulaire
708          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
709            //Un alert javascript doit apparaître, on vérifie le message
710            $this->assertEquals("Les références cadastrales saisies sont incorrectes. Veuillez les corriger.", $this->alertText());
711            // On valide l'alert
712            $this->acceptAlert();sleep(1);
713            //On ajoute la référence
714            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
715            //On valide le formulaire
716            $this->byXPath("//input[@value='Ajouter']")->click();
717          // On vérifie le message d'erreur          // On vérifie le message d'erreur
718          $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
719          sleep(1);          sleep(1);
720          // On vérifie que les références cadastrales soient toujours affiché          // On vérifie que les références cadastrales soient toujours affiché
721          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
722          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
723          $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());                  $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
724          //On saisie les références cadastrales          //On saisie les références cadastrales
725          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
726          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
# Line 675  class GuichetUnique extends Base2TestCas Line 730  class GuichetUnique extends Base2TestCas
730          //On valide le message d'erreur          //On valide le message d'erreur
731          $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());          $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
732          $this->acceptAlert();          $this->acceptAlert();
733            // On ressaisit les références cadatrales
734            // ref 1
735            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
736            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
737            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
738            // réf 2
739            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
740            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(6)")->value("002");
741            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(7)")->value("DC");
742            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(8)")->value("0015");
743            // réf 3
744            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
745            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(11)")->value("003");
746            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(12)")->value("DC");
747            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(13)")->value("0015");
748            // réf 4
749            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
750            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(16)")->value("004");
751            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(17)")->value("DC");
752            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(18)")->value("0015");
753            // réf 5
754            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
755            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(21)")->value("005");
756            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(22)")->value("DC");
757            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(23)")->value("0015");
758            // réf 6
759            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
760            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(26)")->value("006");
761            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(27)")->value("DC");
762            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(28)")->value("0015");
763            // réf 7
764            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
765            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(31)")->value("007");
766            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(32)")->value("DC");
767            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(33)")->value("0015");
768            // réf 8
769            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
770            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(36)")->value("008");
771            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(37)")->value("DC");
772            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(38)")->value("0015");
773            // réf 9
774            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
775            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(41)")->value("009");
776            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(42)")->value("DC");
777            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(43)")->value("0015");
778            // réf 10
779            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
780            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(46)")->value("010");
781            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(47)")->value("DC");
782            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(48)")->value("0015");
783            // réf 11
784            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
785            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(51)")->value("011");
786            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(52)")->value("DC");
787            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(53)")->value("0015");
788            // réf 12
789            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
790            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(56)")->value("012");
791            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(57)")->value("DC");
792            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(58)")->value("0015");
793            // réf 13
794            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
795            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(61)")->value("013");
796            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(62)")->value("DC");
797            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(63)")->value("0015");
798            // réf 14
799            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
800            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(66)")->value("014");
801            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(67)")->value("DC");
802            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(68)")->value("0015");
803          // On clique pour ajouter un pétitionnaire principale          // On clique pour ajouter un pétitionnaire principale
804          $this->byId("add_petitionnaire_principal")->click();          $this->byId("add_petitionnaire_principal")->click();
805          // On remplit le champ          // On remplit le champ
# Line 714  class GuichetUnique extends Base2TestCas Line 839  class GuichetUnique extends Base2TestCas
839          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
840          $this->verifynoerrors();          $this->verifynoerrors();
841          // On vérifie le message          // On vérifie le message
842          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00004[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
843            // Récupération du numéro de dossier
844            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
845            $dossier_libelle = $dossier[0];
846            $dossier = str_replace(' ', '', $dossier_libelle);
847            $dossier_dir = substr_replace($dossier, '.', -2, -3);
848          // On clique          // On clique
849          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
850          // Liste les fenêtres          // Liste les fenêtres
851          $windows = $this->windowHandles();          $windows = $this->windowHandles();
852          // Change la fenêtre          // Change la fenêtre
# Line 734  class GuichetUnique extends Base2TestCas Line 864  class GuichetUnique extends Base2TestCas
864          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
865          $this->verifynoerrors();          $this->verifynoerrors();
866          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
867          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300004.P0"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
868          // On se déconnecte          // On se déconnecte
869          $this->logout();          $this->logout();
870      }      }
# Line 842  class GuichetUnique extends Base2TestCas Line 972  class GuichetUnique extends Base2TestCas
972          // On vérifie le message          // On vérifie le message
973          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
974          // On clique          // On clique
975          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
976          // Liste les fenêtres          // Liste les fenêtres
977          $windows = $this->windowHandles();          $windows = $this->windowHandles();
978          // Change la fenêtre          // Change la fenêtre
# Line 858  class GuichetUnique extends Base2TestCas Line 988  class GuichetUnique extends Base2TestCas
988      }      }
989    
990      /**      /**
991         * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
992         */
993        public function test_autre_dossier() {
994    
995            // On se connecte en tant que "guichet"
996            $this->login("guichet", "guichet");
997            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
998            $this->verifyNoErrors();
999            // On clique sur "Autre Dossier"
1000            $this->byLinkText("Autre Dossier")->click();
1001            // On vérifie qu'il n'y ait pas d'erreur
1002            $this->verifynoerrors();
1003            // On vérifie que le dossier qui ne doit pas être dans
1004            // "Dossier En Cours" sont ici
1005            $this->assertRegExp("/^[\s\S]*PC 013055 ".date("y")." 00001P0[\s\S]*$/",
1006                $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
1007            // On clique sur "Dossier En Cours"
1008            $this->byLinkText("Dossier En Cours")->click();
1009            // On vérifie qu'il n'y ait pas d'erreur
1010            $this->verifynoerrors();
1011            // On vérifie que le dossier précédement contrôlé n'ait pas
1012            // affiché
1013            $this->assertNotContains("PC 013055 13 00001P0",
1014                $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
1015            // On se déconnecte
1016            $this->logout();
1017        }
1018    
1019        /**
1020       * Désactive l'option sig avec la valeur nécessaire       * Désactive l'option sig avec la valeur nécessaire
1021       */       */
1022      public function test_desactive_option_sig() {      public function test_desactive_option_sig() {
# Line 885  class GuichetUnique extends Base2TestCas Line 1044  class GuichetUnique extends Base2TestCas
1044          // On change la valeur par "aucun"          // On change la valeur par "aucun"
1045          $this->byId('valeur')->clear();          $this->byId('valeur')->clear();
1046          $this->byId('valeur')->value('aucun');          $this->byId('valeur')->value('aucun');
1047          // On valide la modification          // On valide la modification
1048          $this->byCssSelector("input[value='Modifier']")->click();          $this->byCssSelector("input[value='Modifier']")->click();
1049          // On vérifie le message de validation          // On vérifie le message de validation
1050          $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());
# Line 898  class GuichetUnique extends Base2TestCas Line 1057  class GuichetUnique extends Base2TestCas
1057      }      }
1058  }  }
1059    
1060  ?>  ?>

Legend:
Removed from v.2313  
changed lines
  Added in v.3547

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26