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

Diff of /trunk/tests/testInstruction.php

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

revision 1739 by fmichon, Fri Apr 19 13:36:08 2013 UTC revision 2806 by nhaye, Tue Mar 11 15:20:11 2014 UTC
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   *   *
14   */   */
15  class Instruction extends BaseTestCase {  class Instruction extends Base2TestCase {
16    
17        // Liste des utilisateurs
18        var $listUtlisateurs = array(
19                array(
20                    "login" => "instr",
21                    "mdp" => "instr"
22                ),
23                array(
24                    "login" => "adminfonct",
25                    "mdp" => "adminfonct"
26                ),
27            );
28    
29      /**      /**
30       * Ce test vise uniquement à vérifier que les écrans correspondant à chaque       * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
31       * entrée de menu ne génère pas une erreur de base de données       * entrée de menu ne génère pas une erreur de base de données
32       */       */
33      public function testGeneral() {      // Fonction privé
34          //      private function ouvertureMenu($utilisateur) {
35          $this->login("instr", "instr");          // On se connecte
36            $this->login($utilisateur["login"], $utilisateur["mdp"]);
37          //          // Ouvre le menu
38          $this->clickAndWait("link=mes encours");          $this->openMenu("Instruction", $utilisateur);
39            // On vérifie le menu ""
40            $this->byLinkText("Mes Encours")->click();
41            $this->assertContains("Instruction > Dossiers D'instruction",
42                $this->byId("title")->text());
43          $this->verifyNoErrors();          $this->verifyNoErrors();
44          $this->verifyTextPresent("DI");          // On vérifie le menu ""
45          //          $this->byLinkText("Tous Les Encours")->click();
46          $this->clickAndWait("link=tous les encours");          $this->assertContains("Instruction > Dossiers D'instruction",
47                $this->byId("title")->text());
48          $this->verifyNoErrors();          $this->verifyNoErrors();
49          $this->verifyTextPresent("DI");          // On vérifie le menu ""
50          //          $this->byLinkText("Mes Clôturés")->click();
51          $this->clickAndWait("link=mes clôturés");          $this->assertContains("Instruction > Dossiers D'instruction",
52                $this->byId("title")->text());
53          $this->verifyNoErrors();          $this->verifyNoErrors();
54          $this->verifyTextPresent("DI");          // On vérifie le menu ""
55          //          $this->byLinkText("Tous Les Clôturés")->click();
56          $this->clickAndWait("link=tous les clôturés");          $this->assertContains("Instruction > Dossiers D'instruction",
57                $this->byId("title")->text());
58          $this->verifyNoErrors();          $this->verifyNoErrors();
59          $this->verifyTextPresent("DI");          // On vérifie le menu ""
60          //          $this->byLinkText("Recherche")->click();
61          $this->clickAndWait("link=recherche");          $this->assertContains("Instruction > Dossiers D'instruction",
62                $this->byId("title")->text());
63          $this->verifyNoErrors();          $this->verifyNoErrors();
64          $this->verifyTextPresent("DI");          // On vérifie le menu ""
65          //          $this->byLinkText("Dossiers À Qualifier")->click();
66          $this->clickAndWait("link=dossiers à qualifier");          $this->assertContains("Instruction > Qualification > Dossiers À Qualifier",
67                $this->byId("title")->text());
68          $this->verifyNoErrors();          $this->verifyNoErrors();
69          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
70          //          $this->byLinkText("Architecte Fréquent")->click();
71          $this->clickAndWait("link=Mes retours");          $this->assertContains("Instruction > Qualification > Architecte Fréquent",
72                $this->byId("title")->text());
73          $this->verifyNoErrors();          $this->verifyNoErrors();
74          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
75          //          $this->byLinkText("Mes Retours")->click();
76          $this->clickAndWait("link=Tous les retours");          $this->assertContains("Instruction > Consultations > Mes Retours",
77                $this->byId("title")->text());
78          $this->verifyNoErrors();          $this->verifyNoErrors();
79          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
80          //          $this->byLinkText("Tous Les Retours")->click();
81          $this->clickAndWait("link=Mes messages");          $this->assertContains("Instruction > Consultations > Tous Les Retours",
82                $this->byId("title")->text());
83          $this->verifyNoErrors();          $this->verifyNoErrors();
84          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
85          //          $this->byLinkText("Mes Messages")->click();
86          $this->clickAndWait("link=Tous les messages");          $this->assertContains("Instruction > Messages > Mes Messages",
87                $this->byId("title")->text());
88          $this->verifyNoErrors();          $this->verifyNoErrors();
89          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
90          //          $this->byLinkText("Tous Les Messages")->click();
91          $this->clickAndWait("css=a.commission_mes_retours-16");          $this->assertContains("Instruction > Messages > Tous Les Messages",
92                $this->byId("title")->text());
93          $this->verifyNoErrors();          $this->verifyNoErrors();
94          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
95          //          $this->byCssSelector("a.commission_mes_retours-16")->click();
96          $this->clickAndWait("css=a.commission_tous_retours-16");          $this->assertContains("Instruction > Commissions > Mes Retours",
97                $this->byId("title")->text());
98          $this->verifyNoErrors();          $this->verifyNoErrors();
99          $this->verifyTextPresent("dossier");          // On vérifie le menu ""
100            $this->byCssSelector("a.commission_tous_retours-16")->click();
101          //          $this->assertContains("Instruction > Commissions > Tous Les Retours",
102          $this->logout();              $this->byId("title")->text());
103            $this->verifyNoErrors();
104            // On se déconnecte
105            $this->deconnect();
106      }      }
107        // // Fonction public
108        // public function test01OuvertureMenu() {
109        //     // Récupération des utilisateurs
110        //     $utilisateurs = $this->listUtlisateurs;
111        //     // Pour chaque utilisateur on lance le test
112        //     foreach ($utilisateurs as $utilisateur) {
113        //         //
114        //         $this->ouvertureMenu($utilisateur);
115        //     }
116        //     // On vérifie la déconnexion
117        //     $this->verifyDeconnect();
118        // }
119        
120        // /**
121        //  *
122        //  */
123        // public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
124            
125        //     // On se connecte en tant que "instr"
126        //     $this->login("instr", "instr");
127        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
128        //     $this->verifyNoErrors();
129        //     // On clique sur le lien "Mes encours" dans le menu
130        //     $this->byLinkText("Mes Encours")->click();
131        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
132        //     $this->verifyNoErrors();
133        //     // On clique sur le lien "AZ0130551200001P0" dans le tableau
134        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
135        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
136        //     $this->verifyNoErrors();
137        //     // On vérifie que le breadcrumb est correct
138        //     $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
139        //     // On clique sur l'onglet "Instruction"
140        //     $this->byId("instruction")->click();
141        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
142        //     $this->verifyNoErrors();
143        //     // On clique sur l'onglet "Consultation(s)"
144        //     $this->byId("consultation")->click();
145        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
146        //     $this->verifyNoErrors();
147        //     // On clique sur l'onglet "Lot(s)"
148        //     $this->byId("lot")->click();
149        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
150        //     $this->verifyNoErrors();
151        //     // On clique sur l'onglet "Message(s)"
152        //     $this->byId("dossier_message")->click();
153        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
154        //     $this->verifyNoErrors();
155        //     // On clique sur l'onglet "Commission(s)"
156        //     $this->byId("dossier_commission")->click();
157        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
158        //     $this->verifyNoErrors();
159        //     // On clique sur l'onglet "Bloc-note"
160        //     $this->byId("blocnote")->click();
161        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
162        //     $this->verifyNoErrors();
163        //     // On clique sur l'onglet "DA"
164        //     $this->byId("dossier_autorisation")->click();
165        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
166        //     $this->verifyNoErrors();
167        //     // On clique sur le lien "AZ0130551200001" dans le tableau
168        //     $this->byLinkText("AZ 013055 12 00001")->click();
169        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
170        //     $this->verifyNoErrors();
171        //     // On vérifie que le breadcrumb est correct
172        //     $this->assertEquals("AZ 013055 12 00001", $this->byCssSelector(".form-content #dossier_autorisation_libelle")->text());
173        //     // On clique sur l'onglet "Dossier(s) d'instruction"
174        //     $this->byId("dossier_instruction")->click();
175        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
176        //     $this->verifyNoErrors();
177        //     // On clique sur le lien "AZ0130551200001P0" dans le tableau
178        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
179        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
180        //     $this->verifyNoErrors();
181        //     // On vérifie que le breadcrumb est correct
182        //     $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
183        //     // On se déconnecte
184        //     $this->logout();
185        // }
186    
187        // /**
188        //  *
189        //  */
190        // public function test_03_informations_du_widget_profil_instructeur() {
191        //     // On se connecte en tant que "instr"
192        //     $this->login("instr", "instr");
193        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
194        //     $this->verifyNoErrors();
195        //     // On vérifie que le titre du widget est correct
196        //     $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
197        //     // On vérifie que le profil est bon
198        //     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
199        //     // On vérifie que le nom de l'instructeur affiché est le bon
200        //     $this->assertEquals("Louis Laurent", $this->byCssSelector(".profil-infos-nom span.value")->text());
201        //     // On vérifie que la division de l'instructeur affichée est la bonne
202        //     $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
203        //     // On se déconnecte
204        //     $this->byLinkText("Déconnexion")->click();
205        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
206        //     $this->verifyNoErrors();
207        //     // On se connecte en tant que "instr"
208        //     $this->login("instr1", "instr");
209        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210        //     $this->verifyNoErrors();
211        //     // On vérifie que le titre du widget est correct
212        //     $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
213        //     // On vérifie que le profil est bon
214        //     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
215        //     // On vérifie que le nom de l'instructeur affiché est le bon
216        //     $this->assertEquals("Martine Nadeau", $this->byCssSelector(".profil-infos-nom span.value")->text());
217        //     // On vérifie que la division de l'instructeur affichée est la bonne
218        //     $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
219        //     // On se déconnecte
220        //     $this->byLinkText("Déconnexion")->click();
221        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222        //     $this->verifyNoErrors();
223        //     // On se connecte en tant que "instr"
224        //     $this->login("instr2", "instr");
225        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
226        //     $this->verifyNoErrors();
227        //     // On vérifie que le titre du widget est correct
228        //     $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
229        //     // On vérifie que le profil est bon
230        //     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
231        //     // On vérifie que le nom de l'instructeur affiché est le bon
232        //     $this->assertEquals("Roland Richard", $this->byCssSelector(".profil-infos-nom span.value")->text());
233        //     // On vérifie que la division de l'instructeur affichée est la bonne
234        //     $this->assertEquals("J", $this->byCssSelector(".profil-infos-division span.value")->text());
235        //     // On se déconnecte
236        //     $this->logout();
237        // }
238    
239        // /**
240        //  * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
241        //  * Modification d'un événement
242        //  */
243        // public function test_04_ajout_instructions_par_instructeur() {
244            
245        //     // On se connecte en tant que "admin"
246        //     $this->login("admin", "admin");
247        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
248        //     $this->verifyNoErrors();
249        //     // On clique sur le lien "Paramétrage Dossiers" dans le menu
250        //     $this->byLinkText("Paramétrage Dossiers")->click();
251        //     // On clique sur le sousmenu "Événement"
252        //     $this->byLinkText("Événement")->click();
253        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254        //     $this->verifyNoErrors();
255        //     // On remplis le champs de recherche simple
256        //     $this->byCssSelector("input[name='recherche']")->value('CDEC');
257        //     // On clique sur le bouton recherche
258        //     $this->byCssSelector(".ui-button")->click();
259        //     // On clique sur le résultat
260        //     $this->byLinkText("CDEC majoration appel decision")->click();
261        //     // On clique sur le bouton "Modifier"
262        //     $this->byId('action-form-evenement-modifier')->click();
263        //     // On modifie le champ restriction avec des données erronées
264        //     $this->byId('restriction')->clear();
265        //     $this->byId('restriction')->value("date_evenement >= champ_errone + 1");
266        //     // On valide la modification
267        //     $this->byCssSelector("input[value='Modifier']")->click();
268        //     // On vérifie le message de validation
269        //     $this->assertRegExp("/^[\s\S]*Le champ champ_errone n'est pas utilisable pour le champ restriction[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
270        //     // On modifie le champ restriction pour qu'il retourne une erreur au
271        //     // moment de l'ajout de l'instruction
272        //     $this->byId('restriction')->clear();
273        //     $this->byId('restriction')->value("date_evenement >= date_evenement + 1");
274        //     // On valide la modification
275        //     $this->byCssSelector("input[value='Modifier']")->click();
276        //     // On vérifie le message de validation
277        //     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
278        //     // On se déconnecte
279        //     $this->deconnect();
280        //     //{{{ Ajout de d'un nouveau dossier
281        //     // On se connecte à l'application
282        //     $this->login("guichet", "guichet");
283        //     //On clique sur le menu des instructions
284        //     $this->byLinkText("Nouveau Dossier")->click();
285        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286        //     $this->verifyNoErrors();
287        //     //On ajoute un nouveau dossier
288        //     $dossier = $this->addDossierInstruction(1, 1);
289        //     // On se déconnecte
290        //     $this->deconnect();
291        //     //}}}
292        //     // On se connecte en tant que "instr"
293        //     $this->login("instr", "instr");
294        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
295        //     $this->verifyNoErrors();
296        //     // On clique sur le lien "Mes encours" dans le menu
297        //     $this->byLinkText("Mes Encours")->click();
298        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299        //     $this->verifyNoErrors();
300        //     sleep(1);
301        //     // On clique sur le dossier dernièrement créé
302        //     $this->byLinkText($dossier)->click();
303        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
304        //     $this->verifyNoErrors();
305        //     // On clique sur l'onglet "Instruction"
306        //     $this->byId("instruction")->click();
307        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308        //     $this->verifyNoErrors();
309        //     //Ajout d'une instruction simple
310        //     // On clique sur le lien d'ajout dans le tableau
311        //     $this->byCssSelector(".actions-max-1 a")->click();
312        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
313        //     $this->verifyNoErrors();
314        //     //On choisi l'événement CDEC majoration appel decision [majoration]
315        //     $this->select($this->byId("evenement"))->selectOptionByValue("22");
316        //     //On valide le formulaire
317        //     $this->byXPath("//input[@value='Ajouter']")->click();
318        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319        //     $this->verifyNoErrors();
320        //     // On vérifie le mesage d'erreur
321        //     $this->assertRegExp('/.*Restriction non valide*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
322        //     // On se déconnecte
323        //     $this->deconnect();
324        //     // On se connecte en tant que "admin"
325        //     $this->login("admin", "admin");
326        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
327        //     $this->verifyNoErrors();
328        //     // On clique sur le lien "Paramétrage Dossiers" dans le menu
329        //     $this->byLinkText("Paramétrage Dossiers")->click();
330        //     // On clique sur le sousmenu "Événement"
331        //     $this->byLinkText("Événement")->click();
332        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
333        //     $this->verifyNoErrors();
334        //     // On remplis le champs de recherche simple
335        //     $this->byCssSelector("input[name='recherche']")->value('CDEC');
336        //     // On clique sur le bouton recherche
337        //     $this->byCssSelector(".ui-button")->click();
338        //     // On clique sur le résultat
339        //     $this->byLinkText("CDEC majoration appel decision")->click();
340        //     // On clique sur le bouton "Modifier"
341        //     $this->byId('action-form-evenement-modifier')->click();
342        //     // On modifie le champ restriction pour qu'il ne retourne pas d'erreur
343        //     // au moment de l'ajout de l'instruction
344        //     $this->byId('restriction')->clear();
345        //     $this->byId('restriction')->value("date_evenement <= date_evenement + 1");
346        //     // On valide la modification
347        //     $this->byCssSelector("input[value='Modifier']")->click();
348        //     // On vérifie le message de validation
349        //     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
350        //     // On se déconnecte
351        //     $this->deconnect();
352    
353        //     // On se connecte en tant que "instr"
354        //     $this->login("instr", "instr");
355        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
356        //     $this->verifyNoErrors();
357        //     // On clique sur le lien "Mes encours" dans le menu
358        //     $this->byLinkText("Mes Encours")->click();
359        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
360        //     $this->verifyNoErrors();
361        //     sleep(1);
362        //     // On clique sur le dossier dernièrement créé
363        //     $this->byLinkText($dossier)->click();
364        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
365        //     $this->verifyNoErrors();
366        //     // On clique sur l'onglet "Instruction"
367        //     $this->byId("instruction")->click();
368        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
369        //     $this->verifyNoErrors();
370        //     //Ajout d'une instruction simple
371        //     // On clique sur le lien d'ajout dans le tableau
372        //     $this->byCssSelector(".actions-max-1 a")->click();
373        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
374        //     $this->verifyNoErrors();
375        //     //On choisi l'événement CDEC majoration appel decision [majoration]
376        //     $this->select($this->byId("evenement"))->selectOptionByValue("22");
377        //     //On valide le formulaire
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        //     sleep(1);
382        //     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
383        //     //On retourne sur le tableau d'instructions
384        //     $this->byCssSelector("#sousform-instruction .retour")->click();
385        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
386        //     $this->verifyNoErrors();
387        //     //On affiche l'instruction
388        //     $this->byLinkText("CDEC majoration appel decision")->click();
389        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
390        //     $this->verifyNoErrors();
391        //     //On vérifie que certains champs n'apparaissent pas
392        //     $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
393        //     $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
394        //     //On retourne sur le tableau d'instructions
395        //     $this->byCssSelector("#sousform-instruction .retour")->click();
396        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
397        //     $this->verifyNoErrors();
398        //     //Ajout d'une instruction de type arrêté        
399        //     // On clique sur le lien d'ajout dans le tableau
400        //     $this->byCssSelector(".actions-max-1 a")->click();
401        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
402        //     $this->verifyNoErrors();
403        //     //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
404        //     $this->select($this->byId("evenement"))->selectOptionByValue("81");
405        //     // On clique sur la bible
406        //     $this->byLinkText('bible')->click();
407        //     // On vérifie qu'il y est les enregistrments "V56" et "V64"
408        //     $this->assertRegExp('/^[\s\S]*V56[\s\S]*$/',
409        //         $this->byCssSelector("#tab-bible")->text());
410        //     $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
411        //         $this->byCssSelector("#tab-bible")->text());
412        //     // On choisit plusieurs éléments
413        //     $this->byId('checkbox4')->click();
414        //     $this->byId('checkbox5')->click();
415        //     // On valide le formulaire
416        //     $this->byXPath("//input[@value='Valider']")->click();
417        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418        //     $this->verifyNoErrors();
419        //     // On valide le formulaire
420        //     $this->byXPath("//input[@value='Ajouter']")->click();
421        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
422        //     $this->verifyNoErrors();
423        //     // On vérifie le message de validation
424        //     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
425        //     //On retourne sur le tableau d'instructions
426        //     $this->byCssSelector("#sousform-instruction .retour")->click();
427        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
428        //     $this->verifyNoErrors();
429        //     // On clique sur l'instruction
430        //     $this->byLinkText("accepter un dossier sans réserve")->click();
431        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
432        //     $this->verifyNoErrors();
433        //     // On vérifie le contenu du champ "complément"
434        //     $this->assertContains("Vu l'avis favorable de l'Architecte des Bâtiments de France en date du", $this->byId("complement_om_html")->text());
435        //     $this->assertContains("Vu l'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du", $this->byId("complement_om_html")->text());
436        //     //On vérifie que certains champs apparaissent
437        //     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
438        //     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
439        //     // On se déconnecte
440        //     $this->logout();
441        // }
442    
443        // /**
444        //  * Test le formulaire de la demande de type qui possède des select filtrés
445        //  */
446        // public function test_05_ajout_lot() {
447        //     // On se connecte en tant que "instr"
448        //     $this->login("instr", "instr");
449        //     // On clique sur le lien "Mes encours" dans le menu
450        //     $this->byLinkText("Mes Encours")->click();
451        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
452        //     $this->verifyNoErrors();
453        //     // On clique sur le lien "AZ0130551200001P0" dans le tableau
454        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
455        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
456        //     $this->verifyNoErrors();
457        //     // On clique sur l'onglet "Lot(s)"
458        //     $this->byId("lot")->click();
459        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
460        //     $this->verifyNoErrors();
461        //     // On clique sur le bouton d'ajout de lots
462        //     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
463        //     // Vérification des champs obligatoires
464        //     $this->byXPath("//input[@value='Ajouter']")->click();
465        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
466        //     $this->verifyNoErrors();
467        //     // On vérifie que le message de champ vide soit affiché
468        //     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
469        //     // Insertion d'un lot
470        //     $this->byId("libelle")->value("Lot n°1");
471        //     $this->byXPath("//input[@value='Ajouter']")->click();
472        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
473        //     $this->verifyNoErrors();
474        //     sleep(1);
475        //     // On retourne sur le tableau listant les lots
476        //     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
477        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
478        //     $this->verifyNoErrors();
479        //     // On clique sur le bouton d'ajout de lots
480        //     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
481        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
482        //     $this->verifyNoErrors();
483        //     // Insertion d'un second lot
484        //     $this->byId("libelle")->value("Lot n°2");
485        //     $this->byXPath("//input[@value='Ajouter']")->click();
486        //     sleep(1);
487        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
488        //     $this->verifyNoErrors();
489        //     // On retourne sur le tableau listant les lots
490        //     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
491        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
492        //     $this->verifyNoErrors();
493        //     // On se déconnecte
494        //     $this->logout();
495        // }
496    
497        // /**
498        //  * Test du lien automatique entre choix autorité compétente dans DI et
499        //  * évènement d'instruction à créer
500        //  */
501        // // Fonction privé
502        // private function modification_autorite_competente($utilisateur) {
503        //     // On se connecte à l'application
504        //     $this->login($utilisateur["login"], $utilisateur["mdp"]);
505        //     // Ouvre le menu
506        //     $this->openMenu("Instruction", $utilisateur);
507        //     // On clique sur le lien "Mes encours" dans le menu
508        //     $this->byLinkText("Recherche")->click();
509        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
510        //     $this->verifyNoErrors();
511        //     // On clique sur le lien "AZ0130551200001P0" dans le tableau
512        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
513        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
514        //     $this->verifyNoErrors();
515        //     // On clique sur l'onglet "Instruction"
516        //     $this->byId("instruction")->click();
517        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
518        //     $this->verifyNoErrors();
519        //     // On clique sur le bouton d'ajout de lots
520        //     $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
521        //     // Vérification des champs obligatoires
522        //     $this->byXPath("//input[@value='Ajouter']")->click();
523        //     sleep(1);
524        //     //On choisi un événement
525        //     $this->select($this->byId("evenement"))->selectOptionByValue("94");
526        //     // Validation du formulaire
527        //     $this->byXPath("//input[@value='Ajouter']")->click();
528        //     sleep(1);
529        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
530        //     $this->verifyNoErrors();
531        //     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
532        //     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
533        //     // Retour à l'onglet principal
534        //     $this->byId("main")->click();
535        //     $this->refresh();
536        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
537        //     $this->verifyNoErrors();
538        //     // On verifie que l'autorité compétente à changée.
539        //     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
540        //     // On se déconnecte
541        //     $this->deconnect();
542    
543        //     // On se connecte en tant que "admin"
544        //     $this->login("admin", "admin");
545        //     sleep(1);
546        //     $this->byLinkText("Instruction")->click();
547        //     // On clique sur le lien "Recherche" dans le menu
548        //     $this->byLinkText("Recherche")->click();
549        //     // On clique sur le lien "AZ0130551200001P0" dans le tableau
550        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
551        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
552        //     $this->verifyNoErrors();
553        //     // On verifie que l'autorité compétente à changée
554        //     $this->assertEquals('Commune pour état', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
555        //     // On clique sur l'onglet "Instruction"
556        //     $this->byId("instruction")->click();
557        //     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
558        //     sleep(1);
559        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
560        //     $this->verifyNoErrors();
561        //     // On supprime l'element et on verifie le retour de l'autorité "commune"
562        //     $this->byId("action-sousform-instruction-supprimer")->click();
563        //     // On valide le formulaire
564        //     $this->byXPath("//input[@value='Supprimer']")->click();sleep(1);
565        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
566        //     $this->verifyNoErrors();
567        //     // On clique sur le bouton retour
568        //     $this->byLinkText("Retour")->click();
569        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
570        //     $this->verifyNoErrors();
571        //     // On vérifie que l'événement d'instruction n'est plus dans le tableau
572        //     $this->assertNotContains("Changer l'autorité compétente 'commune état'", $this->byId("sousform-instruction")->text());
573        //     // Retour à l'onglet principal
574        //     $this->byId("main")->click();
575        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
576        //     $this->verifyNoErrors();
577        //     // On rafraîchit la page
578        //     $this->refresh();
579        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
580        //     $this->verifyNoErrors();
581        //     // On verifie que l'autorité compétente à changée.
582        //     $this->assertEquals('Commune', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
583        //     // On se déconnecte
584        //     $this->deconnect();
585        // }
586        // // Fonction public
587        // public function test_06_modification_autorite_competente() {
588        //     // Récupération des utilisateurs
589        //     $utilisateurs = $this->listUtlisateurs;
590        //     // Pour chaque utilisateur on lance le test
591        //     foreach ($utilisateurs as $utilisateur) {
592        //         //
593        //         $this->modification_autorite_competente($utilisateur);
594        //     }
595        //     // On vérifie la déconnexion
596        //     $this->verifyDeconnect();
597        // }
598    
599        // /**
600        //  * Test de l'ajout de données techniques au dossier
601        //  */
602        // public function test_07_edition_donnees_techniques() {
603        //     // On se connecte en tant que "instr"
604        //     $this->login("admin", "admin");
605        //     sleep(1);
606        //     // Ouverture du menu de paramétrage des dossiers
607        //     $this->byLinkText("Paramétrage Dossiers")->click();
608        //     // Ouverture du menu des cerfa
609        //     $this->byLinkText("Cerfa")->click();
610        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
611        //     $this->verifyNoErrors();
612        //     // Ouverture d'un cerfa
613        //     $this->byLinkText("cerfa de test n°1")->click();
614        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
615        //     $this->verifyNoErrors();
616        //     // Modification du cerfa affiché
617        //     $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
618        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
619        //     $this->verifyNoErrors();
620        //     // Ajout de champs au formulaire des données techniques
621        //     $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
622        //     $this->byId("terr_juri_titul")->click();
623        //     $this->byId("terr_juri_lot")->click();
624        //     $this->byId("terr_juri_zac")->click();
625        //     $this->byId("terr_juri_afu")->click();
626        //     $this->byId("terr_juri_pup")->click();
627        //     $this->byId("terr_juri_oin")->click();
628        //     $this->byId("terr_juri_desc")->click();
629        //     // Validation du formulaire
630        //     $this->byXPath("//input[@value='Modifier']")->click();
631        //     // Vérification des erreurs
632        //     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
633        //     $this->byLinkText("Retour")->click();
634        //     // On se déconnecte
635        //     $this->deconnect();
636        //     // On se connecte en tant que "instr"
637        //     $this->login("instr", "instr");
638        //     // On clique sur le lien "Mes encours" dans le menu
639        //     $this->byLinkText("Mes Encours")->click();
640        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
641        //     $this->verifyNoErrors();
642        //     // On clique sur le lien "AZ0130551200001P0" dans le tableau
643        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
644        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
645        //     $this->verifyNoErrors();
646        //     // On click sur le lien "Données techniques"
647        //     $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
648        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
649        //     $this->verifyNoErrors();
650        //     sleep(1);
651        //     // Modification des données techniques
652        //     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
653        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
654        //     $this->verifyNoErrors();
655        //     sleep(1);
656        //     $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());
657        //     // Validation du formulaire
658        //     $this->byXPath("//input[@value='Modifier']")->click();
659        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
660        //     $this->verifyNoErrors();
661        //     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
662        //     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
663        //     sleep(1);
664        //     // On se déconnecte
665        //     $this->logout();
666    
667        // }
668    
669        // /**
670        //  * Test un événement d'instruction qui a un événement "retour"
671        //  */
672        // public function test_08_evenement_instruction_retour() {
673    
674        //     // On se connecte à l'application en tant qu'administrateur
675        //     $this->login("admin", "admin");
676        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
677        //     $this->verifyNoErrors();
678    
679        //     /** On ajoute une action "retour signature" **/
680        //     // On clique sur le menu "Paramétrage Dossiers"
681        //     $this->byLinkText("Paramétrage Dossiers")->click();
682        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
683        //     $this->verifyNoErrors();
684        //     // On clique sur le sous-menu "Action"
685        //     $this->byLinkText("Action")->click();
686        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
687        //     $this->verifyNoErrors();
688        //     // On clique sur le bouton "ajouter"
689        //     $this->byId("action-tab-action-corner-ajouter")->click();
690        //     // On remplis les champs
691        //     $this->byId("action")->value("retour signature");
692        //     $this->byId("libelle")->value("retour signature");
693        //     $this->byId("regle_etat")->value("etat");
694        //     $this->byId("regle_date_validite")->value("date_retour_signature + duree_validite");
695        //     // On valide le formulaire
696        //     $this->byXPath("//input[@value='Ajouter']")->click();
697        //     // On vérifie le message de validation
698        //     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
699        //     /** Fin **/
700    
701        //     /** On ajoute un événement "retour signature" **/
702        //     // On clique sur le sous-menu "Événement"
703        //     $this->byLinkText("Événement")->click();
704        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
705        //     $this->verifyNoErrors();
706        //     // On clique sur le bouton "ajouter"
707        //     $this->byId("action-tab-evenement-corner-ajouter")->click();
708        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
709        //     $this->verifyNoErrors();
710        //     // On remplis les champs
711        //     $this->byId("libelle")->value("retour signature");
712        //     $this->byId("retour")->click();
713        //     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
714        //     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("dossier accepter");
715        //     $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
716        //     $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
717        //     $this->select($this->byId("action"))->selectOptionByLabel("retour signature");
718        //     // On valide le formulaire
719        //     $this->byXPath("//input[@value='Ajouter']")->click();
720        //     // On vérifie le message de validation
721        //     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
722        //     // On clique sur "Retour"
723        //     $this->byLinkText("Retour")->click();
724        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
725        //     $this->verifyNoErrors();
726        //     // On recherche l'événement "accepter un dossier sans réserve"
727        //     $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
728        //     // On clique sur le bouton recherche
729        //     $this->byCssSelector(".ui-button")->click();
730        //     // On clique sur le résultat
731        //     $this->byLinkText("accepter un dossier sans réserve")->click();
732        //     // On clique sur le bouton "Modifier"
733        //     $this->byId('action-form-evenement-modifier')->click();
734        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
735        //     $this->verifyNoErrors();
736        //     // On sélectionne l'événement "retour" dans "evenement_retour_signature"
737        //     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("retour signature");
738        //     // On valide le formulaire
739        //     $this->byXPath("//input[@value='Modifier']")->click();
740        //     // On vérifie le message de validation
741        //     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
742        //     /** Fin **/
743    
744        //     /** On ajoute une durée de validité au type de DA PCI **/
745        //     // On clique sur le sous-menu "Type DA Détaillé"
746        //     $this->byLinkText("Type DA Détaillé")->click();
747        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
748        //     $this->verifyNoErrors();
749        //     // On clique sur le PCI
750        //     $this->byLinkText("PCI")->click();
751        //     // On clique sur le bouton "modifier"
752        //     $this->byId("action-form-dossier_autorisation_type_detaille-modifier")->click();
753        //     // On modifie la durée de validité
754        //     $this->byId("duree_validite_parametrage")->clear();
755        //     $this->byId("duree_validite_parametrage")->value("5");
756        //     // On valide le formulaire
757        //     $this->byXPath("//input[@value='Modifier']")->click();
758        //     // On vérifie le message de validation
759        //     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
760        //     /** Fin **/
761    
762        //     /** On instancie une nouvelle demande initial PCI **/
763        //     // On clique sur le menu "Guichet Unique"
764        //     $this->byLinkText("Guichet Unique")->click();
765        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
766        //     $this->verifyNoErrors();
767        //     // On clique sur le sous-menu "Nouveau Dossier"
768        //     $this->byLinkText("Nouveau Dossier")->click();
769        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
770        //     $this->verifyNoErrors();
771        //     // On selectionne le type de dossier d'autorisation détaillé "Permis de construire pour une maison individuelle et / ou ses annexes"
772        //     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
773        //     // On selectionne le type de demande "Dépôt Initial"
774        //     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
775        //     // On clique pour ajouter un pétitionnaire principale
776        //     $this->byId("add_petitionnaire_principal")->click();
777        //     // On remplit le champ
778        //     $this->byId("particulier_nom")->value("DURAND");
779        //     // On remplit le champ
780        //     $this->byId("particulier_prenom")->value("MICKAEL");
781        //     // On remplit le champ
782        //     $this->byId("particulier_date_naissance")->value("03/01/1956");
783        //     // On remplit le champ
784        //     $this->byId("particulier_commune_naissance")->value("LILLE");
785        //     // On remplit le champ
786        //     $this->byId("particulier_departement_naissance")->value("NORD");
787        //     // On remplit le champ
788        //     $this->byId("numero")->value("12");
789        //     // On remplit le champ
790        //     $this->byId("voie")->value("RUE DE LA LOI");
791        //     // On remplit le champ
792        //     $this->byId("complement")->value("APPT 12");
793        //     // On remplit le champ
794        //     $this->byId("localite")->value("MARSEILLE");
795        //     // On remplit le champ
796        //     $this->byId("code_postal")->value("13012");
797        //     // On remplit le champ
798        //     $this->byId("telephone_fixe")->value("0404040404");
799        //     // On clique sur ajouter
800        //     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
801        //     // On vérifie le message
802        //     $this->assertContains("Vos modifications ont bien été enregistrées", $this->byCssSelector("#sousform-petitionnaire .message")->text());
803        //     // On clique sur le bouton retour
804        //     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
805        //     // On vérifie que le text est présent
806        //     $this->assertContains("DURAND MICKAEL",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
807        //     // On clique sur ajouter
808        //     $this->byXPath("//input[@value='Ajouter']")->click();
809        //     // On vérifie le message
810        //     $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
811        //     // Récupération du numéro de dossier
812        //     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
813        //     $dossier = $dossier[0];
814        //     /** Fin **/
815    
816        //     /** On ajoute une instruction de dossier accepter et on la finalise **/
817        //     // On clique sur le menu "Instruction"
818        //     $this->byLinkText("Instruction")->click();
819        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
820        //     $this->verifyNoErrors();
821        //     // On clique sur le sous-menu "Recherche"
822        //     $this->byLinkText("Recherche")->click();
823        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
824        //     $this->verifyNoErrors();
825        //     // On recherche le dossier crée
826        //     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
827        //     // On clique sur le bouton recherche
828        //     $this->byId("adv-search-submit")->click();
829        //     // On clique sur le résultat
830        //     $this->byLinkText($dossier)->click();
831        //     // On clique sur l'onglet "Instruction"
832        //     $this->byId("instruction")->click();
833        //     // On ajoute un événement d'instruction
834        //     $this->byId("action-soustab-instruction-corner-ajouter")->click();
835        //     // On sélectionne l'évenement "accepter un dossier sans réserve"
836        //     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
837        //     // On valide le formulaire
838        //     $this->byXPath("//input[@value='Ajouter']")->click();
839        //     // On vérifie le message
840        //     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
841        //     // On clique sur le bouton "retour"
842        //     $this->byLinkText("Retour")->click();
843        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
844        //     $this->verifyNoErrors();
845        //     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
846        //     $this->byLinkText("accepter un dossier sans réserve")->click();
847        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
848        //     $this->verifyNoErrors();
849        //     // On valide l'instruction
850        //     $this->byId("action-sousform-instruction-finalisation")->click();
851        //     // On vérifie le message de validation
852        //     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
853        //     // On clique sur le bouton "Retour"
854        //     $this->byLinkText("Retour")->click();
855        //     // On clique sur l'événement "accepter un dossier sans réserve"
856        //     $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
857        //     // Récupération du numéro d'événement
858        //     $evenement = $this->byCssSelector("#instruction.field_value")->text();
859        //     /** Fin **/
860    
861        //     /** On met à jour la date de retour signature **/
862        //     // Date de retour signature
863        //     $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5,  date("Y")));
864        //     // On clique sur le menu "Suivi"
865        //     $this->byLinkText("Suivi")->click();
866        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
867        //     $this->verifyNoErrors();
868        //     // On clique sur le sous-menu "Mise À Jour Des Dates"
869        //     $this->byLinkText("Mise À Jour Des Dates")->click();
870        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
871        //     $this->verifyNoErrors();
872        //     // On sélectionne "date de retour de signature + Envoi contrôle légalite"
873        //     $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
874        //     // On remplit à la date du jour + 5 jours
875        //     $this->byId("date")->value($date_retour_signature);
876        //     // On remplit le code barres de l'instruction
877        //     $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
878        //     // On clique sur Valider
879        //     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
880        //     // On vérifie la synthèse avec le numéro du dossier et l'événement
881        //     $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
882        //     $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
883        //     // On clique sur Valider
884        //     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
885        //     // On vérifie le message de validation
886        //     $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
887        //     /** Fin **/
888    
889        //     /** Vérifie l'instruction "retour" et le DI **/
890        //     // Date de validité
891        //     $date_validite = $this->mois_date(date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+5,  date("Y"))), 5, "+");
892        //     $date_validite = date("d/m/Y", strtotime($date_validite));
893        //     // On clique sur le menu "Instruction"
894        //     $this->byLinkText("Instruction")->click();
895        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
896        //     $this->verifyNoErrors();
897        //     // On clique sur le sous-menu "Recherche"
898        //     $this->byLinkText("Recherche")->click();
899        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
900        //     $this->verifyNoErrors();
901        //     // On recherche le dossier crée
902        //     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
903        //     // On clique sur le bouton recherche
904        //     $this->byId("adv-search-submit")->click();
905        //     // On clique sur le résultat
906        //     $this->byLinkText($dossier)->click();
907        //     // On vérifie la date de validité mise à jour par l'action
908        //     $this->assertContains($date_validite, $this->byId("date_validite")->text());
909        //     // On clique sur l'onglet "Instruction"
910        //     $this->byId("instruction")->click();
911        //     // On clique sur l'instruction "retour signature"
912        //     $this->byLinkText("retour signature")->click();
913        //     // On contrôle la date de retour signature
914        //     $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
915        //     /** Fin **/
916    
917        //     // On se déconnecte
918        //     $this->logout();
919    
920        // }
921        
922        // /**
923        //  * Test la suppression d'un événement d'instruction lié à une demande qui ne
924        //  * créée pas de nouveau dossier d'instruction
925        //  */
926        // public function test_09_suppression_evenement_demande(){
927            
928        //     //Ajout du paramétrage d'une nouvelle demande
929        //     // On se connecte à l'application en tant qu'administrateur
930        //     $this->login("admin", "admin");
931        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
932        //     $this->verifyNoErrors();
933        //     //On clique sur "Paramétrage dossier"
934        //     $this->byLinkText("Paramétrage Dossiers")->click();
935        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
936        //     $this->verifyNoErrors();
937        //     //On clique sur Type
938        //     $this->byLinkText("Type")->click();
939        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
940        //     $this->verifyNoErrors();
941        //     //On clique sur le "+" du tableau
942        //     $this->byClassName("add-16")->click();
943        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
944        //     $this->verifyNoErrors();
945        //     //On saisit le type de la demande
946        //     $this->byId("code")->value("test_09_suppression");
947        //     $this->byId("libelle")->value("test_09_suppression");
948        //     // On sélectionne le groupe 'Autorisation ADS'
949        //     $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
950        //     // On sélectionne 'AZ (Demande d'autorisation spéciale de travaux dans
951        //     // le périmètre d'une AVAP)'
952        //     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
953        //     // On sélectionne la nature 'Dossier existant'
954        //     $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
955        //     // On sélectionne l'état 'En cours'
956        //     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");
957        //     // On sélectionne l'événement 'Defrichement soumis a enquete publique'
958        //     $this->select($this->byId("evenement"))->selectOptionByValue("15");
959        //     // On sélectionne la contrainte 'Avec récupération demandeur'
960        //     $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
961        //     // On clique sur le bouton ajouter
962        //     $this->byXPath("//input[@value='Ajouter']")->click();
963        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
964        //     $this->verifyNoErrors();
965        //     // On vérifie que le type de demande a bien été ajouté
966        //     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
967        //     //On se déconnecte
968        //     $this->deconnect();
969            
970        //     //Création d'un nouveau dossier d'instruction
971        //     // On se connecte à l'application
972        //     $this->login("guichet", "guichet");
973        //     //On clique sur "Dossier En Cours"
974        //     $this->byLinkText("Dossier En Cours")->click();
975        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
976        //     $this->verifyNoErrors();
977        //     //On clique sur le dossier "AZ0130551200001P0"
978        //     $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
979        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
980        //     $this->verifyNoErrors();
981        //     //On sélectionne le type de la demande
982        //     $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
983        //     // On clique sur le bouton ajouter
984        //     $this->byXPath("//input[@value='Ajouter']")->click();
985        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
986        //     $this->verifyNoErrors();
987        //     // On vérifie que le type de demande a bien été ajouté
988        //     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
989        //     //On se déconnecte
990        //     $this->deconnect();
991            
992        //     //Suppression de l'événement d'instruction
993        //     // On se connecte à l'application
994        //     $this->login("admin", "admin");
995        //     //On clique sur le menu "Instruction"
996        //     $this->byLinkText("Instruction")->click();
997        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
998        //     $this->verifyNoErrors();
999        //     //On clique sur le menu "Recherche"
1000        //     $this->byLinkText("Recherche")->click();
1001        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1002        //     $this->verifyNoErrors();
1003        //     //On clique sur le dossier "AZ 013055 12 00001P0"
1004        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
1005        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1006        //     $this->verifyNoErrors();
1007        //     //On clique sur l'onglet "Instruction"
1008        //     $this->byId("instruction")->click();
1009        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1010        //     $this->verifyNoErrors();
1011        //     //On clique sur l'instruction "Defrichement soumis a enquete publique"
1012        //     $this->byLinkText("Defrichement soumis a enquete publique")->click();
1013        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1014        //     $this->verifyNoErrors();
1015        //     //On définalise l'instruction
1016        //     $this->byClassName("definalise")->click();
1017        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1018        //     $this->verifyNoErrors();
1019        //     //On clique "Supprimer"
1020        //     $this->byCssSelector("#sousform-instruction .delete-16")->click();
1021        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1022        //     $this->verifyNoErrors();
1023        //     //On clique sur supprimer
1024        //     $this->byXPath("//input[@value='Supprimer']")->click();
1025        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1026        //     $this->verifyNoErrors();
1027        //     //On vérifie que lasuppression a été éffectuée
1028        //     $this->assertContains("La suppression a été correctement effectuée.",
1029        //         $this->byCssSelector("#sousform-instruction .message .text")->text());
1030        //     // On se déconnecte
1031        //     $this->logout();
1032        // }
1033    
1034        // /**
1035        //  * Test sur les types d'éditions des consultations
1036        //  */
1037        // function test_10_nouveau_type_edition_consultation(){
1038            
1039        //     //On saisit un service de test        
1040        //     // On se connecte à l'application
1041        //     $this->login("admin", "admin");
1042        //     //On clique sur "Paramétrage"
1043        //     $this->byLinkText("Paramétrage")->click();
1044        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1045        //     $this->verifyNoErrors();
1046        //     //On clique sur "Service"
1047        //     $this->byLinkText("Service")->click();
1048        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1049        //     $this->verifyNoErrors();        
1050        //     //On clique sur le "+" du tableau
1051        //     $this->byClassName("add-16")->click();
1052        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1053        //     $this->verifyNoErrors();
1054        //     //On saisit les données du service
1055        //     $this->byId("abrege")->value("test_10");
1056        //     $this->byId("libelle")->value("test_10");
1057        //     $this->byId("consultation_papier")->click();
1058        //     $this->select($this->byId("edition"))->selectOptionByLabel("test_10");
1059        //     // On clique sur le bouton ajouter
1060        //     $this->byXPath("//input[@value='Ajouter']")->click();
1061        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1062        //     $this->verifyNoErrors();
1063        //     // On vérifie que le service a bien été ajouté
1064        //     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1065        //     //On se déconnecte
1066        //     $this->deconnect();
1067            
1068        //     //On ajoute une consultation sur un dossier et on vérifie l'édition
1069        //     // On se connecte à l'application
1070        //     $this->login("instr", "instr");
1071        //     //On clique sur "Recherche"
1072        //     $this->byLinkText("Recherche")->click();
1073        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1074        //     $this->verifyNoErrors();
1075        //     //On choisit le dossier "AZ 013055 12 00001P0"
1076        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
1077        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1078        //     $this->verifyNoErrors();
1079        //     //On clique sur l'onglet "Consultation"
1080        //     $this->byId("consultation")->click();
1081        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1082        //     $this->verifyNoErrors();
1083        //     //On clique sur le "+" du tableau
1084        //     $this->byClassName("add-16")->click();
1085        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1086        //     $this->verifyNoErrors();
1087        //     //On saist une nouvelle consultation
1088        //     $this->select($this->byId("service"))->selectOptionByLabel("test_10");
1089        //     // On clique sur le bouton ajouter
1090        //     $this->byXPath("//input[@value='Ajouter']")->click();
1091        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1092        //     $this->verifyNoErrors();
1093        //     // On vérifie que la consultation a bien été ajoutée
1094        //     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1095        //     //On clique sur retour
1096        //     $this->byCssSelector("#sousform-consultation .retour")->click();
1097        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1098        //     $this->verifyNoErrors();
1099        //     //On clique sur la consultation au service "test_10"
1100        //     $this->byLinkText("test_10")->click();
1101        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1102        //     $this->verifyNoErrors();
1103        //     //On affiche le PDF
1104        //     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1105        //     // Liste les fenêtres
1106        //     $windows = $this->windowHandles();
1107        //     // Change la fenêtre
1108        //     $this->window($windows[1]);
1109        //     // On vérifie qu'il n'y ait pas d'erreur
1110        //     $this->verifynoerrors();
1111        //     // On vérifie que le text est présent
1112        //     $this->assertContains("test_10",$this->source());
1113        //     $this->assertNotContains("test_10_2",$this->source());
1114        //     // On ferme la fenêtre
1115        //     $this->closeWindow();
1116        //     // On change le focus de la fenêtre
1117        //     $this->window($windows[0]);
1118        //     //On se déconnecte
1119        //     $this->deconnect();
1120            
1121        //     //On change l'édition
1122        //     // On se connecte à l'application
1123        //     $this->login("admin", "admin");
1124        //     //On clique sur "Paramétrage"
1125        //     $this->byLinkText("Paramétrage")->click();
1126        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1127        //     $this->verifyNoErrors();
1128        //     //On clique sur "Service"
1129        //     $this->byLinkText("Service")->click();
1130        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1131        //     $this->verifyNoErrors();
1132        //     //On cherche le service
1133        //     $this->byName("recherche")->value("test_10");
1134        //     //On valide
1135        //     $this->byName("s1")->click();
1136        //     //On clique sur le service test_10
1137        //     $this->byLinkText("test_10")->click();
1138        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1139        //     $this->verifyNoErrors();
1140        //     //On clique sur "Modifier" dans le portail d'action
1141        //     $this->byClassName("edit-16")->click();
1142        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1143        //     $this->verifyNoErrors();
1144        //     //On choisit une seconde édition
1145        //     $this->select($this->byId("edition"))->selectOptionByLabel("test_10_2");
1146        //     // On clique sur le bouton ajouter
1147        //     $this->byXPath("//input[@value='Modifier']")->click();
1148        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1149        //     $this->verifyNoErrors();
1150        //     // On vérifie que le service a bien été ajouté
1151        //     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1152        //     //On se déconnecte
1153        //     $this->deconnect();
1154            
1155        //     //On vérifie que c'est la bonne édition qui est affiché
1156        //     // On se connecte à l'application
1157        //     $this->login("instr", "instr");
1158        //     //On clique sur "Recherche"
1159        //     $this->byLinkText("Recherche")->click();
1160        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1161        //     $this->verifyNoErrors();
1162        //     //On choisit le dossier "AZ 013055 12 00001P0"
1163        //     $this->byLinkText("AZ 013055 12 00001P0")->click();
1164        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1165        //     $this->verifyNoErrors();
1166        //     //On clique sur l'onglet "Consultation"
1167        //     $this->byId("consultation")->click();
1168        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1169        //     $this->verifyNoErrors();
1170        //     //On clique sur la consultation au service "test_10"
1171        //     $this->byLinkText("test_10")->click();
1172        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1173        //     $this->verifyNoErrors();
1174        //     //on definalise la consultaion
1175        //     $this->byClassName("definalise")->click();
1176        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1177        //     $this->verifyNoErrors();
1178        //     //On vérifie que la consultation s'est bien définalisée
1179        //     $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(10);
1180        //     //On affiche le PDF
1181        //     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1182        //     // Liste les fenêtres
1183        //     $windows = $this->windowHandles();
1184        //     // Change la fenêtre
1185        //     $this->window($windows[1]);
1186        //     // On vérifie qu'il n'y ait pas d'erreur
1187        //     $this->verifynoerrors();
1188        //     // On vérifie que le text est présent
1189        //     $this->assertContains("test_10_2",$this->source());
1190        //     // On ferme la fenêtre
1191        //     $this->closeWindow();
1192        //     // On change le focus de la fenêtre
1193        //     $this->window($windows[0]);
1194            
1195        //     // On se déconnecte
1196        //     $this->logout();
1197        // }
1198    
1199        // /**
1200        //  * Test sur un événement non verrouillable
1201        //  */
1202        // public function test_11_evenement_non_verrouillable(){
1203    
1204        //     /* On crée une nouvelle demande initial */
1205        //     // On se connecte à l'application
1206        //     $this->login("guichet", "guichet");
1207        //     // On clique sur le menu "Nouveau Dossier"
1208        //     $this->byLinkText("Nouveau Dossier")->click();
1209        //     // On vérifie qu'il n'y ait pas d'erreur
1210        //     $this->verifynoerrors();
1211        //     // On vérifie le nom de l'onglet
1212        //     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
1213        //     // On sélectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
1214        //     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
1215        //     // On selectionne le label "Dépôt Initial"
1216        //     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
1217        //     // On clique pour ajouter un pétitionnaire principale
1218        //     $this->byId("add_petitionnaire_principal")->click();
1219        //     // On remplit le champ
1220        //     $this->byId("particulier_nom")->value("DURAND");
1221        //     // On remplit le champ
1222        //     $this->byId("particulier_prenom")->value("MICKAEL");
1223        //     // On remplit le champ
1224        //     $this->byId("particulier_date_naissance")->value("03/01/1956");
1225        //     // On remplit le champ
1226        //     $this->byId("particulier_commune_naissance")->value("LILLE");
1227        //     // On remplit le champ
1228        //     $this->byId("particulier_departement_naissance")->value("NORD");
1229        //     // On remplit le champ
1230        //     $this->byId("numero")->value("12");
1231        //     // On remplit le champ
1232        //     $this->byId("voie")->value("RUE DE LA LOI");
1233        //     // On remplit le champ
1234        //     $this->byId("complement")->value("APPT 12");
1235        //     // On remplit le champ
1236        //     $this->byId("localite")->value("MARSEILLE");
1237        //     // On remplit le champ
1238        //     $this->byId("code_postal")->value("13012");
1239        //     // On remplit le champ
1240        //     $this->byId("telephone_fixe")->value("0404040404");
1241        //     // On clique sur ajouter
1242        //     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1243        //     // On vérifie qu'il n'y ait pas d'erreur
1244        //     $this->verifynoerrors();
1245        //     // On vérifie le message
1246        //     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1247        //     // On clique sur le bouton retour
1248        //     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1249        //     // On vérifie que le text est présent
1250        //     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1251        //     // On clique sur ajouter
1252        //     $this->byXPath("//input[@value='Ajouter']")->click();
1253        //     // On vérifie qu'il n'y ait pas d'erreur
1254        //     $this->verifynoerrors();
1255        //     // On vérifie le message
1256        //     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
1257        //     // Récupération du numéro de dossier
1258        //     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
1259        //     $dossier_libelle = $matches[0];
1260        //     $dossier = str_replace(' ', '', $dossier_libelle);
1261        //     $dossier_dir = substr_replace($dossier, '.', -2, -3);
1262        //     // On clique
1263        //     $this->byCssSelector("a.lien")->click();sleep(5);
1264        //     // Liste les fenêtres
1265        //     $windows = $this->windowHandles();
1266        //     // Change la fenêtre
1267        //     $this->window($windows[1]);
1268        //     // On vérifie qu'il n'y ait pas d'erreur
1269        //     $this->verifynoerrors();
1270        //     // On vérifie que le text est présent
1271        //     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
1272        //     // On ferme la fenêtre
1273        //     $this->closeWindow();
1274        //     // On change le focus de la fenêtre
1275        //     $this->window($windows[0]);
1276        //     // On clique sur le bouton retour
1277        //     $this->byLinkText("Retour")->click();
1278        //     // On vérifie qu'il n'y ait pas d'erreur
1279        //     $this->verifynoerrors();
1280        //     // On vérifie que le répertoire s'est crée
1281        //     $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
1282        //     // On se déconnecte
1283        //     $this->deconnect();
1284        //     /* Fin */
1285    
1286        //     /* On accepte le dossier d'instruction et le finalise */
1287        //     // On se connecte à l'application
1288        //     $this->login("instr", "instr");
1289        //     // On clique sur le menu 'Recherche'
1290        //     $this->byLinkText("Recherche")->click();
1291        //     // On recherche le dossier crée
1292        //     $this->byId("dossier")->value($dossier);
1293        //     // On clique sur le bouton recherche
1294        //     $this->byId("adv-search-submit")->click();
1295        //     // On clique sur le résultat
1296        //     $this->byLinkText($dossier_libelle)->click();
1297        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1298        //     $this->verifyNoErrors();
1299        //     // On clique sur l'onglet "Instruction"
1300        //     $this->byId("instruction")->click();
1301        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1302        //     $this->verifyNoErrors();
1303        //     // On clique sur le lien d'ajout dans le tableau
1304        //     $this->byCssSelector(".actions-max-1 a")->click();
1305        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1306        //     $this->verifyNoErrors();
1307        //     // On choisi un événement
1308        //     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
1309        //     // On valide le formulaire
1310        //     $this->byXPath("//input[@value='Ajouter']")->click();
1311        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1312        //     $this->verifyNoErrors();
1313        //     sleep(1);
1314        //     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
1315        //     // On retourne sur le tableau d'instructions
1316        //     $this->byCssSelector("#sousform-instruction .retour")->click();
1317        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1318        //     $this->verifyNoErrors();
1319        //     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
1320        //     $this->byLinkText("accepter un dossier sans réserve")->click();
1321        //     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1322        //     $this->verifyNoErrors();
1323        //     // On valide l'instruction (un événement verrouillable ne pourrait pas
1324        //     // être finalisé)
1325        //     $this->byId("action-sousform-instruction-finalisation")->click();
1326        //     // On vérifie le message de validation
1327        //     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1328        //     /* Fin */
1329        // }
1330    
1331        /**
1332         * Test que les données du dossier d'autorisation sont recopiés dans les
1333         * champs 'archive_' de l'événement d'instruction de la création du nouveau
1334         * dossier d'instruction
1335         */
1336        public function test_12_recopie_donnees_da_vers_nouveau_di(){
1337            
1338            //{{{ Ajout de d'un nouveau dossier
1339            // On se connecte à l'application
1340            $this->login("guichet", "guichet");
1341            //On clique sur le menu des instructions
1342            $this->byLinkText("Nouveau Dossier")->click();
1343            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1344            $this->verifyNoErrors();
1345            //On ajoute un nouveau dossier
1346            $dossier = $this->addDossierInstruction( 1, 1);                
1347            // On se déconnecte
1348            $this->deconnect();
1349            //}}}
1350            
1351            //{{{
1352            // Mise à jour des données techniques
1353            // On se connecte à l'application
1354            $this->login("instr", "instr");
1355            //On clique sur le menu "Recherche"
1356            $this->byLinkText("Recherche")->click();
1357            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1358            $this->verifyNoErrors();
1359            // On recherche le dossier crée
1360            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1361            // On clique sur le bouton recherche
1362            $this->byId("adv-search-submit")->click();
1363            // On clique sur le résultat
1364            $this->byLinkText($dossier)->click();
1365            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1366            $this->verifyNoErrors();
1367            // Ouverture du formulaire des données techniques
1368            $this->byCssSelector("#formulaire .rediger-16")->click();
1369            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1370            $this->verifyNoErrors();
1371            // Modification des données techniques
1372            $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
1373            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1374            $this->verifyNoErrors();
1375            sleep(1);
1376            // On déplie le fieldset Construire
1377            $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1378            sleep(1);
1379            // On déplie le fieldset Destinations et surfaces des constructions
1380            $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1381            sleep(1);
1382            //On remplit des données techniques
1383            $this->byId("su_cstr_shon1")->value("120");
1384            // On clique sur ajouter
1385            $this->byXPath("//input[@value='Modifier']")->click();
1386            // On vérifie qu'il n'y ait pas d'erreur
1387            $this->verifynoerrors();
1388            // On vérifie le message
1389            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1390            //On clique sur retour
1391            $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1392            // On se déconnecte
1393            $this->deconnect();
1394            //}}}
1395            
1396            //{{{ Clôture du nouveau dossier
1397            // On se connecte à l'application
1398            $this->login("instr", "instr");
1399            //On clique sur le menu "Recherche"
1400            $this->byLinkText("Recherche")->click();
1401            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1402            $this->verifyNoErrors();
1403            // On recherche le dossier crée
1404            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1405            // On clique sur le bouton recherche
1406            $this->byId("adv-search-submit")->click();
1407            // On clique sur le résultat
1408            $this->byLinkText($dossier)->click();
1409            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1410            $this->verifyNoErrors();
1411            //On clique sur l'onglet "instruction"
1412            $this->byId("instruction")->click();
1413            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1414            $this->verifyNoErrors();
1415            // On ajoute une instruction
1416            $this->byCssSelector("#sousform-instruction .add-16")->click();
1417            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1418            $this->verifyNoErrors();
1419            //On choisit l'instruction 'accepter un dossier sans réserve
1420            //[acceptation]'
1421            $this->select($this->byId("evenement"))->selectOptionByValue(81);
1422            // On clique sur ajouter
1423            $this->byXPath("//input[@value='Ajouter']")->click();
1424            // On vérifie qu'il n'y ait pas d'erreur
1425            $this->verifynoerrors();
1426            // On vérifie le message
1427            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1428            //On rafraichit la page pour vérifier que le dossier est clôturé
1429            $this->refresh();
1430            $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1431            // On se déconnecte
1432            $this->deconnect();
1433            //}}}
1434            
1435            //{{{ Vérification des données techniques dans la visu DA
1436            // On se connecte à l'application
1437            $this->login("instr", "instr");
1438            //On clique sur le menu "Recherche"
1439            $this->byLinkText("Recherche")->click();
1440            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1441            $this->verifyNoErrors();
1442            // On recherche le dossier crée
1443            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1444            // On clique sur le bouton recherche
1445            $this->byId("adv-search-submit")->click();
1446            // On clique sur le résultat
1447            $this->byLinkText($dossier)->click();
1448            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1449            $this->verifyNoErrors();
1450            //On clique sur l'onglet "DA"
1451            $this->byId("dossier_autorisation")->click();
1452            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1453            $this->verifyNoErrors();
1454            // On ajoute une instruction
1455            $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();
1456            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1457            $this->verifyNoErrors();
1458            // Affichage des données techniques
1459            $this->byId("donnees_techniques_da")->click();
1460            sleep(1);
1461            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1462            $this->verifyNoErrors();
1463            // On déplie le fieldset Construire
1464            $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1465            sleep(1);
1466            // On déplie le fieldset Destinations et surfaces des constructions
1467            $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1468            sleep(1);
1469            $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());
1470            //On clique sur retour
1471            $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1472            // On se déconnecte
1473            $this->deconnect();
1474            //}}}
1475            
1476            //{{{ Ajout de l'action
1477            // On se connecte à l'application
1478            $this->login("admin", "admin");
1479            //On clique sur le menu "Paramétrage dossiers"
1480            $this->byLinkText("Paramétrage Dossiers")->click();
1481            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1482            $this->verifyNoErrors();
1483            //On clique sur le menu "Action"
1484            $this->byLinkText("Action")->click();
1485            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1486            $this->verifyNoErrors();
1487            //On clique sur le "+" du tableau
1488            $this->byClassName("add-16")->click();
1489            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1490            $this->verifyNoErrors();
1491            //On remplit la règle de calcul de la date de validité
1492            $this->byId("action")->value("test_12_recopie_donnees");
1493            $this->byId("libelle")->value("test_12_recopie_donnees");
1494            $this->byId("regle_date_validite")->value("archive_date_validite+12");
1495            // On clique sur ajouter
1496            $this->byXPath("//input[@value='Ajouter']")->click();
1497            // On vérifie qu'il n'y ait pas d'erreur
1498            $this->verifynoerrors();
1499            // On vérifie le message
1500            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1501            //}}}
1502            
1503            //{{{ Ajout de l'événement
1504            //On clique sur le menu "Événement"
1505            $this->byLinkText("Événement")->click();
1506            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1507            $this->verifyNoErrors();
1508            //On clique sur le "+" du tableau
1509            $this->byClassName("add-16")->click();
1510            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1511            $this->verifyNoErrors();
1512            //On remplit l'événement qui va être ajouté avec la nouvelle demande
1513            $this->byId("libelle")->value("test_12_recopie_donnees");
1514            $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByValue("accepter");
1515            // On sélectionne PCI - P - Initial
1516            $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByValue(1);
1517            $this->select($this->byName("action"))->selectOptionByLabel("test_12_recopie_donnees");
1518            // On clique sur ajouter
1519            $this->byXPath("//input[@value='Ajouter']")->click();
1520            // On vérifie qu'il n'y ait pas d'erreur
1521            $this->verifynoerrors();
1522            // On vérifie le message
1523            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1524            //}}}
1525            
1526            //{{{ Ajout du type de dossier d'instruction
1527            //On clique sur le menu "Type DI"
1528            $this->byLinkText("Type DI")->click();
1529            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1530            $this->verifyNoErrors();
1531            //On clique sur le "+" du tableau
1532            $this->byClassName("add-16")->click();
1533            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1534            $this->verifyNoErrors();
1535            //On remplit le type de la demande
1536            $this->byId("code")->value("DT");
1537            $this->byId("libelle")->value("test_12_recopie_donnees");
1538            // On sélectionne PCI (Permis de construire pour une maison individuelle
1539            // et / ou ses annexes)
1540            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);sleep(1);
1541            $this->byId("suffixe")->click();
1542            // On clique sur ajouter
1543            $this->byXPath("//input[@value='Ajouter']")->click();
1544            // On vérifie qu'il n'y ait pas d'erreur
1545            $this->verifynoerrors();
1546            // On vérifie le message
1547            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1548            //}}}
1549            
1550            //{{{ Ajout du type de la demande
1551            //On clique sur le menu "Type"
1552            $this->byLinkText("Type")->click();
1553            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1554            $this->verifyNoErrors();
1555            //On clique sur le "+" du tableau
1556            $this->byClassName("add-16")->click();
1557            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1558            $this->verifyNoErrors();
1559            //On remplit le type de la demande
1560            $this->byId("code")->value("test_12_recopie_donnees");
1561            $this->byId("libelle")->value("test_12_recopie_donnees");
1562            // On sélectionne Autorisation ADS
1563            $this->select($this->byId("groupe"))->selectOptionByValue(1);sleep(1);
1564            // On sélectionne PCI (Permis de construire pour une maison individuelle
1565            // et / ou ses annexes)
1566            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1567            // On sélectionne Dossier existant
1568            $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1569            // On sélectionne Accordé
1570            $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1571            $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1572            $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1573            // On clique sur ajouter
1574            $this->byXPath("//input[@value='Ajouter']")->click();
1575            // On vérifie qu'il n'y ait pas d'erreur
1576            $this->verifynoerrors();
1577            // On vérifie le message
1578            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1579            //On clique sur retour
1580            $this->byClassName("retour")->click();
1581            // On vérifie qu'il n'y ait pas d'erreur
1582            $this->verifynoerrors();
1583            //On saisit le libellé du type de la demande saisit
1584            $this->byName("recherche")->value("test_12_recopie_donnees");
1585            //On valide
1586            $this->byName("s1")->click();
1587            // On vérifie qu'il n'y ait pas d'erreur
1588            $this->verifynoerrors();
1589            //On clique sur le type de la demande
1590            $this->byLinkText("test_12_recopie_donnees")->click();
1591            // On vérifie qu'il n'y ait pas d'erreur
1592            $this->verifynoerrors();
1593            //On récupère l'identifiant du type de la demande
1594            $demande_type = $this->byId("demande_type")->text();
1595            // On se déconnecte
1596            $this->deconnect();
1597            //}}}
1598            
1599            //{{{ Ajout de d'un nouveau dossier
1600            // On se connecte à l'application
1601            $this->login("guichet", "guichet");
1602            //On clique sur le menu des instructions
1603            $this->byLinkText("Dossier En Cours")->click();
1604            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1605            $this->verifyNoErrors();
1606            //On ajoute un nouveau dossier
1607            $dossier = $this->addDossierInstruction( 1, $demande_type, 2, str_replace(" ", "", $dossier));                
1608            // On se déconnecte
1609            $this->deconnect();
1610            //}}}
1611            
1612            //{{{ Vérification de la date de validité
1613            // On se connecte à l'application
1614            $this->login("instr", "instr");
1615            //On clique sur le menu "Recherche"
1616            $this->byLinkText("Recherche")->click();
1617            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1618            $this->verifyNoErrors();
1619            // On recherche le dossier crée
1620            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1621            // On clique sur le bouton recherche
1622            $this->byId("adv-search-submit")->click();
1623            // On clique sur le résultat
1624            $this->byLinkText($dossier)->click();
1625            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1626            $this->verifyNoErrors();
1627            //On vérifie la date de validité
1628            $date_validite = $this->mois_date(date("Y-m-d"), 12, "+");
1629            $date_validite = date("d/m/Y", strtotime($date_validite));
1630            $this->assertEquals($date_validite, $this->byId("date_validite")->text());
1631            // On se déconnecte
1632            $this->deconnect();
1633            //}}}
1634        }
1635        
1636        // /**
1637        //  * Test de la numérotation des DI successifs
1638        //  */
1639        // function test_13_numerotation_dossier_instruction_successif(){
1640                
1641        //     //{{{ Ajout de d'un nouveau dossier d'instruction P0
1642        //     // On se connecte à l'application
1643        //     $this->login("guichet", "guichet");
1644        //     // On clique sur le menu "Nouveau Dossier"
1645        //     $this->byLinkText("Nouveau Dossier")->click();
1646        //     // On vérifie qu'il n'y ait pas d'erreur
1647        //     $this->verifynoerrors();
1648        //     // On ajoute un nouveau dossier d'instruction
1649        //     $dossierP0 = str_replace(" ", "", trim($this->addDossierInstruction(1, 1)));
1650        //     // On se déconnecte
1651        //     $this->deconnect();
1652        //     //}}}
1653            
1654        //     //{{{ Accord du P0 créé
1655        //     // On se connecte à l'application
1656        //     $this->login("instr", "instr");
1657        //     // On clique sur le menu "Recherche"
1658        //     $this->byLinkText("Recherche")->click();
1659        //     // On vérifie qu'il n'y ait pas d'erreur
1660        //     $this->verifynoerrors();
1661        //     // On saisit le numéro du dossier d'instruction
1662        //     $this->byId("dossier")->value($dossierP0);
1663        //     // On valide la recherche
1664        //     $this->byId("adv-search-submit")->click();
1665        //     // On vérifie qu'il n'y ait pas d'erreur
1666        //     $this->verifynoerrors();
1667        //     // On clique sur le dossier d'instruction
1668        //     $this->byId("action-tab-dossier_instruction-left-consulter-".$dossierP0)->click();
1669        //     // On vérifie qu'il n'y ait pas d'erreur
1670        //     $this->verifynoerrors();
1671        //     // On clique sur l'onglet instruction
1672        //     $this->byId("instruction")->click();
1673        //     // On vérifie qu'il n'y ait pas d'erreur
1674        //     $this->verifynoerrors();
1675        //     // On clique sur le + du tableau
1676        //     $this->byClassName("add-16")->click();
1677        //     // On vérifie qu'il n'y ait pas d'erreur
1678        //     $this->verifynoerrors();
1679        //     // On choisit l'événement n°81 accepter un dossier sans réserve
1680        //     $this->select($this->byName("evenement"))->selectOptionByValue(81);
1681        //     // On clique sur ajouter
1682        //     $this->byXPath("//input[@value='Ajouter']")->click();
1683        //     // On vérifie qu'il n'y ait pas d'erreur
1684        //     $this->verifynoerrors();
1685        //     // On vérifie que l'événement d'instruction s'est bien ajouté
1686        //     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());
1687        //     // On se déconnecte
1688        //     $this->deconnect();
1689        //     //}}}
1690            
1691        //     //{{{ Ajout d'un nouveau type de dossier d'instruction
1692        //     // On se connecte à l'application
1693        //     $this->login("admin", "admin");
1694        //     // On clique sur le menu "Paramétrage Dossiers"
1695        //     $this->byLinkText("Paramétrage Dossiers")->click();
1696        //     // On vérifie qu'il n'y ait pas d'erreur
1697        //     $this->verifynoerrors();
1698        //     // On clique sur le menu "Type DI"
1699        //     $this->byLinkText("Type DI")->click();
1700        //     // On vérifie qu'il n'y ait pas d'erreur
1701        //     $this->verifynoerrors();
1702        //     // On clique sur le + du tableau
1703        //     $this->byClassName("add-16")->click();
1704        //     // On vérifie qu'il n'y ait pas d'erreur
1705        //     $this->verifynoerrors();
1706        //     //On saisit les données
1707        //     $this->byId("code")->value("TN");
1708        //     $this->byId("libelle")->value("Test numérotation");
1709        //     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1710        //     $this->byId("suffixe")->click();
1711        //     // On clique sur ajouter
1712        //     $this->byXPath("//input[@value='Ajouter']")->click();
1713        //     // On vérifie qu'il n'y ait pas d'erreur
1714        //     $this->verifynoerrors();
1715        //     // On vérifie que le type de dossier d'instruction s'est bien ajouté
1716        //     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1717        //     //}}}
1718            
1719        //     //{{{ Ajout d'un nouveau type de demande
1720        //     // On clique sur le menu "Type"
1721        //     $this->byLinkText("Type")->click();
1722        //     // On vérifie qu'il n'y ait pas d'erreur
1723        //     $this->verifynoerrors();
1724        //     // On clique sur le + du tableau
1725        //     $this->byClassName("add-16")->click();
1726        //     // On vérifie qu'il n'y ait pas d'erreur
1727        //     $this->verifynoerrors();
1728        //     //On saisit les données
1729        //     $this->byId("code")->value("TN");
1730        //     $this->byId("libelle")->value("Test numérotation");
1731        //     $this->select($this->byId("groupe"))->selectOptionByValue(1);
1732        //     sleep(1);
1733        //     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1734        //     $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1735        //     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1736        //     $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - Test numérotation");
1737        //     $this->select($this->byId("evenement"))->selectOptionByValue(1);
1738        //     // On clique sur ajouter
1739        //     $this->byXPath("//input[@value='Ajouter']")->click();
1740        //     // On vérifie qu'il n'y ait pas d'erreur
1741        //     $this->verifynoerrors();
1742        //     // On vérifie qu'il n'y ait pas d'erreur
1743        //     $this->verifynoerrors();
1744        //     // On vérifie que le type de dossier d'instruction s'est bien ajouté
1745        //     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1746        //     // On clique sur "Retour"
1747        //     $this->byClassName("retour")->click();
1748        //     // On vérifie qu'il n'y ait pas d'erreur
1749        //     $this->verifynoerrors();
1750        //     // On saisit le libelle du type de la demande nouvellement créée
1751        //     $this->byClassName("champFormulaire")->value("Test numérotation");
1752        //     // On valide la recherche
1753        //     $this->byName("f1")->submit();
1754        //     //On clique sur le type de la demande
1755        //     $this->byLinkText("Test numérotation")->click();
1756        //     // On vérifie qu'il n'y ait pas d'erreur
1757        //     $this->verifynoerrors();
1758        //     // On récupère l'identifiant
1759        //     $idDemandeType = trim($this->byId("demande_type")->text());
1760        //     // On se déconnecte
1761        //     $this->deconnect();
1762        //     //}}}
1763            
1764        //     //{{{ Ajout de d'un nouveau dossier d'instruction avec le nouveau type
1765        //     //de dossier d'instruction
1766        //     // On se connecte à l'application
1767        //     $this->login("guichet", "guichet");
1768        //     // On clique sur le menu "Dossier En Cours"
1769        //     $this->byLinkText("Dossier En Cours")->click();
1770        //     // On vérifie qu'il n'y ait pas d'erreur
1771        //     $this->verifynoerrors();
1772        //     // On ajoute un nouveau dossier d'instruction
1773        //     $dossierTN01 = trim($this->addDossierInstruction(1, $idDemandeType, 3, $dossierP0));
1774        //     //On vérifie que le numéro du dossier d'instruction est celui attendu
1775        //     assert(preg_match('/(PC)[0-9 ]*(TN01)/', $dossierTN01) === 1);
1776        //     // On se déconnecte
1777        //     $this->deconnect();
1778        //     //}}}
1779            
1780            
1781        // }
1782        
1783        /**
1784         * Ajout d'un dossier d'instruction par le guichet unique
1785         *
1786         * @param int $dossier_autorisation_type_detaille L'identifiant du type détaillé
1787         *  de dossier d'autorisation
1788         * @param int $demande_type L'identifiant du type de la demande
1789         * @param int $type Type de la demande : nouveau dossier ou dossier existant
1790         * @return le numéro de dossier d'instruction qui vient d'être créé
1791         */
1792        public function addDossierInstruction($dossier_autorisation_type_detaille,
1793            $demande_type, $type = 1, $dossier = "" ){
1794            
1795            if ($type===1){
1796                //On choisit le type détaillé de dossier d'autorisation
1797                $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue($dossier_autorisation_type_detaille);
1798            }
1799            else {
1800                sleep(2);
1801                // On remplit le champ de recherche simple
1802                $this->byCssSelector("input[name='recherche']")->value(str_replace(' ', '', $dossier));
1803                // On clique sur le bouton recherche
1804                $this->byCssSelector(".ui-button")->click();sleep(1);
1805                // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1806                $this->verifyNoErrors();
1807                // On clique sur le résultat
1808                $this->byId("action-tab-demande_dossier_encours-left-consulter-".str_replace(' ', '', $dossier))->click();
1809                // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1810                $this->verifyNoErrors();
1811            }
1812            //On choisit le type de demande
1813            $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
1814            //On clique sur "Saisir le pétitionnaire principal"
1815            $this->byId("add_petitionnaire_principal")->click();
1816            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1817            $this->verifyNoErrors();
1818            //On saisie le nom du pétitionnaire principal
1819            $this->byId("particulier_nom")->value("test recopie");
1820            // On clique sur ajouter
1821            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1822            // On vérifie qu'il n'y ait pas d'erreur
1823            $this->verifynoerrors();
1824            //On vérifie que le pétitionnaire s'est bien ajouté
1825            // On vérifie le message
1826            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1827            // On clique sur le bouton retour
1828            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1829            // On vérifie que le text est présent
1830            $this->assertContains("test recopie",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1831            // On clique sur ajouter
1832            $this->byXPath("//input[@value='Ajouter']")->click();
1833            // On vérifie qu'il n'y ait pas d'erreur
1834            $this->verifynoerrors();
1835            // On vérifie le message
1836            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
1837            //On récupère le numéro de dossier d'instruction créé
1838            if ($type===1){
1839                preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1840            }
1841            elseif ($type===2){
1842                preg_match('/(PC)[0-9 ]*(DT01)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1843            }
1844            else{
1845                preg_match('/(PC)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1846            }
1847            return $dossier[0];
1848        }
1849  }  }
1850    
1851  ?>  ?>

Legend:
Removed from v.1739  
changed lines
  Added in v.2806

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26