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

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

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

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

Legend:
Removed from v.1674  
changed lines
  Added in v.2321

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26