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

Diff of /trunk/tests/testGuichetUnique.php

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

revision 1726 by fmichon, Thu Apr 18 17:12:27 2013 UTC revision 2601 by softime, Tue Dec 10 17:13:14 2013 UTC
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   *   *
14   */   */
15  class GuichetUnique extends BaseTestCase {  class GuichetUnique extends Base2TestCase {
16    
17      private function login() {      /**
18          // on commence par se connecter       * Test l'ajout d'une demande
19          $this->connect("guichet", "guichet");       */
20          // On doit être connecté      public function testAjoutDemandeInitial() {
21          $this->assertTrue($this->isTextPresent("Votre session est maintenant ouverte."));  
22            // On se connecte à l'application
23            $this->login("guichet", "guichet");
24            // On clique sur le menu "Nouveau Dossier"
25            $this->byLinkText("Nouveau Dossier")->click();
26            // On vérifie qu'il n'y ait pas d'erreur
27            $this->verifynoerrors();
28            // On vérifie le nom de l'onglet
29            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
30            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
31            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
32            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
33            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
34            // On clique pour ajouter un pétitionnaire principale
35            $this->byId("add_petitionnaire_principal")->click();
36            // On remplit le champ
37            $this->byId("particulier_nom")->value("DURAND");
38            // On remplit le champ
39            $this->byId("particulier_prenom")->value("MICKAEL");
40            // On remplit le champ
41            $this->byId("particulier_date_naissance")->value("03/01/1956");
42            // On remplit le champ
43            $this->byId("particulier_commune_naissance")->value("LILLE");
44            // On remplit le champ
45            $this->byId("particulier_departement_naissance")->value("NORD");
46            // On remplit le champ
47            $this->byId("numero")->value("12");
48            // On remplit le champ
49            $this->byId("voie")->value("RUE DE LA LOI");
50            // On remplit le champ
51            $this->byId("complement")->value("APPT 12");
52            // On remplit le champ
53            $this->byId("localite")->value("MARSEILLE");
54            // On remplit le champ
55            $this->byId("code_postal")->value("13012");
56            // On remplit le champ
57            $this->byId("telephone_fixe")->value("0404040404");
58            // On clique sur ajouter
59            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
60            // On vérifie qu'il n'y ait pas d'erreur
61            $this->verifynoerrors();
62            // On vérifie le message
63            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
64            // On clique sur le bouton retour
65            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
66            // On vérifie que le text est présent
67            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
68            // On clique sur ajouter
69            $this->byXPath("//input[@value='Ajouter']")->click();
70            // On vérifie qu'il n'y ait pas d'erreur
71            $this->verifynoerrors();
72            // On vérifie le message
73            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector(".message")->text());
74            // On clique
75            $this->byCssSelector("a.lien")->click();sleep(5);
76            // Liste les fenêtres
77            $windows = $this->windowHandles();
78            // Change la fenêtre
79            $this->window($windows[1]);
80            // On vérifie qu'il n'y ait pas d'erreur
81            $this->verifynoerrors();
82            // On vérifie que le text est présent
83            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
84            // On ferme la fenêtre
85            $this->closeWindow();
86            // On change le focus de la fenêtre
87            $this->window($windows[0]);
88            // On clique sur le bouton retour
89            $this->byLinkText("Retour")->click();
90            // On vérifie qu'il n'y ait pas d'erreur
91            $this->verifynoerrors();
92            // On vérifie que le répertoire s'est crée
93            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));
94            // On se déconnecte
95            $this->logout();
96        }
97    
98        /**
99         * Test l'ajout d'une demande et de création d'une nouvelle sequence
100         */
101        public function testAjoutDemandeNouvelleSequence() {
102    
103            // On se connecte à l'application
104            $this->login("guichet", "guichet");
105            // On clique sur le menu "Nouveau Dossier"
106            $this->byLinkText("Nouveau Dossier")->click();
107            // On vérifie qu'il n'y ait pas d'erreur
108            $this->verifynoerrors();
109            // On vérifie le nom de l'onglet
110            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
111            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
112            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
113            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
114            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
115            // Modification de la date
116            $this->byId("date_demande")->clear();
117            $this->acceptAlert();
118            $this->byId("date_demande")->value("10/10/2014");
119            // On clique pour ajouter un pétitionnaire principale
120            $this->byId("add_petitionnaire_principal")->click();
121            // On remplit le champ
122            $this->byId("particulier_nom")->value("DURAND");
123            // On remplit le champ
124            $this->byId("particulier_prenom")->value("MICKAEL");
125            // On remplit le champ
126            $this->byId("particulier_date_naissance")->value("03/01/1956");
127            // On remplit le champ
128            $this->byId("particulier_commune_naissance")->value("LILLE");
129            // On remplit le champ
130            $this->byId("particulier_departement_naissance")->value("NORD");
131            // On remplit le champ
132            $this->byId("numero")->value("12");
133            // On remplit le champ
134            $this->byId("voie")->value("RUE DE LA LOI");
135            // On remplit le champ
136            $this->byId("complement")->value("APPT 12");
137            // On remplit le champ
138            $this->byId("localite")->value("MARSEILLE");
139            // On remplit le champ
140            $this->byId("code_postal")->value("13012");
141            // On remplit le champ
142            $this->byId("telephone_fixe")->value("0404040404");
143            // On clique sur ajouter
144            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
145            // On vérifie qu'il n'y ait pas d'erreur
146            $this->verifynoerrors();
147            // On vérifie le message
148            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
149            // On clique sur le bouton retour
150            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
151            // On vérifie que le text est présent
152            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
153            // On clique sur ajouter
154            $this->byXPath("//input[@value='Ajouter']")->click();
155            // On vérifie qu'il n'y ait pas d'erreur
156            $this->verifynoerrors();
157            // On vérifie le message
158            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 14 00001[\s\S]*$/",$this->byCssSelector(".message")->text());
159            // On se déconnecte
160            $this->logout();
161      }      }
162    
163      private function logout() {      /**
164          // puis on se déconnecte       * Test l'ajout d'une demande de modification
165         */
166        public function testAjoutDemandeModification() {
167    
168            /// On se connecte à l'application en tant qu'instructeur
169            // pour ajouter une instruction arrêté sur le dossier crée
170            $this->login("instr", "instr");
171            // On clique sur le menu
172            $this->byLinkText("Recherche")->click();
173            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
174            $this->verifyNoErrors();
175            // On clique sur le dossier
176            $this->byId("action-tab-dossier_instruction-left-consulter-PC0130551300001P0")->click();
177            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
178            $this->verifyNoErrors();
179            // On clique sur l'onglet instruction
180            $this->byId("instruction")->click();
181            // On clique sur le + pour ajouter une instruction
182            $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
183            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
184            $this->verifyNoErrors();
185            // On choisi l'événement
186            $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
187            // On clique sur le bouton ajouter
188            $this->byXPath("//input[@value='Ajouter']")->click();
189            // On vérifie que l'instruction s'est bien ajouté
190            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
191            // On clique sur le bouton retour
192            $this->byCssSelector("#sousform-instruction form a.retour")->click();
193            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
194            $this->verifyNoErrors();
195            // On clique sur l'onglet DI
196            $this->byId("main")->click();
197            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
198            $this->verifyNoErrors();
199            // on rafraichis la page
200            $this->refresh();
201            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202            $this->verifyNoErrors();
203            // On vérifie l'état du dossier
204            $this->assertEquals("dossier accepter", $this->byId('etat')->text());
205            // On se déconnecte de l'instructeur
206          $this->deconnect();          $this->deconnect();
207          // on doit avoir un message nous indiquant que la session est finie          // On se connecte en tant que guichet unique
208          $this->assertTrue($this->isTextPresent("Votre session est maintenant terminée."));          $this->login("guichet", "guichet");
209          // on ne doit plus avoir de lien de déconnexion          // On clique sur le menu "Nouveau Dossier"
210          $this->assertFalse($this->isElementPresent("link=Déconnexion"));          $this->byLinkText("Autre Dossier")->click();
211            // On vérifie qu'il n'y ait pas d'erreur
212            $this->verifynoerrors();
213            // On vérifie le nom de l'onglet
214            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
215            // On clique pour ajouter une demande au dossier existant
216            $this->byId("action-tab-demande_autre_dossier-left-consulter-PC0130551300001P0")->click();
217            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
218            $this->verifyNoErrors();
219            // Vérifie le fil d'Ariane
220            $this->assertEquals("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
221            // On choisis le type de demande
222            $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
223            // On clique sur ajouter
224            $this->byXPath("//input[@value='Ajouter']")->click();
225            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
226            $this->verifyNoErrors();
227            // On vérifie le message
228            $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());
229            // On vérifie que le répertoire s'est crée
230            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));
231            // On se déconnecte
232            $this->logout();
233            
234      }      }
235    
236      /**      /**
237       * Ce test doit être réalisé juste après la réinitialisation de la base       * Tests l'affichage réglementaire
      * de données.  
238       */       */
239      public function testAffichageReglementaire() {      public function testAffichageReglementaire() {
         //  
         $this->login();  
   
         //  
         $this->clickAndWait("link=attestation");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");  
         //  
         $this->type("id=dossier", "PC0130551200002P0");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Ce dossier n'a jamais été affiché.");  
   
         //  
         $this->clickAndWait("link=registre");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("imprimer le registre d'affichage réglementaire");  
         //  
         $this->click("//input[@value='Valider']");  
         $this->assertTrue((bool)preg_match('/^Etes-vous sur de vouloir confirmer cette action [\s\S]$/',$this->getConfirmation()));  
         //  
         $this->waitForPopUp("", "30000");  
         $this->selectPopUp();  
         sleep(5);  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Registre des dossiers en cours");  
         $this->close();  
         //  
         $this->selectWindow();  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Traitement terminé. Le registre a été téléchargé.");  
   
         //  
         $this->clickAndWait("link=attestation");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");  
         //  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Veuiller saisir un N° de dossier.");  
         //  
         $this->type("id=dossier", "123");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Ce dossier n'existe pas.");  
         //  
         $this->type("id=dossier", "PC0130551200002P0");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage : \n\nAttestation d'affichage");  
         //  
         $this->click("link=Attestation d'affichage");  
         $this->waitForPopUp("", "30000");  
         $this->selectPopUp();  
         sleep(5);  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("ATTESTATION D'AFFICHAGE REGLEMENTAIRE");  
         $this->close();  
         //  
         $this->selectWindow();  
240    
241          //          // On se connecte à l'application
242            $this->login("guichet", "guichet");
243            // On clique sur le menu "Attestation"
244            $this->byLinkText("Attestation")->click();
245            // On vérifie qu'il n'y ait pas d'erreur
246            $this->verifynoerrors();
247            // On vérifie le nom de l'onglet
248            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
249            // On écrit "PC0130551200002P0" dans le champ dossier
250            $this->byId("dossier")->value("PC0130551200002P0");
251            // On clique sur "Valider"
252            $this->byXPath("//input[@value='Valider']")->click();
253            // On vérifie qu'il n'y ait pas d'erreur
254            $this->verifynoerrors();
255            // On vérifie que text est présent
256            $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
257            // On clique sur le menu "Registre"
258            $this->byLinkText("Registre")->click();
259            // On vérifie qu'il n'y ait pas d'erreur
260            $this->verifynoerrors();
261            // On vérifie le nom de l'onglet
262            $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
263            // On clique sur "Valider"
264            $this->byXPath("//input[@value='Valider']")->click();
265            // On clique sur "Oui" dans la fenêtre js qui apparaît
266            $this->acceptAlert();sleep(5);
267            // Liste des fenêtres ouvertes
268            $windows = $this->windowHandles();
269            // On change le focus de la fenêtre
270            $this->window($windows[1]);
271            // On vérifie qu'il n'y ait pas d'erreur
272            $this->verifynoerrors();
273            // On vérifie que text est présent
274            $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
275            // On ferme la fenêtre
276            $this->closeWindow();
277            // On change le focus de la fenêtre
278            $this->window($windows[0]);
279            // On vérifie qu'il n'y ait pas d'erreur
280            $this->verifynoerrors();
281            // On vérifie que text est présent
282            $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
283            // On clique sur le menu "Attestation"
284            $this->byLinkText("Attestation")->click();
285            // On vérifie qu'il n'y ait pas d'erreur
286            $this->verifynoerrors();
287            // On vérifie le nom de l'onglet
288            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
289            // On clique sur "Valider"
290            $this->byXPath("//input[@value='Valider']")->click();
291            // On vérifie qu'il n'y ait pas d'erreur
292            $this->verifynoerrors();
293            // On vérifie que text est présent
294            $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
295            // On écrit "123" dans le champ dossier
296            $this->byId("dossier")->value("123");
297            // On clique sur "Valider"
298            $this->byXPath("//input[@value='Valider']")->click();
299            // On vérifie qu'il n'y ait pas d'erreur
300            $this->verifynoerrors();
301            // On vérifie que text est présent
302            $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
303            // On écrit "PC0130551200002P0" dans le champ dossier
304            $this->byId("dossier")->value("PC0130551200002P0");
305            // On clique sur "Valider"
306            $this->byXPath("//input[@value='Valider']")->click();
307            // On vérifie qu'il n'y ait pas d'erreur
308            $this->verifynoerrors();
309            // On vérifie que le text est présent
310            $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
311            // On clique sur "Attestation d'affichage"
312            $this->byLinkText("Attestation d'affichage")->click();sleep(5);
313            // Liste les fenêtres
314            $windows = $this->windowHandles();
315            // Change la fenêtre
316            $this->window($windows[1]);
317            // On vérifie qu'il n'y ait pas d'erreur
318            $this->verifynoerrors();
319            // On vérifie que le text est
320            // présent
321            $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
322            // On ferme la fenêtre
323            $this->closeWindow();
324            // On change le focus de la fenêtre
325            $this->window($windows[0]);
326            // On se deconnecte
327          $this->logout();          $this->logout();
328      }      }
329    
330      /**      /**
331       *       * Test le Récépissé
332       */       */
333      public function testRecepisse() {      public function testRecepisse() {
         //  
         $this->setSleep(1);  
         //  
         $this->login();  
   
         //  
         $this->clickAndWait("link=récépissé");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("demande");  
         //  
         $this->clickAndWait("link=DAT0130551200001P0");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Demande d'autorisation de construire, d'aménager ou de modifier un ERP");  
         // Le nom du pétitionnaire doit apparaître  
         $this->verifyTextPresent("BERNARD LILIANE");  
         //  
         $this->click("link=Éditer le récépissé PDF");  
         $this->waitForPopUp("", "30000");  
         $this->selectPopUp();  
         sleep(5);  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("RECEPISSE DE DEPOT");  
         $this->close();  
         //  
         $this->selectWindow();  
         //  
         $this->clickAndWait("link=Retour");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("demande");  
334    
335          //          // On se connecte à l'application
336            $this->login("guichet", "guichet");
337            // On clique sur le menu "Récépissé"
338            $this->byLinkText("Récépissé")->click();
339            // On vérifie qu'il n'y ait pas d'erreur
340            $this->verifynoerrors();
341            // On vérifie le nom de l'onglet
342            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
343            // On clique sur "AT0130551200001P0"
344            $this->byLinkText("AT 013055 12 00001P0")->click();
345            // On vérifie qu'il n'y ait pas d'erreur
346            $this->verifynoerrors();
347            // Vérifie le fil d'Ariane
348            $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
349            // On vérifie que le text est présent
350            $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
351            // Le nom du pétitionnaire doit apparaître
352            $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
353            // On clique sur le lien
354            $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
355            // Liste les fenêtres
356            $windows = $this->windowHandles();
357            // Change la fenêtre
358            $this->window($windows[1]);
359            // On vérifie qu'il n'y ait pas d'erreur
360            $this->verifynoerrors();
361            // On vérifie que le text est présent
362            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
363            // On ferme la fenêtre
364            $this->closeWindow();
365            // On change le focus de la fenêtre
366            $this->window($windows[0]);
367            // On clique sur "Retour"
368            $this->byLinkText("Retour")->click();
369            // On vérifie qu'il n'y ait pas d'erreur
370            $this->verifynoerrors();
371            // On vérifie le nom de l'onglet
372            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
373            // On se deconnecte
374          $this->logout();          $this->logout();
375      }      }
376    
377      /**      /**
378       *       * Test les pétitionnaires fréquents
379       */       */
380      public function testPetitionnaireFrequent() {      public function testPetitionnaireFrequent() {
         //  
         $this->login();  
381    
382          //          // On se connecte à l'application
383          $this->clickAndWait("link=nouveau dossier");          $this->login("guichet", "guichet");
384          $this->verifyNoErrors();          // On clique sur le menu "Nouveau Dossier"
385          $this->verifyTextPresent("demande");          $this->byLinkText("Nouveau Dossier")->click();
386          //          // On vérifie qu'il n'y ait pas d'erreur
387          $this->select("id=dossier_autorisation_type_detaille", "label=Permis de construire pour une maison individuelle et / ou ses annexes");          $this->verifynoerrors();
388          $this->select("id=demande_type", "label=Dépôt Initial");          // On vérifie le nom de l'onglet
389          $this->click("id=add_petitionnaire_principal");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
390          $this->type("id=particulier_nom", "DURAND");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
391          $this->type("id=particulier_prenom", "MICKAEL");          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
392          $this->type("id=particulier_date_naissance", "03/01/1956");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
393          $this->type("id=particulier_commune_naissance", "LILLE");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
394          $this->type("id=particulier_departement_naissance", "NORD");          // On clique pour ajouter un pétitionnaire principale
395          $this->type("id=numero", "12");          $this->byId("add_petitionnaire_principal")->click();
396          $this->type("id=voie", "RUE DE LA LOI");          // On remplit le champ
397          $this->type("document.f2.complement", "APPT 12");          $this->byId("particulier_nom")->value("DURAND");
398          $this->type("id=localite", "MARSEILLE");          // On remplit le champ
399          $this->type("id=code_postal", "13012");          $this->byId("particulier_prenom")->value("MICKAEL");
400          $this->type("id=telephone_fixe", "0404040404");          // On remplit le champ
401          $this->click("id=frequent");          $this->byId("particulier_date_naissance")->value("03/01/1956");
402                    // On remplit le champ
403          $this->click("//input[@value=\"Ajouter l'enregistrement de la table : 'demandeur'\"]");          $this->byId("particulier_commune_naissance")->value("LILLE");
404            // On remplit le champ
405            $this->byId("particulier_departement_naissance")->value("NORD");
406            // On remplit le champ
407            $this->byId("numero")->value("12");
408            // On remplit le champ
409            $this->byId("voie")->value("RUE DE LA LOI");
410            // On remplit le champ
411            $this->byId("complement")->value("APPT 12");
412            // On remplit le champ
413            $this->byId("localite")->value("MARSEILLE");
414            // On remplit le champ
415            $this->byId("code_postal")->value("13012");
416            // On remplit le champ
417            $this->byId("telephone_fixe")->value("0404040404");
418            // On sélectionne pétitionnaire fréquent
419            $this->byId("frequent")->click();
420            // On clique sur ajouter
421            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
422            // On vérifie qu'il n'y ait pas d'erreur
423            $this->verifynoerrors();
424            // On vérifie le message
425            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
426            // On clique sur le bouton retour
427            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
428            // On vérifie que le text est présent
429            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
430            // On clique sur ajouter
431            $this->byXPath("//input[@value='Ajouter']")->click();
432            // On vérifie qu'il n'y ait pas d'erreur
433            $this->verifynoerrors();
434            // On vérifie le message
435            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
436            // On clique
437            $this->byCssSelector("a.lien")->click();sleep(5);
438            // Liste les fenêtres
439            $windows = $this->windowHandles();
440            // Change la fenêtre
441            $this->window($windows[1]);
442            // On vérifie qu'il n'y ait pas d'erreur
443            $this->verifynoerrors();
444            // On vérifie que le text est présent
445            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
446            // On ferme la fenêtre
447            $this->closeWindow();
448            // On change le focus de la fenêtre
449            $this->window($windows[0]);
450            // On clique sur le bouton retour
451            $this->byLinkText("Retour")->click();
452            // On vérifie qu'il n'y ait pas d'erreur
453            $this->verifynoerrors();
454            // On clique sur pétitionnaire fréquent
455            $this->byLinkText("Pétitionnaire Fréquent")->click();
456            // On vérifie qu'il n'y ait pas d'erreur
457            $this->verifynoerrors();
458            // On vérifie que le text est présent
459            $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
460            // On vérifie que le text est présent
461            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
462            // On clique sur le résultat
463            $this->byLinkText("DURAND MICKAEL")->click();
464            // On vérifie qu'il n'y ait pas d'erreur
465            $this->verifynoerrors();
466            // On vérifie que le text est présent
467            $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
468            // On clique sur le bouton "Retour"
469            $this->byLinkText("Retour")->click();
470            // On vérifie qu'il n'y ait pas d'erreur
471            $this->verifynoerrors();
472            // On vérifie que le text est présent
473            $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
474            // On se déconnecte
475            $this->logout();
476        }
477    
478        /**
479         * Active l'option sig avec la valeur nécessaire pour la suite des tests
480         */
481        public function test_active_option_sig() {
482    
483            // On se connecte en tant que "admin"
484            $this->login("admin", "admin");
485            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
486            $this->verifyNoErrors();
487            // On clique sur le lien "Administration" dans le menu
488            $this->byLinkText("Administration")->click();
489            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
490            $this->verifyNoErrors();
491            // // On clique sur le lien "Paramètre" dans le menu
492            $this->byLinkText("Paramètre")->click();
493            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
494            $this->verifyNoErrors();
495            // On remplis le champs de recherche simple
496            $this->byCssSelector("input[name='recherche']")->value('option_sig');
497            // On clique sur le bouton recherche
498            $this->byCssSelector(".ui-button")->click();
499            // On clique sur le résultat
500            $this->byLinkText("option_sig")->click();
501            // On clique sur le bouton "Modifier"
502            $this->byId('action-form-om_parametre-modifier')->click();
503            // On change la valeur par "sig_externe"
504            $this->byId('valeur')->clear();
505            $this->byId('valeur')->value('sig_externe');
506            // On valide la modification
507            $this->byCssSelector("input[value='Modifier']")->click();
508            // On vérifie le message de validation
509            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
510            // On clique sur le bouton 'Retour'
511            $this->byLinkText("Retour")->click();
512            // On vérifie les nouvelles données
513            $this->assertEquals("sig_externe", $this->byId("valeur")->text());
514            // On se déconnecte
515            $this->logout();
516        }
517    
518        /**
519         * Test l'ajout d'une demande initial en utilisant les références cadastrales
520         * pour récupérer l'adresse
521         */
522        public function testAjoutDemandeInitialReferenceCadastrale() {
523    
524            // On se connecte à l'application
525            $this->login("guichet", "guichet");
526            // On clique sur le menu "Nouveau Dossier"
527            $this->byLinkText("Nouveau Dossier")->click();
528            // On vérifie qu'il n'y ait pas d'erreur
529            $this->verifynoerrors();
530            // On vérifie le nom de l'onglet
531            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
532            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
533            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
534            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
535            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
536            // XXX Problème de javascript seulement dans cette fonction
537            // Les alerts ne passent pas lorsque le focus n'est pas sur le
538            // navigateur
539            //On saisie des références cadastrales inccorect
540            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
541            // // On change le focus pour faire apparaitre le message
542            // $this->byId('date_demande')->value(date('d/m/Y'));
543            // sleep(5);
544            // // Message d'erreur concernant le numéro de quartier
545            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
546            // $this->acceptAlert();
547            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
548            // // On change le focus pour faire apparaitre le message
549            // $this->byId('date_demande')->value(date('d/m/Y'));
550            // sleep(5);
551            // // Message d'erreur concernant la section
552            // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
553            // $this->acceptAlert();
554            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
555            // // On change le focus pour faire apparaitre le message
556            // $this->byId('date_demande')->value(date('d/m/Y'));
557            // sleep(5);
558            // // Message d'erreur concernant le numéro de parcelle
559            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
560            // $this->acceptAlert();
561            //On saisie les références cadastrales
562            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
563            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
564            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
565            // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
566            // bon format automatiquement grâce au javascript
567            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("001");
568            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("DC");
569            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("0015");
570            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
571            $this->byId("cad-adr-them")->click();
572          sleep(1);          sleep(1);
573          $this->verifyNoErrors();          // On vérifie que le format des champs est mise à jour automatiquement
574          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
575          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
576            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
577            //On verifie l'adresse
578            $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());
579            $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());
580            $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());
581            $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());
582            // On valide le formulaire
583            $this->byXPath("//input[@value='Ajouter']")->click();
584            // On vérifie le message d'erreur
585            $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
586          sleep(1);          sleep(1);
587          //          // On vérifie que les références cadastrales soient toujours affiché
588          $this->verifyTextPresent("DURAND MICKAEL\n 12 RUE DE LA LOI APPT 12 \n 13012 MARSEILLE \n 0404040404");          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
589          $this->clickAndWait("//input[@value='Ajouter']");          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
590          $this->verifyNoErrors();          $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());        
591          $this->verifyTextPresent("Création du dossier d'autorisation n°PC0130551300003");          //On saisie les références cadastrales
592          //          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
593          //$this->click("link=     Télécharger le récépissé de la demande");          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
594          $this->click("css=a.lien");          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
595          $this->waitForPopUp("", "30000");          //On clique sur le bouton de recherche "Cadastrale = > Adresse"
596          $this->selectPopUp();          $this->byId("cad-adr-them")->click();
597          sleep(5);          //On valide le message d'erreur
598          $this->verifyNoErrors();          $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
599          $this->verifyTextPresent("RECEPISSE DE DEPOT");          $this->acceptAlert();
600          $this->close();          // On clique pour ajouter un pétitionnaire principale
601          //          $this->byId("add_petitionnaire_principal")->click();
602          $this->selectWindow();          // On remplit le champ
603          //          $this->byId("particulier_nom")->value("DURAND");
604          $this->clickAndWait("link=Retour");          // On remplit le champ
605          $this->verifyNoErrors();          $this->byId("particulier_prenom")->value("MICKAEL");
606          //          // On remplit le champ
607          $this->clickAndWait("link=pétitionnaire fréquent");          $this->byId("particulier_date_naissance")->value("03/01/1956");
608          $this->verifyNoErrors();          // On remplit le champ
609          $this->verifyTextPresent("pétitionnaire fréquent");          $this->byId("particulier_commune_naissance")->value("LILLE");
610          $this->verifyTextPresent("DURAND MICKAEL");          // On remplit le champ
611          //          $this->byId("particulier_departement_naissance")->value("NORD");
612          $this->clickAndWait("link=DURAND MICKAEL");          // On remplit le champ
613          $this->verifyNoErrors();          $this->byId("numero")->value("12");
614          $this->verifyTextPresent("RUE DE LA LOI ");          // On remplit le champ
615          //          $this->byId("voie")->value("RUE DE LA LOI");
616          $this->clickAndWait("link=Retour");          // On remplit le champ
617          $this->verifyNoErrors();          $this->byId("complement")->value("APPT 12");
618          $this->verifyTextPresent("pétitionnaire fréquent");          // On remplit le champ
619          //          $this->byId("localite")->value("MARSEILLE");
620            // On remplit le champ
621            $this->byId("code_postal")->value("13012");
622            // On remplit le champ
623            $this->byId("telephone_fixe")->value("0404040404");
624            // On clique sur ajouter
625            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
626            // On vérifie qu'il n'y ait pas d'erreur
627            $this->verifynoerrors();
628            // On vérifie le message
629            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
630            // On clique sur le bouton retour
631            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
632            // On vérifie que le text est présent
633            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
634            // On clique sur ajouter
635            $this->byXPath("//input[@value='Ajouter']")->click();
636            // On vérifie qu'il n'y ait pas d'erreur
637            $this->verifynoerrors();
638            // On vérifie le message
639            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
640            // Récupération du numéro de dossier
641            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
642            $dossier_libelle = $dossier[0];
643            $dossier = str_replace(' ', '', $dossier_libelle);
644            $dossier_dir = substr_replace($dossier, '.', -2, -3);
645            // On clique
646            $this->byCssSelector("a.lien")->click();sleep(5);
647            // Liste les fenêtres
648            $windows = $this->windowHandles();
649            // Change la fenêtre
650            $this->window($windows[1]);
651            // On vérifie qu'il n'y ait pas d'erreur
652            $this->verifynoerrors();
653            // On vérifie que le text est présent
654            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
655            // On ferme la fenêtre
656            $this->closeWindow();
657            // On change le focus de la fenêtre
658            $this->window($windows[0]);
659            // On clique sur le bouton retour
660            $this->byLinkText("Retour")->click();
661            // On vérifie qu'il n'y ait pas d'erreur
662            $this->verifynoerrors();
663            // On vérifie que le répertoire s'est crée
664            $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
665            // On se déconnecte
666            $this->logout();
667        }
668        
669        /*
670         * Cette fonction va tester l'affectation automatique des instructeurs aux
671         * dossiers d'instruction.
672         * Quatre cas sont possibles :
673         * - Aucun instructeur ne correspond,  ;
674         * - Un instructeur joker correspond,  ;
675         * - Un instructeur correspond, .
676         */
677        function testAffectationAutomatique(){
678            
679            // On se connecte à l'application
680            $this->login("guichet", "guichet");
681            //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
682            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", " -");
683            
684            //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
685            //joker avec seulement le type de dossier d'autorisation détaillé de
686            //renseigné
687            $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
688            
689            //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
690            //correspondant parfaitement aux critères
691            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
692            // On se déconnecte
693            $this->logout();
694        }
695        
696        /**
697         * Ajoute un dossier d'instruction
698         * @param string $reference_cadastrale_quartier Le quartier de la référence
699         *               cadastrale du dossier
700         * @param string $reference_cadastrale_section La section de la référence
701         *               cadastrale du dossier
702         * @param string $reference_cadastrale_parcelle La parcelle de la référence
703         *               cadastrale du dossier
704         * @param string $datd dossier d'autorisation type détaillé
705         * @param string $instructeur le nom de l'instructeur
706         *
707         * @return boolean
708         */
709        function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
710            $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
711            $instructeur){
712            
713            //On affiche le tableau de bord
714            $this->byLinkText("Tableau de bord")->click();
715            // On clique sur le menu "Nouveau Dossier"
716            $this->byLinkText("Nouveau Dossier")->click();
717            // On vérifie qu'il n'y ait pas d'erreur
718            $this->verifynoerrors();
719            // On vérifie le nom de l'onglet
720            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
721            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
722            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
723            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
724            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
725            //On saisie les références cadastrales
726            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
727            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
728            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
729            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
730            $this->byId("cad-adr-them")->click();
731            // On clique pour ajouter un pétitionnaire principale
732            $this->byId("add_petitionnaire_principal")->click();
733            // On remplit le champ
734            $this->byId("particulier_nom")->value("DURAND");
735            // On remplit le champ
736            $this->byId("particulier_prenom")->value("MICKAEL");
737            // On remplit le champ
738            $this->byId("particulier_date_naissance")->value("03/01/1956");
739            // On remplit le champ
740            $this->byId("particulier_commune_naissance")->value("LILLE");
741            // On remplit le champ
742            $this->byId("particulier_departement_naissance")->value("NORD");
743            // On remplit le champ
744            $this->byId("numero")->value("12");
745            // On remplit le champ
746            $this->byId("voie")->value("RUE DE LA LOI");
747            // On remplit le champ
748            $this->byId("complement")->value("APPT 12");
749            // On remplit le champ
750            $this->byId("localite")->value("MARSEILLE");
751            // On remplit le champ
752            $this->byId("code_postal")->value("13012");
753            // On remplit le champ
754            $this->byId("telephone_fixe")->value("0404040404");
755            // On clique sur ajouter
756            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
757            // On vérifie qu'il n'y ait pas d'erreur
758            $this->verifynoerrors();
759            // On vérifie le message
760            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
761            // On clique sur le bouton retour
762            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
763            // On vérifie que le text est présent
764            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
765            // On clique sur ajouter
766            $this->byXPath("//input[@value='Ajouter']")->click();
767            // On vérifie qu'il n'y ait pas d'erreur
768            $this->verifynoerrors();
769            // On vérifie le message
770            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
771            // On clique
772            $this->byCssSelector("a.lien")->click();sleep(5);
773            // Liste les fenêtres
774            $windows = $this->windowHandles();
775            // Change la fenêtre
776            $this->window($windows[1]);
777            // On vérifie qu'il n'y ait pas d'erreur
778            $this->verifynoerrors();
779            // On vérifie que le text est présent
780            $this->assertRegExp("/^[\s\S]*Dossier suivi par  ".$instructeur."[\s\S]*$/",$this->source());
781            // On ferme la fenêtre
782            $this->closeWindow();
783            // On change le focus de la fenêtre
784            $this->window($windows[0]);
785        }
786    
787        /**
788         * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
789         */
790        public function test_autre_dossier() {
791    
792            // On se connecte en tant que "guichet"
793            $this->login("guichet", "guichet");
794            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
795            $this->verifyNoErrors();
796            // On clique sur "Autre Dossier"
797            $this->byLinkText("Autre Dossier")->click();
798            // On vérifie qu'il n'y ait pas d'erreur
799            $this->verifynoerrors();
800            // On vérifie que ledossier qui ne doit pas être dans
801            // "Dossier En Cours" sont ici
802            $this->assertRegExp("/^[\s\S]*PC 013055 13 00001P0[\s\S]*$/",
803                $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
804            // On clique sur "Dossier En Cours"
805            $this->byLinkText("Dossier En Cours")->click();
806            // On vérifie qu'il n'y ait pas d'erreur
807            $this->verifynoerrors();
808            // On vérifie que le dossier précédement contrôlé n'ait pas
809            // affiché
810            $this->assertNotContains("PC 013055 13 00001P0",
811                $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
812            // On se déconnecte
813          $this->logout();          $this->logout();
814      }      }
815    
816        /**
817         * Désactive l'option sig avec la valeur nécessaire
818         */
819        public function test_desactive_option_sig() {
820    
821            // On se connecte en tant que "admin"
822            $this->login("admin", "admin");
823            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
824            $this->verifyNoErrors();
825            // On clique sur le lien "Administration" dans le menu
826            $this->byLinkText("Administration")->click();
827            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
828            $this->verifyNoErrors();
829            // // On clique sur le lien "Paramètre" dans le menu
830            $this->byLinkText("Paramètre")->click();
831            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
832            $this->verifyNoErrors();
833            // On remplis le champs de recherche simple
834            $this->byCssSelector("input[name='recherche']")->value('option_sig');
835            // On clique sur le bouton recherche
836            $this->byCssSelector(".ui-button")->click();
837            // On clique sur le résultat
838            $this->byLinkText("option_sig")->click();
839            // On clique sur le bouton "Modifier"
840            $this->byId('action-form-om_parametre-modifier')->click();
841            // On change la valeur par "aucun"
842            $this->byId('valeur')->clear();
843            $this->byId('valeur')->value('aucun');
844            // On valide la modification
845            $this->byCssSelector("input[value='Modifier']")->click();
846            // On vérifie le message de validation
847            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
848            // On clique sur le bouton 'Retour'
849            $this->byLinkText("Retour")->click();
850            // On vérifie les nouvelles données
851            $this->assertEquals("aucun", $this->byId("valeur")->text());
852            // On se déconnecte
853            $this->logout();
854        }
855  }  }
856    
857  ?>  ?>

Legend:
Removed from v.1726  
changed lines
  Added in v.2601

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26