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

Legend:
Removed from v.1658  
changed lines
  Added in v.2302

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26