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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2934 - (hide annotations)
Tue Apr 15 09:05:16 2014 UTC (10 years, 9 months ago) by nhaye
File size: 141914 byte(s)
Correction des tests sur instruction

1 fmichon 1664 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8    
9     //
10 fmichon 1677 require_once "base.php";
11 fmichon 1664
12     /**
13     *
14     */
15 vpihour 2078 class Instruction extends Base2TestCase {
16 fmichon 1664
17 softime 2605 // 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 fmichon 1664 /**
30     * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
31     * entrée de menu ne génère pas une erreur de base de données
32     */
33 softime 2605 // Fonction privé
34     private function ouvertureMenu($utilisateur) {
35     // On se connecte
36     $this->login($utilisateur["login"], $utilisateur["mdp"]);
37     // Ouvre le menu
38     $this->openMenu("Instruction", $utilisateur);
39     // On vérifie le menu ""
40 vpihour 2078 $this->byLinkText("Mes Encours")->click();
41 softime 2605 $this->assertContains("Instruction > Dossiers D'instruction",
42     $this->byId("title")->text());
43 fmichon 1720 $this->verifyNoErrors();
44 softime 2605 // On vérifie le menu ""
45 vpihour 2078 $this->byLinkText("Tous Les Encours")->click();
46 softime 2605 $this->assertContains("Instruction > Dossiers D'instruction",
47     $this->byId("title")->text());
48 fmichon 1720 $this->verifyNoErrors();
49 softime 2605 // On vérifie le menu ""
50 vpihour 2078 $this->byLinkText("Mes Clôturés")->click();
51 softime 2605 $this->assertContains("Instruction > Dossiers D'instruction",
52     $this->byId("title")->text());
53 fmichon 1720 $this->verifyNoErrors();
54 softime 2605 // On vérifie le menu ""
55 vpihour 2078 $this->byLinkText("Tous Les Clôturés")->click();
56 softime 2605 $this->assertContains("Instruction > Dossiers D'instruction",
57     $this->byId("title")->text());
58 fmichon 1720 $this->verifyNoErrors();
59 softime 2605 // On vérifie le menu ""
60 vpihour 2078 $this->byLinkText("Recherche")->click();
61 softime 2605 $this->assertContains("Instruction > Dossiers D'instruction",
62     $this->byId("title")->text());
63 fmichon 1720 $this->verifyNoErrors();
64 softime 2605 // On vérifie le menu ""
65 vpihour 2078 $this->byLinkText("Dossiers À Qualifier")->click();
66 softime 2605 $this->assertContains("Instruction > Qualification > Dossiers À Qualifier",
67     $this->byId("title")->text());
68 fmichon 1720 $this->verifyNoErrors();
69 softime 2605 // On vérifie le menu ""
70     $this->byLinkText("Architecte Fréquent")->click();
71     $this->assertContains("Instruction > Qualification > Architecte Fréquent",
72     $this->byId("title")->text());
73     $this->verifyNoErrors();
74     // On vérifie le menu ""
75 vpihour 2078 $this->byLinkText("Mes Retours")->click();
76 softime 2605 $this->assertContains("Instruction > Consultations > Mes Retours",
77     $this->byId("title")->text());
78 fmichon 1720 $this->verifyNoErrors();
79 softime 2605 // On vérifie le menu ""
80 vpihour 2078 $this->byLinkText("Tous Les Retours")->click();
81 softime 2605 $this->assertContains("Instruction > Consultations > Tous Les Retours",
82     $this->byId("title")->text());
83 fmichon 1720 $this->verifyNoErrors();
84 softime 2605 // On vérifie le menu ""
85 vpihour 2078 $this->byLinkText("Mes Messages")->click();
86 softime 2605 $this->assertContains("Instruction > Messages > Mes Messages",
87     $this->byId("title")->text());
88 fmichon 1720 $this->verifyNoErrors();
89 softime 2605 // On vérifie le menu ""
90 vpihour 2078 $this->byLinkText("Tous Les Messages")->click();
91 softime 2605 $this->assertContains("Instruction > Messages > Tous Les Messages",
92     $this->byId("title")->text());
93 fmichon 1720 $this->verifyNoErrors();
94 softime 2605 // On vérifie le menu ""
95 vpihour 2078 $this->byCssSelector("a.commission_mes_retours-16")->click();
96 softime 2605 $this->assertContains("Instruction > Commissions > Mes Retours",
97     $this->byId("title")->text());
98 fmichon 1720 $this->verifyNoErrors();
99 softime 2605 // On vérifie le menu ""
100 vpihour 2078 $this->byCssSelector("a.commission_tous_retours-16")->click();
101 softime 2605 $this->assertContains("Instruction > Commissions > Tous Les Retours",
102     $this->byId("title")->text());
103 fmichon 1720 $this->verifyNoErrors();
104 softime 2605 // On se déconnecte
105     $this->deconnect();
106 fmichon 1664 }
107 nhaye 2808 // 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 fmichon 1885
120 nhaye 2808 /**
121     *
122     */
123 vpihour 2931 public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
124 vpihour 2078
125 nhaye 2808 // 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 fmichon 1755
187 nhaye 2808 /**
188     *
189     */
190 vpihour 2931 public function test_03_informations_du_widget_profil_instructeur() {
191 nhaye 2808 // 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 vpihour 2078
239 nhaye 2808 /**
240     * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
241     * Modification d'un événement
242     */
243 vpihour 2931 public function test_04_ajout_instructions_par_instructeur() {
244 vpihour 2078
245 nhaye 2808 // 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 nhaye 2925
353     // On se connecte en tant que "admin"
354     $this->login("admin", "admin");
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 "Paramétrage Dossiers" dans le menu
358     $this->byLinkText("Paramétrage Dossiers")->click();
359     // On clique sur le sousmenu "Événement"
360     $this->byLinkText("Événement")->click();
361     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
362     $this->verifyNoErrors();
363     // On remplis le champs de recherche simple
364     $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
365     // On clique sur le bouton recherche
366     $this->byCssSelector(".ui-button")->click();
367     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
368     $this->verifyNoErrors();
369     // On clique sur le résultat
370     $this->byLinkText("accepter un dossier sans réserve")->click();
371     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
372     $this->verifyNoErrors();
373     // On clique sur le bouton "Modifier"
374     $this->byId('bible')->click();
375     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
376     $this->verifyNoErrors();
377     // On Ajoute 2 éléments de bible automatique
378     $this->byId('bible')->click();
379     //On clique sur le "+" du tableau
380     $this->byClassName("add-16")->click();
381     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382     $this->verifyNoErrors();
383     $this->byCssSelector('#sousform-bible #libelle')->value("test 1");
384     $this->byId('contenu')->value("test contenu 1");
385     $this->select($this->byId("complement"))->selectOptionByValue("1");
386     $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
387     // On valide la modification
388     $this->byCssSelector("input[value='Ajouter']")->click();
389 nhaye 2934 sleep(1);
390 nhaye 2925 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
391     $this->verifyNoErrors();
392     // On vérifie le message de validation
393     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
394     //On retourne sur le tableau d'instructions
395     $this->byCssSelector("#sousform-bible .retour")->click();
396     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
397     $this->verifyNoErrors();
398     //On clique sur le "+" du tableau
399     $this->byClassName("add-16")->click();
400     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
401     $this->verifyNoErrors();
402     $this->byCssSelector('#sousform-bible #libelle')->value("test 2");
403     $this->byId('contenu')->value("test contenu 2");
404     $this->select($this->byId("complement"))->selectOptionByValue("2");
405     $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
406     // On valide la modification
407     $this->byCssSelector("input[value='Ajouter']")->click();
408     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
409     $this->verifyNoErrors();
410     // On vérifie le message de validation
411     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
412     // On se déconnecte
413     $this->deconnect();
414 nhaye 2815 //
415 nhaye 2808 // On se connecte en tant que "instr"
416     $this->login("instr", "instr");
417     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418     $this->verifyNoErrors();
419     // On clique sur le lien "Mes encours" dans le menu
420     $this->byLinkText("Mes Encours")->click();
421     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
422     $this->verifyNoErrors();
423     sleep(1);
424     // On clique sur le dossier dernièrement créé
425     $this->byLinkText($dossier)->click();
426     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
427     $this->verifyNoErrors();
428     // On clique sur l'onglet "Instruction"
429     $this->byId("instruction")->click();
430     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
431     $this->verifyNoErrors();
432     //Ajout d'une instruction simple
433     // On clique sur le lien d'ajout dans le tableau
434     $this->byCssSelector(".actions-max-1 a")->click();
435     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
436     $this->verifyNoErrors();
437     //On choisi l'événement CDEC majoration appel decision [majoration]
438     $this->select($this->byId("evenement"))->selectOptionByValue("22");
439     //On valide le formulaire
440     $this->byXPath("//input[@value='Ajouter']")->click();
441     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
442     $this->verifyNoErrors();
443     sleep(1);
444     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
445     //On retourne sur le tableau d'instructions
446     $this->byCssSelector("#sousform-instruction .retour")->click();
447     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
448     $this->verifyNoErrors();
449     //On affiche l'instruction
450     $this->byLinkText("CDEC majoration appel decision")->click();
451     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
452     $this->verifyNoErrors();
453     //On vérifie que certains champs n'apparaissent pas
454     $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
455     $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
456     //On retourne sur le tableau d'instructions
457     $this->byCssSelector("#sousform-instruction .retour")->click();
458     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
459     $this->verifyNoErrors();
460     //Ajout d'une instruction de type arrêté
461     // On clique sur le lien d'ajout dans le tableau
462     $this->byCssSelector(".actions-max-1 a")->click();
463     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
464     $this->verifyNoErrors();
465     //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
466     $this->select($this->byId("evenement"))->selectOptionByValue("81");
467 nhaye 2925 // On clique sur la bible automatique
468     $this->byLinkText('automatique')->click();
469 nhaye 2808 // On clique sur la bible
470     $this->byLinkText('bible')->click();
471     // On vérifie qu'il y est les enregistrments "V56" et "V64"
472     $this->assertRegExp('/^[\s\S]*V56[\s\S]*$/',
473     $this->byCssSelector("#tab-bible")->text());
474     $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
475     $this->byCssSelector("#tab-bible")->text());
476     // On choisit plusieurs éléments
477     $this->byId('checkbox5')->click();
478 nhaye 2925 $this->byId('checkbox6')->click();
479 nhaye 2808 // On valide le formulaire
480     $this->byXPath("//input[@value='Valider']")->click();
481     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
482     $this->verifyNoErrors();
483     // On valide le formulaire
484     $this->byXPath("//input[@value='Ajouter']")->click();
485     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
486     $this->verifyNoErrors();
487     // On vérifie le message de validation
488     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
489     //On retourne sur le tableau d'instructions
490     $this->byCssSelector("#sousform-instruction .retour")->click();
491     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
492     $this->verifyNoErrors();
493     // On clique sur l'instruction
494     $this->byLinkText("accepter un dossier sans réserve")->click();
495     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496     $this->verifyNoErrors();
497     // On vérifie le contenu du champ "complément"
498 nhaye 2925 $this->assertContains("contenu 1", $this->byId("complement_om_html")->text());
499 nhaye 2808 $this->assertContains("Vu l'avis favorable de l'Architecte des Bâtiments de France en date du", $this->byId("complement_om_html")->text());
500     $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());
501 nhaye 2925 $this->assertContains("contenu 2", $this->byId("complement2_om_html")->text());
502 nhaye 2808 //On vérifie que certains champs apparaissent
503     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
504     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
505     // On se déconnecte
506 nhaye 2815 $this->deconnect();
507    
508     //{{{
509     // Ajout de d'un nouveau dossier pour test d'ajout d'événement d'instruction
510     // sans lettretype
511     // On se connecte à l'application
512     $this->login("guichet", "guichet");
513     //On clique sur le menu des instructions
514     $this->byLinkText("Nouveau Dossier")->click();
515     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
516     $this->verifyNoErrors();
517     //On ajoute un nouveau dossier
518     $dossier = $this->addDossierInstruction(1, 1, "Test instruction sans édition");
519     // On se déconnecte
520     $this->deconnect();
521     // On se connecte en tant que "instr"
522     $this->login("instr", "instr");
523     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
524     $this->verifyNoErrors();
525     // On clique sur le lien "Mes encours" dans le menu
526     $this->byLinkText("Mes Encours")->click();
527     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
528     $this->verifyNoErrors();
529     sleep(1);
530     // On clique sur le dossier dernièrement créé
531     $this->byLinkText($dossier)->click();
532     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
533     $this->verifyNoErrors();
534     // On clique sur l'onglet "Instruction"
535     $this->byId("instruction")->click();
536     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
537     $this->verifyNoErrors();
538     //Ajout d'une instruction de refus
539     // On clique sur le lien d'ajout dans le tableau
540     $this->byCssSelector(".actions-max-1 a")->click();
541     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
542     $this->verifyNoErrors();
543     //On choisi l'événement Refus HS
544     $this->select($this->byId("evenement"))->selectOptionByValue("94");
545     //On valide le formulaire
546     $this->byXPath("//input[@value='Ajouter']")->click();
547     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
548     $this->verifyNoErrors();
549     // On vérifie le mesage de validation
550     $this->assertRegExp(
551     '/.*Vos modifications ont bien été enregistrées.*/',
552     $this->byCssSelector("#sousform-instruction .message .text")->text()
553     );
554     //On retourne sur le tableau d'instructions
555     $this->byCssSelector("#sousform-instruction .retour")->click();
556     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
557     $this->verifyNoErrors();
558     // On clique sur l'instruction
559     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
560     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
561     $this->verifyNoErrors();
562     // On vérifie qu'il n'y a pas d'action "Édition" dans le portlet d'actions
563     $test = preg_match(
564     '/Édition/i',
565     $this->byCssSelector("#sousform-instruction #portlet-actions")->text()
566     );
567     $this->assertTrue(!$test);
568     // On vérifie qu'il n'y a pas d'action "Finaliser le document" dans
569     // le portlet d'actions
570     $test = preg_match(
571     '/Finaliser le document/i',
572     $this->byCssSelector("#sousform-instruction #portlet-actions")->text()
573     );
574     $this->assertTrue(!$test);
575     // On se déconnecte
576 nhaye 2808 $this->logout();
577 nhaye 2815 // }}}
578 nhaye 2808 }
579 nhaye 2088
580 nhaye 2808 /**
581 vpihour 2902 * test le formulaire de la demande de type qui possède des select filtrés
582 nhaye 2808 */
583 vpihour 2931 public function test_05_ajout_lot() {
584 nhaye 2808 // On se connecte en tant que "instr"
585     $this->login("instr", "instr");
586     // On clique sur le lien "Mes encours" dans le menu
587     $this->byLinkText("Mes Encours")->click();
588     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
589     $this->verifyNoErrors();
590     // On clique sur le lien "AZ0130551200001P0" dans le tableau
591     $this->byLinkText("AZ 013055 12 00001P0")->click();
592     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
593     $this->verifyNoErrors();
594     // On clique sur l'onglet "Lot(s)"
595     $this->byId("lot")->click();
596     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
597     $this->verifyNoErrors();
598     // On clique sur le bouton d'ajout de lots
599     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
600     // Vérification des champs obligatoires
601     $this->byXPath("//input[@value='Ajouter']")->click();
602     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
603     $this->verifyNoErrors();
604     // On vérifie que le message de champ vide soit affiché
605     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
606     // Insertion d'un lot
607     $this->byId("libelle")->value("Lot n°1");
608     $this->byXPath("//input[@value='Ajouter']")->click();
609     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
610     $this->verifyNoErrors();
611     sleep(1);
612     // On retourne sur le tableau listant les lots
613     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
614     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
615     $this->verifyNoErrors();
616     // On clique sur le bouton d'ajout de lots
617     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
618     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
619     $this->verifyNoErrors();
620     // Insertion d'un second lot
621     $this->byId("libelle")->value("Lot n°2");
622     $this->byXPath("//input[@value='Ajouter']")->click();
623     sleep(1);
624     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
625     $this->verifyNoErrors();
626     // On retourne sur le tableau listant les lots
627     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
628     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
629     $this->verifyNoErrors();
630     // On se déconnecte
631     $this->logout();
632     }
633 nhaye 2815 //
634 nhaye 2808 /**
635 vpihour 2902 * test du lien automatique entre choix autorité compétente dans DI et
636 nhaye 2808 * évènement d'instruction à créer
637     */
638     // Fonction privé
639     private function modification_autorite_competente($utilisateur) {
640     // On se connecte à l'application
641     $this->login($utilisateur["login"], $utilisateur["mdp"]);
642     // Ouvre le menu
643     $this->openMenu("Instruction", $utilisateur);
644     // On clique sur le lien "Mes encours" dans le menu
645     $this->byLinkText("Recherche")->click();
646     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
647     $this->verifyNoErrors();
648     // On clique sur le lien "AZ0130551200001P0" dans le tableau
649     $this->byLinkText("AZ 013055 12 00001P0")->click();
650     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
651     $this->verifyNoErrors();
652     // On clique sur l'onglet "Instruction"
653     $this->byId("instruction")->click();
654     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
655     $this->verifyNoErrors();
656     // On clique sur le bouton d'ajout de lots
657     $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
658     // Vérification des champs obligatoires
659     $this->byXPath("//input[@value='Ajouter']")->click();
660     sleep(1);
661     //On choisi un événement
662     $this->select($this->byId("evenement"))->selectOptionByValue("94");
663     // Validation du formulaire
664     $this->byXPath("//input[@value='Ajouter']")->click();
665     sleep(1);
666     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
667     $this->verifyNoErrors();
668     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
669     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
670     // Retour à l'onglet principal
671     $this->byId("main")->click();
672     $this->refresh();
673     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
674     $this->verifyNoErrors();
675     // On verifie que l'autorité compétente à changée.
676     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
677     // On se déconnecte
678     $this->deconnect();
679 nhaye 2815 //
680 nhaye 2808 // On se connecte en tant que "admin"
681     $this->login("admin", "admin");
682     sleep(1);
683     $this->byLinkText("Instruction")->click();
684     // On clique sur le lien "Recherche" dans le menu
685     $this->byLinkText("Recherche")->click();
686     // On clique sur le lien "AZ0130551200001P0" dans le tableau
687     $this->byLinkText("AZ 013055 12 00001P0")->click();
688     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
689     $this->verifyNoErrors();
690     // On verifie que l'autorité compétente à changée
691     $this->assertEquals('Commune pour état', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
692     // On clique sur l'onglet "Instruction"
693     $this->byId("instruction")->click();
694     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
695     sleep(1);
696     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
697     $this->verifyNoErrors();
698     // On supprime l'element et on verifie le retour de l'autorité "commune"
699     $this->byId("action-sousform-instruction-supprimer")->click();
700     // On valide le formulaire
701     $this->byXPath("//input[@value='Supprimer']")->click();sleep(1);
702     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
703     $this->verifyNoErrors();
704     // On clique sur le bouton retour
705     $this->byLinkText("Retour")->click();
706     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
707     $this->verifyNoErrors();
708     // On vérifie que l'événement d'instruction n'est plus dans le tableau
709     $this->assertNotContains("Changer l'autorité compétente 'commune état'", $this->byId("sousform-instruction")->text());
710     // Retour à l'onglet principal
711     $this->byId("main")->click();
712     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
713     $this->verifyNoErrors();
714     // On rafraîchit la page
715     $this->refresh();
716     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
717     $this->verifyNoErrors();
718     // On verifie que l'autorité compétente à changée.
719     $this->assertEquals('Commune', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
720     // On se déconnecte
721     $this->deconnect();
722     }
723     // Fonction public
724 vpihour 2931 public function test_06_modification_autorite_competente() {
725 nhaye 2808 // Récupération des utilisateurs
726     $utilisateurs = $this->listUtlisateurs;
727     // Pour chaque utilisateur on lance le test
728     foreach ($utilisateurs as $utilisateur) {
729     //
730     $this->modification_autorite_competente($utilisateur);
731     }
732     // On vérifie la déconnexion
733     $this->verifyDeconnect();
734     }
735 nhaye 2815 //
736 nhaye 2808 /**
737 vpihour 2902 * test de l'ajout de données techniques au dossier
738 nhaye 2808 */
739 vpihour 2931 public function test_07_edition_donnees_techniques() {
740 nhaye 2808 // On se connecte en tant que "instr"
741     $this->login("admin", "admin");
742     sleep(1);
743     // Ouverture du menu de paramétrage des dossiers
744     $this->byLinkText("Paramétrage Dossiers")->click();
745     // Ouverture du menu des cerfa
746     $this->byLinkText("Cerfa")->click();
747     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
748     $this->verifyNoErrors();
749     // Ouverture d'un cerfa
750     $this->byLinkText("cerfa de test n°1")->click();
751     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
752     $this->verifyNoErrors();
753     // Modification du cerfa affiché
754     $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
755     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
756     $this->verifyNoErrors();
757     // Ajout de champs au formulaire des données techniques
758     $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
759     $this->byId("terr_juri_titul")->click();
760     $this->byId("terr_juri_lot")->click();
761     $this->byId("terr_juri_zac")->click();
762     $this->byId("terr_juri_afu")->click();
763     $this->byId("terr_juri_pup")->click();
764     $this->byId("terr_juri_oin")->click();
765     $this->byId("terr_juri_desc")->click();
766     // Validation du formulaire
767     $this->byXPath("//input[@value='Modifier']")->click();
768     // Vérification des erreurs
769     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
770     $this->byLinkText("Retour")->click();
771     // On se déconnecte
772     $this->deconnect();
773     // On se connecte en tant que "instr"
774     $this->login("instr", "instr");
775     // On clique sur le lien "Mes encours" dans le menu
776     $this->byLinkText("Mes Encours")->click();
777     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
778     $this->verifyNoErrors();
779     // On clique sur le lien "AZ0130551200001P0" dans le tableau
780     $this->byLinkText("AZ 013055 12 00001P0")->click();
781     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
782     $this->verifyNoErrors();
783     // On click sur le lien "Données techniques"
784     $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
785     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
786     $this->verifyNoErrors();
787     sleep(1);
788     // Modification des données techniques
789     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
790     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
791     $this->verifyNoErrors();
792     sleep(1);
793     $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());
794     // Validation du formulaire
795     $this->byXPath("//input[@value='Modifier']")->click();
796     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
797     $this->verifyNoErrors();
798     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
799     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
800     sleep(1);
801     // On se déconnecte
802     $this->logout();
803 nhaye 2815 //
804 nhaye 2808 }
805 nhaye 2815 //
806 nhaye 2808 /**
807 vpihour 2902 * test un événement d'instruction qui a un événement "retour"
808 nhaye 2808 */
809 vpihour 2931 public function test_08_evenement_instruction_retour() {
810 nhaye 2815 //
811 nhaye 2808 // On se connecte à l'application en tant qu'administrateur
812     $this->login("admin", "admin");
813     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
814     $this->verifyNoErrors();
815 nhaye 2815 //
816 nhaye 2808 /** On ajoute une action "retour signature" **/
817     // On clique sur le menu "Paramétrage Dossiers"
818     $this->byLinkText("Paramétrage Dossiers")->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 "Action"
822     $this->byLinkText("Action")->click();
823     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
824     $this->verifyNoErrors();
825     // On clique sur le bouton "ajouter"
826     $this->byId("action-tab-action-corner-ajouter")->click();
827     // On remplis les champs
828     $this->byId("action")->value("retour signature");
829     $this->byId("libelle")->value("retour signature");
830     $this->byId("regle_etat")->value("etat");
831     $this->byId("regle_date_validite")->value("date_retour_signature + duree_validite");
832     // On valide le formulaire
833     $this->byXPath("//input[@value='Ajouter']")->click();
834     // On vérifie le message de validation
835     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
836     /** Fin **/
837 nhaye 2815 //
838 nhaye 2808 /** On ajoute un événement "retour signature" **/
839     // On clique sur le sous-menu "Événement"
840     $this->byLinkText("Événement")->click();
841     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
842     $this->verifyNoErrors();
843     // On clique sur le bouton "ajouter"
844     $this->byId("action-tab-evenement-corner-ajouter")->click();
845     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
846     $this->verifyNoErrors();
847     // On remplis les champs
848     $this->byId("libelle")->value("retour signature");
849     $this->byId("retour")->click();
850     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
851     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("dossier accepter");
852     $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
853     $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
854     $this->select($this->byId("action"))->selectOptionByLabel("retour signature");
855     // On valide le formulaire
856     $this->byXPath("//input[@value='Ajouter']")->click();
857     // On vérifie le message de validation
858     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
859     // On clique sur "Retour"
860     $this->byLinkText("Retour")->click();
861     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
862     $this->verifyNoErrors();
863     // On recherche l'événement "accepter un dossier sans réserve"
864     $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
865     // On clique sur le bouton recherche
866     $this->byCssSelector(".ui-button")->click();
867     // On clique sur le résultat
868     $this->byLinkText("accepter un dossier sans réserve")->click();
869     // On clique sur le bouton "Modifier"
870     $this->byId('action-form-evenement-modifier')->click();
871     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
872     $this->verifyNoErrors();
873     // On sélectionne l'événement "retour" dans "evenement_retour_signature"
874     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("retour signature");
875     // On valide le formulaire
876     $this->byXPath("//input[@value='Modifier']")->click();
877     // On vérifie le message de validation
878     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
879     /** Fin **/
880 nhaye 2815 //
881 nhaye 2808 /** On ajoute une durée de validité au type de DA PCI **/
882     // On clique sur le sous-menu "Type DA Détaillé"
883     $this->byLinkText("Type DA Détaillé")->click();
884     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
885     $this->verifyNoErrors();
886     // On clique sur le PCI
887     $this->byLinkText("PCI")->click();
888     // On clique sur le bouton "modifier"
889     $this->byId("action-form-dossier_autorisation_type_detaille-modifier")->click();
890     // On modifie la durée de validité
891     $this->byId("duree_validite_parametrage")->clear();
892     $this->byId("duree_validite_parametrage")->value("5");
893     // On valide le formulaire
894     $this->byXPath("//input[@value='Modifier']")->click();
895     // On vérifie le message de validation
896     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
897     /** Fin **/
898 nhaye 2815 //
899 nhaye 2808 /** On instancie une nouvelle demande initial PCI **/
900     // On clique sur le menu "Guichet Unique"
901     $this->byLinkText("Guichet Unique")->click();
902     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
903     $this->verifyNoErrors();
904     // On clique sur le sous-menu "Nouveau Dossier"
905     $this->byLinkText("Nouveau Dossier")->click();
906     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
907     $this->verifyNoErrors();
908     // On selectionne le type de dossier d'autorisation détaillé "Permis de construire pour une maison individuelle et / ou ses annexes"
909     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
910     // On selectionne le type de demande "Dépôt Initial"
911     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
912     // On clique pour ajouter un pétitionnaire principale
913     $this->byId("add_petitionnaire_principal")->click();
914     // On remplit le champ
915     $this->byId("particulier_nom")->value("DURAND");
916     // On remplit le champ
917     $this->byId("particulier_prenom")->value("MICKAEL");
918     // On remplit le champ
919     $this->byId("particulier_date_naissance")->value("03/01/1956");
920     // On remplit le champ
921     $this->byId("particulier_commune_naissance")->value("LILLE");
922     // On remplit le champ
923     $this->byId("particulier_departement_naissance")->value("NORD");
924     // On remplit le champ
925     $this->byId("numero")->value("12");
926     // On remplit le champ
927     $this->byId("voie")->value("RUE DE LA LOI");
928     // On remplit le champ
929     $this->byId("complement")->value("APPT 12");
930     // On remplit le champ
931     $this->byId("localite")->value("MARSEILLE");
932     // On remplit le champ
933     $this->byId("code_postal")->value("13012");
934     // On remplit le champ
935     $this->byId("telephone_fixe")->value("0404040404");
936     // On clique sur ajouter
937     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
938     // On vérifie le message
939     $this->assertContains("Vos modifications ont bien été enregistrées", $this->byCssSelector("#sousform-petitionnaire .message")->text());
940     // On clique sur le bouton retour
941     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
942     // On vérifie que le text est présent
943     $this->assertContains("DURAND MICKAEL",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
944     // On clique sur ajouter
945     $this->byXPath("//input[@value='Ajouter']")->click();
946     // On vérifie le message
947     $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
948     // Récupération du numéro de dossier
949     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
950     $dossier = $dossier[0];
951     /** Fin **/
952 nhaye 2815 //
953 nhaye 2808 /** On ajoute une instruction de dossier accepter et on la finalise **/
954     // On clique sur le menu "Instruction"
955     $this->byLinkText("Instruction")->click();
956     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
957     $this->verifyNoErrors();
958     // On clique sur le sous-menu "Recherche"
959     $this->byLinkText("Recherche")->click();
960     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
961     $this->verifyNoErrors();
962     // On recherche le dossier crée
963     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
964     // On clique sur le bouton recherche
965     $this->byId("adv-search-submit")->click();
966     // On clique sur le résultat
967     $this->byLinkText($dossier)->click();
968     // On clique sur l'onglet "Instruction"
969     $this->byId("instruction")->click();
970     // On ajoute un événement d'instruction
971     $this->byId("action-soustab-instruction-corner-ajouter")->click();
972 nmeucci 2879 // On choisit un signataire Albert Dupont
973     $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
974 nmeucci 2859 //On choisit l'instruction 'accepter un dossier sans réserve
975     //[acceptation]'
976     $this->select($this->byId("evenement"))->selectOptionByValue(81);
977 nhaye 2808 // On valide le formulaire
978     $this->byXPath("//input[@value='Ajouter']")->click();
979     // On vérifie le message
980     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
981     // On clique sur le bouton "retour"
982     $this->byLinkText("Retour")->click();
983     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
984     $this->verifyNoErrors();
985     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
986     $this->byLinkText("accepter un dossier sans réserve")->click();
987     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
988     $this->verifyNoErrors();
989     // On valide l'instruction
990     $this->byId("action-sousform-instruction-finalisation")->click();
991     // On vérifie le message de validation
992     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
993     // On clique sur le bouton "Retour"
994     $this->byLinkText("Retour")->click();
995     // On clique sur l'événement "accepter un dossier sans réserve"
996     $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
997     // Récupération du numéro d'événement
998     $evenement = $this->byCssSelector("#instruction.field_value")->text();
999     /** Fin **/
1000 nhaye 2815 //
1001 nhaye 2808 /** On met à jour la date de retour signature **/
1002     // Date de retour signature
1003     $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5, date("Y")));
1004     // On clique sur le menu "Suivi"
1005     $this->byLinkText("Suivi")->click();
1006     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1007     $this->verifyNoErrors();
1008     // On clique sur le sous-menu "Mise À Jour Des Dates"
1009     $this->byLinkText("Mise À Jour Des Dates")->click();
1010     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1011     $this->verifyNoErrors();
1012     // On sélectionne "date de retour de signature + Envoi contrôle légalite"
1013     $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
1014     // On remplit à la date du jour + 5 jours
1015     $this->byId("date")->value($date_retour_signature);
1016     // On remplit le code barres de l'instruction
1017     $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
1018     // On clique sur Valider
1019     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
1020     // On vérifie la synthèse avec le numéro du dossier et l'événement
1021     $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
1022     $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
1023     // On clique sur Valider
1024     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
1025     // On vérifie le message de validation
1026     $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
1027     /** Fin **/
1028 nhaye 2815 //
1029 nhaye 2808 /** Vérifie l'instruction "retour" et le DI **/
1030     // Date de validité
1031     $date_validite = $this->mois_date(date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+5, date("Y"))), 5, "+");
1032     $date_validite = date("d/m/Y", strtotime($date_validite));
1033     // On clique sur le menu "Instruction"
1034     $this->byLinkText("Instruction")->click();
1035     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1036     $this->verifyNoErrors();
1037     // On clique sur le sous-menu "Recherche"
1038     $this->byLinkText("Recherche")->click();
1039     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1040     $this->verifyNoErrors();
1041     // On recherche le dossier crée
1042     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1043     // On clique sur le bouton recherche
1044     $this->byId("adv-search-submit")->click();
1045     // On clique sur le résultat
1046     $this->byLinkText($dossier)->click();
1047     // On vérifie la date de validité mise à jour par l'action
1048     $this->assertContains($date_validite, $this->byId("date_validite")->text());
1049     // On clique sur l'onglet "Instruction"
1050     $this->byId("instruction")->click();
1051     // On clique sur l'instruction "retour signature"
1052     $this->byLinkText("retour signature")->click();
1053     // On contrôle la date de retour signature
1054     $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
1055     /** Fin **/
1056 nhaye 2815 //
1057 nhaye 2808 // On se déconnecte
1058     $this->logout();
1059 nhaye 2815 //
1060 nhaye 2808 }
1061 nhaye 2815 //
1062 nhaye 2808 /**
1063 vpihour 2902 * test la suppression d'un événement d'instruction lié à une demande qui ne
1064 nhaye 2808 * créée pas de nouveau dossier d'instruction
1065     */
1066 vpihour 2931 public function test_09_suppression_evenement_demande(){
1067 nhaye 2815 //
1068 nhaye 2808 //Ajout du paramétrage d'une nouvelle demande
1069     // On se connecte à l'application en tant qu'administrateur
1070     $this->login("admin", "admin");
1071     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1072     $this->verifyNoErrors();
1073     //On clique sur "Paramétrage dossier"
1074     $this->byLinkText("Paramétrage Dossiers")->click();
1075     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1076     $this->verifyNoErrors();
1077     //On clique sur Type
1078     $this->byLinkText("Type")->click();
1079     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1080     $this->verifyNoErrors();
1081     //On clique sur le "+" du tableau
1082     $this->byClassName("add-16")->click();
1083     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1084     $this->verifyNoErrors();
1085     //On saisit le type de la demande
1086 vpihour 2931 $this->byId("code")->value("test_09_suppression");
1087     $this->byId("libelle")->value("test_09_suppression");
1088 nhaye 2808 // On sélectionne le groupe 'Autorisation ADS'
1089     $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
1090     // On sélectionne 'AZ (Demande d'autorisation spéciale de travaux dans
1091     // le périmètre d'une AVAP)'
1092     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
1093     // On sélectionne la nature 'Dossier existant'
1094     $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
1095     // On sélectionne l'état 'En cours'
1096     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");
1097     // On sélectionne l'événement 'Defrichement soumis a enquete publique'
1098     $this->select($this->byId("evenement"))->selectOptionByValue("15");
1099     // On sélectionne la contrainte 'Avec récupération demandeur'
1100     $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
1101     // On clique sur le bouton ajouter
1102     $this->byXPath("//input[@value='Ajouter']")->click();
1103     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1104     $this->verifyNoErrors();
1105     // On vérifie que le type de demande a bien été ajouté
1106     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1107     //On se déconnecte
1108     $this->deconnect();
1109 nhaye 2815 //
1110 nhaye 2808 //Création d'un nouveau dossier d'instruction
1111     // On se connecte à l'application
1112     $this->login("guichet", "guichet");
1113     //On clique sur "Dossier En Cours"
1114     $this->byLinkText("Dossier En Cours")->click();
1115     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1116     $this->verifyNoErrors();
1117     //On clique sur le dossier "AZ0130551200001P0"
1118     $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
1119     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1120     $this->verifyNoErrors();
1121     //On sélectionne le type de la demande
1122 vpihour 2931 $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
1123 nhaye 2808 // On clique sur le bouton ajouter
1124     $this->byXPath("//input[@value='Ajouter']")->click();
1125     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1126     $this->verifyNoErrors();
1127     // On vérifie que le type de demande a bien été ajouté
1128     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1129     //On se déconnecte
1130     $this->deconnect();
1131 nhaye 2815 //
1132 nhaye 2808 //Suppression de l'événement d'instruction
1133     // On se connecte à l'application
1134     $this->login("admin", "admin");
1135     //On clique sur le menu "Instruction"
1136     $this->byLinkText("Instruction")->click();
1137     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1138     $this->verifyNoErrors();
1139     //On clique sur le menu "Recherche"
1140     $this->byLinkText("Recherche")->click();
1141     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1142     $this->verifyNoErrors();
1143     //On clique sur le dossier "AZ 013055 12 00001P0"
1144     $this->byLinkText("AZ 013055 12 00001P0")->click();
1145     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1146     $this->verifyNoErrors();
1147     //On clique sur l'onglet "Instruction"
1148     $this->byId("instruction")->click();
1149     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1150     $this->verifyNoErrors();
1151     //On clique sur l'instruction "Defrichement soumis a enquete publique"
1152     $this->byLinkText("Defrichement soumis a enquete publique")->click();
1153     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1154     $this->verifyNoErrors();
1155     //On définalise l'instruction
1156     $this->byClassName("definalise")->click();
1157     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1158     $this->verifyNoErrors();
1159     //On clique "Supprimer"
1160     $this->byCssSelector("#sousform-instruction .delete-16")->click();
1161     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1162     $this->verifyNoErrors();
1163     //On clique sur supprimer
1164     $this->byXPath("//input[@value='Supprimer']")->click();
1165     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1166     $this->verifyNoErrors();
1167     //On vérifie que lasuppression a été éffectuée
1168     $this->assertContains("La suppression a été correctement effectuée.",
1169     $this->byCssSelector("#sousform-instruction .message .text")->text());
1170     // On se déconnecte
1171     $this->logout();
1172     }
1173 nhaye 2815 //
1174 nhaye 2808 /**
1175 vpihour 2902 * test sur les types d'éditions des consultations
1176 nhaye 2808 */
1177 vpihour 2931 function test_10_nouveau_type_edition_consultation(){
1178 nhaye 2815 //
1179 nhaye 2808 //On saisit un service de test
1180     // On se connecte à l'application
1181     $this->login("admin", "admin");
1182     //On clique sur "Paramétrage"
1183     $this->byLinkText("Paramétrage")->click();
1184     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1185     $this->verifyNoErrors();
1186     //On clique sur "Service"
1187     $this->byLinkText("Service")->click();
1188     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1189     $this->verifyNoErrors();
1190     //On clique sur le "+" du tableau
1191     $this->byClassName("add-16")->click();
1192     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1193     $this->verifyNoErrors();
1194     //On saisit les données du service
1195 vpihour 2931 $this->byId("abrege")->value("test_10");
1196     $this->byId("libelle")->value("test_10");
1197 nhaye 2808 $this->byId("consultation_papier")->click();
1198 vpihour 2931 $this->select($this->byId("edition"))->selectOptionByLabel("test_10");
1199 nhaye 2808 // On clique sur le bouton ajouter
1200     $this->byXPath("//input[@value='Ajouter']")->click();
1201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1202     $this->verifyNoErrors();
1203     // On vérifie que le service a bien été ajouté
1204     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1205     //On se déconnecte
1206     $this->deconnect();
1207 nhaye 2815 //
1208 nhaye 2808 //On ajoute une consultation sur un dossier et on vérifie l'édition
1209     // On se connecte à l'application
1210     $this->login("instr", "instr");
1211     //On clique sur "Recherche"
1212     $this->byLinkText("Recherche")->click();
1213     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1214     $this->verifyNoErrors();
1215     //On choisit le dossier "AZ 013055 12 00001P0"
1216     $this->byLinkText("AZ 013055 12 00001P0")->click();
1217     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1218     $this->verifyNoErrors();
1219     //On clique sur l'onglet "Consultation"
1220     $this->byId("consultation")->click();
1221     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1222     $this->verifyNoErrors();
1223     //On clique sur le "+" du tableau
1224     $this->byClassName("add-16")->click();
1225     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1226     $this->verifyNoErrors();
1227     //On saist une nouvelle consultation
1228 vpihour 2931 $this->select($this->byId("service"))->selectOptionByLabel("test_10");
1229 nhaye 2808 // On clique sur le bouton ajouter
1230     $this->byXPath("//input[@value='Ajouter']")->click();
1231     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1232     $this->verifyNoErrors();
1233     // On vérifie que la consultation a bien été ajoutée
1234     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1235     //On clique sur retour
1236     $this->byCssSelector("#sousform-consultation .retour")->click();
1237     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1238     $this->verifyNoErrors();
1239 vpihour 2931 //On clique sur la consultation au service "test_10"
1240     $this->byLinkText("test_10")->click();
1241 nhaye 2808 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1242     $this->verifyNoErrors();
1243     //On affiche le PDF
1244     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1245     // Liste les fenêtres
1246     $windows = $this->windowHandles();
1247     // Change la fenêtre
1248     $this->window($windows[1]);
1249     // On vérifie qu'il n'y ait pas d'erreur
1250     $this->verifynoerrors();
1251     // On vérifie que le text est présent
1252 vpihour 2931 $this->assertContains("test_10",$this->source());
1253     $this->assertNotContains("test_10_2",$this->source());
1254 nhaye 2808 // On ferme la fenêtre
1255     $this->closeWindow();
1256     // On change le focus de la fenêtre
1257     $this->window($windows[0]);
1258     //On se déconnecte
1259     $this->deconnect();
1260 nhaye 2815 //
1261 nhaye 2808 //On change l'édition
1262     // On se connecte à l'application
1263     $this->login("admin", "admin");
1264     //On clique sur "Paramétrage"
1265     $this->byLinkText("Paramétrage")->click();
1266     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1267     $this->verifyNoErrors();
1268     //On clique sur "Service"
1269     $this->byLinkText("Service")->click();
1270     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1271     $this->verifyNoErrors();
1272     //On cherche le service
1273 vpihour 2931 $this->byName("recherche")->value("test_10");
1274 nhaye 2808 //On valide
1275     $this->byName("s1")->click();
1276 vpihour 2931 //On clique sur le service test_10
1277     $this->byLinkText("test_10")->click();
1278 nhaye 2808 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1279     $this->verifyNoErrors();
1280     //On clique sur "Modifier" dans le portail d'action
1281     $this->byClassName("edit-16")->click();
1282     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1283     $this->verifyNoErrors();
1284     //On choisit une seconde édition
1285 vpihour 2931 $this->select($this->byId("edition"))->selectOptionByLabel("test_10_2");
1286 nhaye 2808 // On clique sur le bouton ajouter
1287     $this->byXPath("//input[@value='Modifier']")->click();
1288     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1289     $this->verifyNoErrors();
1290     // On vérifie que le service a bien été ajouté
1291     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1292     //On se déconnecte
1293     $this->deconnect();
1294 nhaye 2815 //
1295 nhaye 2808 //On vérifie que c'est la bonne édition qui est affiché
1296     // On se connecte à l'application
1297     $this->login("instr", "instr");
1298     //On clique sur "Recherche"
1299     $this->byLinkText("Recherche")->click();
1300     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1301     $this->verifyNoErrors();
1302     //On choisit le dossier "AZ 013055 12 00001P0"
1303     $this->byLinkText("AZ 013055 12 00001P0")->click();
1304     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1305     $this->verifyNoErrors();
1306     //On clique sur l'onglet "Consultation"
1307     $this->byId("consultation")->click();
1308     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1309     $this->verifyNoErrors();
1310 vpihour 2931 //On clique sur la consultation au service "test_10"
1311     $this->byLinkText("test_10")->click();
1312 nhaye 2808 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1313     $this->verifyNoErrors();
1314     //on definalise la consultaion
1315     $this->byClassName("definalise")->click();
1316     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1317     $this->verifyNoErrors();
1318     //On vérifie que la consultation s'est bien définalisée
1319     $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(10);
1320     //On affiche le PDF
1321     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1322     // Liste les fenêtres
1323     $windows = $this->windowHandles();
1324     // Change la fenêtre
1325     $this->window($windows[1]);
1326     // On vérifie qu'il n'y ait pas d'erreur
1327     $this->verifynoerrors();
1328     // On vérifie que le text est présent
1329 vpihour 2931 $this->assertContains("test_10_2",$this->source());
1330 nhaye 2808 // On ferme la fenêtre
1331     $this->closeWindow();
1332     // On change le focus de la fenêtre
1333     $this->window($windows[0]);
1334 nhaye 2815 //
1335 nhaye 2808 // On se déconnecte
1336     $this->logout();
1337     }
1338 nhaye 2815 //
1339 nhaye 2808 /**
1340 vpihour 2902 * test sur un événement non verrouillable
1341 nhaye 2808 */
1342 vpihour 2931 public function test_11_evenement_non_verrouillable(){
1343 nhaye 2815 //
1344 nhaye 2808 /* On crée une nouvelle demande initial */
1345     // On se connecte à l'application
1346     $this->login("guichet", "guichet");
1347     // On clique sur le menu "Nouveau Dossier"
1348     $this->byLinkText("Nouveau Dossier")->click();
1349     // On vérifie qu'il n'y ait pas d'erreur
1350     $this->verifynoerrors();
1351     // On vérifie le nom de l'onglet
1352     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
1353     // On sélectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
1354     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
1355     // On selectionne le label "Dépôt Initial"
1356     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
1357     // On clique pour ajouter un pétitionnaire principale
1358     $this->byId("add_petitionnaire_principal")->click();
1359     // On remplit le champ
1360     $this->byId("particulier_nom")->value("DURAND");
1361     // On remplit le champ
1362     $this->byId("particulier_prenom")->value("MICKAEL");
1363     // On remplit le champ
1364     $this->byId("particulier_date_naissance")->value("03/01/1956");
1365     // On remplit le champ
1366     $this->byId("particulier_commune_naissance")->value("LILLE");
1367     // On remplit le champ
1368     $this->byId("particulier_departement_naissance")->value("NORD");
1369     // On remplit le champ
1370     $this->byId("numero")->value("12");
1371     // On remplit le champ
1372     $this->byId("voie")->value("RUE DE LA LOI");
1373     // On remplit le champ
1374     $this->byId("complement")->value("APPT 12");
1375     // On remplit le champ
1376     $this->byId("localite")->value("MARSEILLE");
1377     // On remplit le champ
1378     $this->byId("code_postal")->value("13012");
1379     // On remplit le champ
1380     $this->byId("telephone_fixe")->value("0404040404");
1381     // On clique sur ajouter
1382     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1383     // On vérifie qu'il n'y ait pas d'erreur
1384     $this->verifynoerrors();
1385     // On vérifie le message
1386     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1387     // On clique sur le bouton retour
1388     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1389     // On vérifie que le text est présent
1390     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1391     // On clique sur ajouter
1392     $this->byXPath("//input[@value='Ajouter']")->click();
1393     // On vérifie qu'il n'y ait pas d'erreur
1394     $this->verifynoerrors();
1395     // On vérifie le message
1396     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
1397     // Récupération du numéro de dossier
1398     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
1399     $dossier_libelle = $matches[0];
1400     $dossier = str_replace(' ', '', $dossier_libelle);
1401     $dossier_dir = substr_replace($dossier, '.', -2, -3);
1402     // On clique
1403     $this->byCssSelector("a.lien")->click();sleep(5);
1404     // Liste les fenêtres
1405     $windows = $this->windowHandles();
1406     // Change la fenêtre
1407     $this->window($windows[1]);
1408     // On vérifie qu'il n'y ait pas d'erreur
1409     $this->verifynoerrors();
1410     // On vérifie que le text est présent
1411     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
1412     // On ferme la fenêtre
1413     $this->closeWindow();
1414     // On change le focus de la fenêtre
1415     $this->window($windows[0]);
1416     // On clique sur le bouton retour
1417     $this->byLinkText("Retour")->click();
1418     // On vérifie qu'il n'y ait pas d'erreur
1419     $this->verifynoerrors();
1420     // On vérifie que le répertoire s'est crée
1421     $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
1422     // On se déconnecte
1423     $this->deconnect();
1424     /* Fin */
1425 nhaye 2815 //
1426 nhaye 2808 /* On accepte le dossier d'instruction et le finalise */
1427     // On se connecte à l'application
1428     $this->login("instr", "instr");
1429     // On clique sur le menu 'Recherche'
1430     $this->byLinkText("Recherche")->click();
1431     // On recherche le dossier crée
1432     $this->byId("dossier")->value($dossier);
1433     // On clique sur le bouton recherche
1434     $this->byId("adv-search-submit")->click();
1435     // On clique sur le résultat
1436     $this->byLinkText($dossier_libelle)->click();
1437     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1438     $this->verifyNoErrors();
1439     // On clique sur l'onglet "Instruction"
1440     $this->byId("instruction")->click();
1441     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1442     $this->verifyNoErrors();
1443     // On clique sur le lien d'ajout dans le tableau
1444     $this->byCssSelector(".actions-max-1 a")->click();
1445     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1446     $this->verifyNoErrors();
1447 nmeucci 2859 //On choisit l'instruction 'accepter un dossier sans réserve
1448     //[acceptation]'
1449     $this->select($this->byId("evenement"))->selectOptionByValue(81);
1450 nhaye 2808 // On valide le formulaire
1451     $this->byXPath("//input[@value='Ajouter']")->click();
1452     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1453     $this->verifyNoErrors();
1454     sleep(1);
1455     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
1456     // On retourne sur le tableau d'instructions
1457     $this->byCssSelector("#sousform-instruction .retour")->click();
1458     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1459     $this->verifyNoErrors();
1460     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
1461     $this->byLinkText("accepter un dossier sans réserve")->click();
1462     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1463     $this->verifyNoErrors();
1464     // On valide l'instruction (un événement verrouillable ne pourrait pas
1465     // être finalisé)
1466     $this->byId("action-sousform-instruction-finalisation")->click();
1467     // On vérifie le message de validation
1468     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1469     /* Fin */
1470     }
1471 nhaye 2815 //
1472 softime 2613 /**
1473 vpihour 2902 * test que les données du dossier d'autorisation sont recopiés dans les
1474 nhaye 2806 * champs 'archive_' de l'événement d'instruction de la création du nouveau
1475     * dossier d'instruction
1476 softime 2613 */
1477 vpihour 2931 public function test_12_recopie_donnees_da_vers_nouveau_di(){
1478 nhaye 2815 //
1479 nhaye 2806 //{{{ Ajout de d'un nouveau dossier
1480 softime 2613 // On se connecte à l'application
1481     $this->login("guichet", "guichet");
1482 nhaye 2806 //On clique sur le menu des instructions
1483 softime 2613 $this->byLinkText("Nouveau Dossier")->click();
1484 nhaye 2806 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1485     $this->verifyNoErrors();
1486     //On ajoute un nouveau dossier
1487     $dossier = $this->addDossierInstruction( 1, 1);
1488 softime 2613 // On se déconnecte
1489     $this->deconnect();
1490 nhaye 2806 //}}}
1491 nhaye 2815 //
1492 vpihour 2631 //{{{ Clôture du nouveau dossier
1493     // On se connecte à l'application
1494     $this->login("instr", "instr");
1495     //On clique sur le menu "Recherche"
1496     $this->byLinkText("Recherche")->click();
1497     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1498     $this->verifyNoErrors();
1499 softime 2653 // On recherche le dossier crée
1500     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1501     // On clique sur le bouton recherche
1502     $this->byId("adv-search-submit")->click();
1503     // On clique sur le résultat
1504 vpihour 2631 $this->byLinkText($dossier)->click();
1505     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1506     $this->verifyNoErrors();
1507     //On clique sur l'onglet "instruction"
1508     $this->byId("instruction")->click();
1509     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1510     $this->verifyNoErrors();
1511     // On ajoute une instruction
1512     $this->byCssSelector("#sousform-instruction .add-16")->click();
1513     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1514     $this->verifyNoErrors();
1515 softime 2648 //On choisit l'instruction 'accepter un dossier sans réserve
1516     //[acceptation]'
1517 vpihour 2631 $this->select($this->byId("evenement"))->selectOptionByValue(81);
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     //On rafraichit la page pour vérifier que le dossier est clôturé
1525     $this->refresh();
1526     $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1527     // On se déconnecte
1528     $this->deconnect();
1529     //}}}
1530 nhaye 2815 //
1531 vpihour 2631 //{{{ Ajout de l'action
1532     // On se connecte à l'application
1533     $this->login("admin", "admin");
1534     //On clique sur le menu "Paramétrage dossiers"
1535     $this->byLinkText("Paramétrage Dossiers")->click();
1536     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1537     $this->verifyNoErrors();
1538     //On clique sur le menu "Action"
1539     $this->byLinkText("Action")->click();
1540     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1541     $this->verifyNoErrors();
1542     //On clique sur le "+" du tableau
1543     $this->byClassName("add-16")->click();
1544     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1545     $this->verifyNoErrors();
1546     //On remplit la règle de calcul de la date de validité
1547 vpihour 2931 $this->byId("action")->value("test_12_recopie_donnees");
1548     $this->byId("libelle")->value("test_12_recopie_donnees");
1549 vpihour 2643 $this->byId("regle_date_validite")->value("archive_date_validite+12");
1550 vpihour 2631 // On clique sur ajouter
1551     $this->byXPath("//input[@value='Ajouter']")->click();
1552     // On vérifie qu'il n'y ait pas d'erreur
1553     $this->verifynoerrors();
1554     // On vérifie le message
1555     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1556     //}}}
1557 nhaye 2815 //
1558 vpihour 2631 //{{{ Ajout de l'événement
1559     //On clique sur le menu "Événement"
1560     $this->byLinkText("Événement")->click();
1561     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1562     $this->verifyNoErrors();
1563     //On clique sur le "+" du tableau
1564     $this->byClassName("add-16")->click();
1565     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1566     $this->verifyNoErrors();
1567     //On remplit l'événement qui va être ajouté avec la nouvelle demande
1568 vpihour 2931 $this->byId("libelle")->value("test_12_recopie_donnees");
1569 vpihour 2631 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByValue("accepter");
1570 softime 2648 // On sélectionne PCI - P - Initial
1571 vpihour 2631 $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByValue(1);
1572 vpihour 2931 $this->select($this->byName("action"))->selectOptionByLabel("test_12_recopie_donnees");
1573 vpihour 2631 // 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     //}}}
1580 nhaye 2815 //
1581 vpihour 2631 //{{{ Ajout du type de dossier d'instruction
1582     //On clique sur le menu "Type DI"
1583     $this->byLinkText("Type DI")->click();
1584     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1585     $this->verifyNoErrors();
1586     //On clique sur le "+" du tableau
1587     $this->byClassName("add-16")->click();
1588     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1589     $this->verifyNoErrors();
1590     //On remplit le type de la demande
1591     $this->byId("code")->value("DT");
1592 vpihour 2931 $this->byId("libelle")->value("test_12_recopie_donnees");
1593 softime 2648 // On sélectionne PCI (Permis de construire pour une maison individuelle
1594     // et / ou ses annexes)
1595 vpihour 2631 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);sleep(1);
1596     $this->byId("suffixe")->click();
1597     // On clique sur ajouter
1598     $this->byXPath("//input[@value='Ajouter']")->click();
1599     // On vérifie qu'il n'y ait pas d'erreur
1600     $this->verifynoerrors();
1601     // On vérifie le message
1602     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1603     //}}}
1604 nhaye 2815 //
1605 vpihour 2631 //{{{ Ajout du type de la demande
1606     //On clique sur le menu "Type"
1607     $this->byLinkText("Type")->click();
1608     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1609     $this->verifyNoErrors();
1610     //On clique sur le "+" du tableau
1611     $this->byClassName("add-16")->click();
1612     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1613     $this->verifyNoErrors();
1614     //On remplit le type de la demande
1615 vpihour 2931 $this->byId("code")->value("test_12_recopie_donnees");
1616     $this->byId("libelle")->value("test_12_recopie_donnees");
1617 softime 2648 // On sélectionne Autorisation ADS
1618 vpihour 2631 $this->select($this->byId("groupe"))->selectOptionByValue(1);sleep(1);
1619 softime 2648 // On sélectionne PCI (Permis de construire pour une maison individuelle
1620     // et / ou ses annexes)
1621 vpihour 2631 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1622 softime 2648 // On sélectionne Dossier existant
1623 vpihour 2631 $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1624 softime 2648 // On sélectionne Accordé
1625 vpihour 2631 $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1626 vpihour 2931 $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1627     $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1628 vpihour 2631 // On clique sur ajouter
1629     $this->byXPath("//input[@value='Ajouter']")->click();
1630     // On vérifie qu'il n'y ait pas d'erreur
1631     $this->verifynoerrors();
1632     // On vérifie le message
1633     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1634     //On clique sur retour
1635     $this->byClassName("retour")->click();
1636     // On vérifie qu'il n'y ait pas d'erreur
1637     $this->verifynoerrors();
1638     //On saisit le libellé du type de la demande saisit
1639 vpihour 2931 $this->byName("recherche")->value("test_12_recopie_donnees");
1640 vpihour 2631 //On valide
1641     $this->byName("s1")->click();
1642     // On vérifie qu'il n'y ait pas d'erreur
1643     $this->verifynoerrors();
1644     //On clique sur le type de la demande
1645 vpihour 2931 $this->byLinkText("test_12_recopie_donnees")->click();
1646 vpihour 2631 // On vérifie qu'il n'y ait pas d'erreur
1647     $this->verifynoerrors();
1648     //On récupère l'identifiant du type de la demande
1649     $demande_type = $this->byId("demande_type")->text();
1650     // On se déconnecte
1651     $this->deconnect();
1652     //}}}
1653 nhaye 2815 //
1654 vpihour 2631 //{{{ Ajout de d'un nouveau dossier
1655     // On se connecte à l'application
1656     $this->login("guichet", "guichet");
1657     //On clique sur le menu des instructions
1658     $this->byLinkText("Dossier En Cours")->click();
1659     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1660     $this->verifyNoErrors();
1661     //On ajoute un nouveau dossier
1662 nhaye 2815 $dossier = $this->addDossierInstruction(1, $demande_type, "Test validité", 2, str_replace(" ", "", $dossier));
1663 vpihour 2631 // On se déconnecte
1664     $this->deconnect();
1665     //}}}
1666 nhaye 2815 //
1667 vpihour 2631 //{{{ Vérification de la date de validité
1668     // On se connecte à l'application
1669     $this->login("instr", "instr");
1670     //On clique sur le menu "Recherche"
1671     $this->byLinkText("Recherche")->click();
1672     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1673     $this->verifyNoErrors();
1674 softime 2682 // On recherche le dossier crée
1675     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1676     // On clique sur le bouton recherche
1677     $this->byId("adv-search-submit")->click();
1678     // On clique sur le résultat
1679 vpihour 2631 $this->byLinkText($dossier)->click();
1680     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1681     $this->verifyNoErrors();
1682     //On vérifie la date de validité
1683 softime 2771 $date_validite = $this->mois_date(date("Y-m-d"), 12, "+");
1684     $date_validite = date("d/m/Y", strtotime($date_validite));
1685     $this->assertEquals($date_validite, $this->byId("date_validite")->text());
1686 vpihour 2631 // On se déconnecte
1687     $this->deconnect();
1688     //}}}
1689     }
1690 nhaye 2815 //
1691 nhaye 2808 /**
1692 vpihour 2902 * test de la numérotation des DI successifs
1693 nhaye 2808 */
1694 vpihour 2931 function test_13_numerotation_dossier_instruction_successif(){
1695 nhaye 2815 //
1696 nhaye 2808 //{{{ Ajout de d'un nouveau dossier d'instruction P0
1697     // On se connecte à l'application
1698     $this->login("guichet", "guichet");
1699     // On clique sur le menu "Nouveau Dossier"
1700     $this->byLinkText("Nouveau Dossier")->click();
1701     // On vérifie qu'il n'y ait pas d'erreur
1702     $this->verifynoerrors();
1703     // On ajoute un nouveau dossier d'instruction
1704     $dossierP0 = str_replace(" ", "", trim($this->addDossierInstruction(1, 1)));
1705     // On se déconnecte
1706     $this->deconnect();
1707     //}}}
1708 nhaye 2815 //
1709 nhaye 2808 //{{{ Accord du P0 créé
1710     // On se connecte à l'application
1711     $this->login("instr", "instr");
1712     // On clique sur le menu "Recherche"
1713     $this->byLinkText("Recherche")->click();
1714     // On vérifie qu'il n'y ait pas d'erreur
1715     $this->verifynoerrors();
1716     // On saisit le numéro du dossier d'instruction
1717     $this->byId("dossier")->value($dossierP0);
1718     // On valide la recherche
1719     $this->byId("adv-search-submit")->click();
1720     // On vérifie qu'il n'y ait pas d'erreur
1721     $this->verifynoerrors();
1722     // On clique sur le dossier d'instruction
1723     $this->byId("action-tab-dossier_instruction-left-consulter-".$dossierP0)->click();
1724     // On vérifie qu'il n'y ait pas d'erreur
1725     $this->verifynoerrors();
1726     // On clique sur l'onglet instruction
1727     $this->byId("instruction")->click();
1728     // On vérifie qu'il n'y ait pas d'erreur
1729     $this->verifynoerrors();
1730     // On clique sur le + du tableau
1731     $this->byClassName("add-16")->click();
1732     // On vérifie qu'il n'y ait pas d'erreur
1733     $this->verifynoerrors();
1734     // On choisit l'événement n°81 accepter un dossier sans réserve
1735     $this->select($this->byName("evenement"))->selectOptionByValue(81);
1736     // On clique sur ajouter
1737     $this->byXPath("//input[@value='Ajouter']")->click();
1738 nhaye 2934 sleep(1);
1739 nhaye 2808 // On vérifie qu'il n'y ait pas d'erreur
1740     $this->verifynoerrors();
1741     // On vérifie que l'événement d'instruction s'est bien ajouté
1742     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());
1743 nhaye 2907 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1744     $this->verifyNoErrors();
1745 nhaye 2808 // On se déconnecte
1746     $this->deconnect();
1747     //}}}
1748 nhaye 2815 //
1749 nhaye 2808 //{{{ Ajout d'un nouveau type de dossier d'instruction
1750     // On se connecte à l'application
1751     $this->login("admin", "admin");
1752     // On clique sur le menu "Paramétrage Dossiers"
1753     $this->byLinkText("Paramétrage Dossiers")->click();
1754     // On vérifie qu'il n'y ait pas d'erreur
1755     $this->verifynoerrors();
1756     // On clique sur le menu "Type DI"
1757     $this->byLinkText("Type DI")->click();
1758     // On vérifie qu'il n'y ait pas d'erreur
1759     $this->verifynoerrors();
1760     // On clique sur le + du tableau
1761     $this->byClassName("add-16")->click();
1762     // On vérifie qu'il n'y ait pas d'erreur
1763     $this->verifynoerrors();
1764     //On saisit les données
1765     $this->byId("code")->value("TN");
1766     $this->byId("libelle")->value("Test numérotation");
1767     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1768     $this->byId("suffixe")->click();
1769     // On clique sur ajouter
1770     $this->byXPath("//input[@value='Ajouter']")->click();
1771     // On vérifie qu'il n'y ait pas d'erreur
1772     $this->verifynoerrors();
1773     // On vérifie que le type de dossier d'instruction s'est bien ajouté
1774     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1775 nhaye 2907 // On clique sur "Retour"
1776     $this->byClassName("retour")->click();
1777     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1778     $this->verifyNoErrors();
1779     //On saisie le nom due l'événement dans la recherche simple
1780     $this->byName("recherche")->value("Test numérotation");
1781     //On valide la recherche
1782     $this->byName('s1')->submit();
1783     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1784     $this->verifyNoErrors();
1785     //On clique sur l'événement
1786     $this->byLinkText("Test numérotation")->click();
1787     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1788     $this->verifyNoErrors();
1789     //On récupère l'identifiant
1790     $dossier_instruction_type = trim($this->byId("dossier_instruction_type")->text());
1791 nhaye 2808 //}}}
1792 nhaye 2815 //
1793 nhaye 2808 //{{{ Ajout d'un nouveau type de demande
1794     // On clique sur le menu "Type"
1795     $this->byLinkText("Type")->click();
1796     // On vérifie qu'il n'y ait pas d'erreur
1797     $this->verifynoerrors();
1798     // On clique sur le + du tableau
1799     $this->byClassName("add-16")->click();
1800     // On vérifie qu'il n'y ait pas d'erreur
1801     $this->verifynoerrors();
1802     //On saisit les données
1803     $this->byId("code")->value("TN");
1804     $this->byId("libelle")->value("Test numérotation");
1805     $this->select($this->byId("groupe"))->selectOptionByValue(1);
1806     sleep(1);
1807     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1808 nhaye 2907 sleep(1);
1809 nhaye 2808 $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1810 nhaye 2907 sleep(1);
1811 nhaye 2808 $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1812 nhaye 2907 sleep(1);
1813     $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue($dossier_instruction_type);
1814     sleep(1);
1815 nhaye 2808 $this->select($this->byId("evenement"))->selectOptionByValue(1);
1816     // On clique sur ajouter
1817     $this->byXPath("//input[@value='Ajouter']")->click();
1818     // On vérifie qu'il n'y ait pas d'erreur
1819     $this->verifynoerrors();
1820     // On vérifie qu'il n'y ait pas d'erreur
1821     $this->verifynoerrors();
1822     // On vérifie que le type de dossier d'instruction s'est bien ajouté
1823     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1824     // On clique sur "Retour"
1825     $this->byClassName("retour")->click();
1826     // On vérifie qu'il n'y ait pas d'erreur
1827     $this->verifynoerrors();
1828     // On saisit le libelle du type de la demande nouvellement créée
1829     $this->byClassName("champFormulaire")->value("Test numérotation");
1830     // On valide la recherche
1831     $this->byName("f1")->submit();
1832     //On clique sur le type de la demande
1833     $this->byLinkText("Test numérotation")->click();
1834     // On vérifie qu'il n'y ait pas d'erreur
1835     $this->verifynoerrors();
1836     // On récupère l'identifiant
1837     $idDemandeType = trim($this->byId("demande_type")->text());
1838     // On se déconnecte
1839     $this->deconnect();
1840     //}}}
1841 nhaye 2815 //
1842 nhaye 2808 //{{{ Ajout de d'un nouveau dossier d'instruction avec le nouveau type
1843     //de dossier d'instruction
1844     // On se connecte à l'application
1845     $this->login("guichet", "guichet");
1846     // On clique sur le menu "Dossier En Cours"
1847     $this->byLinkText("Dossier En Cours")->click();
1848     // On vérifie qu'il n'y ait pas d'erreur
1849     $this->verifynoerrors();
1850     // On ajoute un nouveau dossier d'instruction
1851 nhaye 2815 $dossierTN01 = trim($this->addDossierInstruction(1, $idDemandeType, "Test nouveau DI", 3, $dossierP0));
1852 nhaye 2808 //On vérifie que le numéro du dossier d'instruction est celui attendu
1853     assert(preg_match('/(PC)[0-9 ]*(TN01)/', $dossierTN01) === 1);
1854     // On se déconnecte
1855     $this->deconnect();
1856     //}}}
1857 vpihour 2773
1858    
1859 nhaye 2816 }
1860 nhaye 2828
1861     /**
1862 vpihour 2902 * test de la numérotation des DI successifs
1863 nhaye 2828 */
1864 vpihour 2931 function test_14_recalcul_donnees_DI_vers_DA(){
1865 nhaye 2828 //{{{ Ajout de d'un nouveau dossier
1866     // On se connecte à l'application
1867     $this->login("guichet", "guichet");
1868     //On clique sur le menu des instructions
1869     $this->byLinkText("Nouveau Dossier")->click();
1870     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1871     $this->verifyNoErrors();
1872     //On ajoute un nouveau dossier
1873     $dossier = $this->addDossierInstruction( 1, 1);
1874     // On se déconnecte
1875     $this->deconnect();
1876     //}}}
1877     //
1878     //{{{
1879     // Mise à jour des données techniques
1880     // On se connecte à l'application
1881     $this->login("instr", "instr");
1882     //On clique sur le menu "Recherche"
1883     $this->byLinkText("Recherche")->click();
1884     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1885     $this->verifyNoErrors();
1886     // On recherche le dossier crée
1887     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1888     // On clique sur le bouton recherche
1889     $this->byId("adv-search-submit")->click();
1890     // On clique sur le résultat
1891     $this->byLinkText($dossier)->click();
1892     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1893     $this->verifyNoErrors();
1894     // Ouverture du formulaire des données techniques
1895     $this->byCssSelector("#formulaire .rediger-16")->click();
1896     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1897     $this->verifyNoErrors();
1898     // Modification des données techniques
1899     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
1900     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1901     $this->verifyNoErrors();
1902     sleep(1);
1903     // On déplie le fieldset Construire
1904     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1905     sleep(1);
1906     // On déplie le fieldset Destinations et surfaces des constructions
1907     $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1908     sleep(1);
1909     //On remplit des données techniques
1910     $this->byId("su_cstr_shon1")->value("120");
1911     // On clique sur ajouter
1912     $this->byXPath("//input[@value='Modifier']")->click();
1913 nhaye 2934 sleep(1);
1914 nhaye 2828 // On vérifie qu'il n'y ait pas d'erreur
1915     $this->verifynoerrors();
1916     // On vérifie le message
1917 vpihour 2902 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-donnees_techniques .message")->text());
1918 nhaye 2828 //On clique sur retour
1919     $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1920     //}}}
1921     //
1922     //{{{ Clôture du nouveau dossier
1923     //On clique sur le menu "Recherche"
1924     $this->byLinkText("Recherche")->click();
1925     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1926     $this->verifyNoErrors();
1927     // On recherche le dossier crée
1928     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1929     // On clique sur le bouton recherche
1930     $this->byId("adv-search-submit")->click();
1931     // On clique sur le résultat
1932     $this->byLinkText($dossier)->click();
1933     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1934     $this->verifyNoErrors();
1935     //On clique sur l'onglet "instruction"
1936     $this->byId("instruction")->click();
1937     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1938     $this->verifyNoErrors();
1939     // On ajoute une instruction
1940     $this->byCssSelector("#sousform-instruction .add-16")->click();
1941     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1942     $this->verifyNoErrors();
1943     //On choisit l'instruction 'accepter un dossier sans réserve
1944     //[acceptation]'
1945     $this->select($this->byId("evenement"))->selectOptionByValue(81);
1946     // On clique sur ajouter
1947     $this->byXPath("//input[@value='Ajouter']")->click();
1948     // On vérifie qu'il n'y ait pas d'erreur
1949     $this->verifynoerrors();
1950     // On vérifie le message
1951     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1952     //On rafraichit la page pour vérifier que le dossier est clôturé
1953     $this->refresh();
1954     $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1955     //}}}
1956     //
1957     //{{{ Vérification des données techniques dans la visu DA
1958     //On clique sur le menu "Recherche"
1959     $this->byLinkText("Recherche")->click();
1960     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1961     $this->verifyNoErrors();
1962     // On recherche le dossier crée
1963     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1964     // On clique sur le bouton recherche
1965     $this->byId("adv-search-submit")->click();
1966     // On clique sur le résultat
1967     $this->byLinkText($dossier)->click();
1968     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1969     $this->verifyNoErrors();
1970     //On clique sur l'onglet "DA"
1971     $this->byId("dossier_autorisation")->click();
1972     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1973     $this->verifyNoErrors();
1974     // On ajoute une instruction
1975     $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();
1976     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1977     $this->verifyNoErrors();
1978     // Affichage des données techniques
1979     $this->byId("donnees_techniques_da")->click();
1980     sleep(1);
1981     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1982     $this->verifyNoErrors();
1983     // On déplie le fieldset Construire
1984     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1985     sleep(1);
1986     // On déplie le fieldset Destinations et surfaces des constructions
1987     $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1988     sleep(1);
1989     $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());
1990     //On clique sur retour
1991     $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1992     // On se déconnecte
1993 nhaye 2896 $this->deconnect();
1994 nhaye 2828 //}}}
1995 nhaye 2896
1996     // Vérification du calcul de l'état du DA
1997     //{{{ Ajout de d'un nouveau dossier
1998     // On se connecte à l'application
1999     $this->login("guichet", "guichet");
2000     //On clique sur le menu des instructions
2001     $this->byLinkText("Nouveau Dossier")->click();
2002     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2003     $this->verifyNoErrors();
2004     //On ajoute un nouveau dossier
2005     $dossier = $this->addDossierInstruction( 1, 1, "test recalcul état DA");
2006     // On se déconnecte
2007     $this->deconnect();
2008     //}}}
2009     // On se connecte à l'application
2010     $this->login("instr", "instr");
2011     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2012     $this->verifyNoErrors();
2013     // On clique sur le lien "Mes encours" dans le menu
2014     $this->byLinkText("Mes Encours")->click();
2015     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2016     $this->verifyNoErrors();
2017     sleep(1);
2018 nhaye 2899 //On cherche le dossier d'instruction
2019 nhaye 2900 $this->byName("recherche")->value(str_replace(" ", "", $dossier));
2020 nhaye 2899 // On valide la recherche
2021 nhaye 2900 $this->byName("s1")->click();
2022 nhaye 2899 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2023     $this->verifyNoErrors();
2024 nhaye 2896 // On clique sur le dossier dernièrement créé
2025     $this->byLinkText($dossier)->click();
2026     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2027     $this->verifyNoErrors();
2028     $this->verifierEtatDA($dossier,81, "Accordé");
2029     // On se déconnecte
2030     $this->deconnect();
2031     //}}}
2032     //{{{ Ajout de d'un nouveau dossier
2033     // On se connecte à l'application
2034     $this->login("guichet", "guichet");
2035     //On clique sur le menu des instructions
2036     $this->byLinkText("Nouveau Dossier")->click();
2037     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2038     $this->verifyNoErrors();
2039     //On ajoute un nouveau dossier
2040     $dossier = $this->addDossierInstruction( 1, 1, "test recalcul état DA");
2041     // On se déconnecte
2042     $this->deconnect();
2043     //}}}
2044     // On se connecte à l'application
2045     $this->login("instr", "instr");
2046     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2047     $this->verifyNoErrors();
2048     // On clique sur le lien "Mes encours" dans le menu
2049     $this->byLinkText("Mes Encours")->click();
2050     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2051     $this->verifyNoErrors();
2052     sleep(1);
2053 vpihour 2902 //On cherche le dossier d'instruction
2054     $this->byClassName("champFormulaire")->value(str_replace(" ", "", $dossier));
2055     // On valide la recherche
2056     $this->byId("f1")->submit();
2057     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2058     $this->verifyNoErrors();
2059 nhaye 2896 // On clique sur le dossier dernièrement créé
2060     $this->byLinkText($dossier)->click();
2061     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2062     $this->verifyNoErrors();
2063     $this->verifierEtatDA($dossier,31, "Refusé");
2064     // On se déconnecte
2065     $this->deconnect();
2066     //}}}
2067 nhaye 2828 }
2068 vpihour 2773
2069 vpihour 2877 /*
2070     * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
2071     * d'instruction
2072     */
2073 vpihour 2931 public function test_15_envoi_de_message_erp(){
2074 vpihour 2877
2075     // On se connecte en tant que "admin"
2076     $this->login("admin", "admin");
2077     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2078     $this->verifyNoErrors();
2079     //On clique sur Paramétrage Dossiers
2080     $this->byLinkText("Paramétrage Dossiers")->click();
2081     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2082     $this->verifyNoErrors();
2083     //On clique sur Service
2084     $this->byLinkText("Événement")->click();
2085     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2086     $this->verifyNoErrors();
2087     //Initialisation de la variable
2088     $evenements = array();
2089     //{{{ Ajout d'événements
2090     //On ajoute trois événements
2091     for ($i = 1 ; $i < 3 ; $i++){
2092 vpihour 2931 $evenements[] = $this->addEvenement("test_evenement_erp_".$i);
2093 vpihour 2877 }
2094     //}}}
2095    
2096     //{{{ On change trois variables erp_service_accessibilite,
2097     // erp_service_securite et erp_service_conformite
2098     //On clique sur Administration
2099     $this->byLinkText("Administration")->click();
2100     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2101     $this->verifyNoErrors();
2102     //On clique sur Paramètre
2103     $this->byLinkText("Paramètre")->click();
2104     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2105     $this->verifyNoErrors();
2106     $erp_evenement_accepter_sans_reserve = $this->changeParametreEvenementErp("erp_evenement_accepter_sans_reserve", $evenements[0]);
2107     $erp_evenement_refuser_dossier = $this->changeParametreEvenementErp("erp_evenement_refuser_dossier", $evenements[1]);
2108     $option_referentiel_arrete = $this->changeParametreEvenementErp("option_referentiel_arrete", 'true');
2109     ///}}}
2110     // On se déconnecte
2111     $this->deconnect();
2112    
2113     // On se connecte en tant que "guichet"
2114     $this->login("guichet", "guichet");
2115     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2116     $this->verifyNoErrors();
2117     //{{{On ajoute un dossier d'instruction
2118     //On clique sur Nouveau Dossier
2119     $this->byLinkText("Nouveau Dossier")->click();
2120     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2121     $this->verifyNoErrors();
2122     //On ajoute le dossier
2123     $dossier = $this->addDossierInstruction("1", "1");
2124     //}}}
2125     // On se déconnecte
2126     $this->deconnect();
2127    
2128     // On se connecte en tant que "instr"
2129     $this->login("instr", "instr");
2130     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2131     $this->verifyNoErrors();
2132     //{{{ On ajoute trois événement
2133     //On clique sur Nouveau Dossier
2134     $this->byLinkText("Recherche")->click();
2135     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2136     $this->verifyNoErrors();
2137     //On cherche le dossier d'instruction
2138     $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2139     // On valide la recherche
2140 vpihour 2882 $this->byId("adv-search-submit")->click();
2141 vpihour 2877 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2142     $this->verifyNoErrors();
2143     //On clique sur le dossier d'instruction
2144     $this->byLinkText($dossier)->click();
2145     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2146     $this->verifyNoErrors();
2147     //On clique sur Modifier
2148     $this->byClassName("edit-16")->click();
2149     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2150     $this->verifyNoErrors();
2151     //On clique sur erp
2152     $this->byId("erp")->click();
2153     //On valide le formulaire
2154     $this->byName("f1")->submit();
2155     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2156     $this->verifyNoErrors();
2157     // On vérifie le message
2158     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
2159     //On clique sur l'onglet instruction
2160     $this->byId("instruction")->click();
2161     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2162     $this->verifyNoErrors();
2163     //On ajoute trois consultations
2164     foreach ($evenements as $value) {
2165     $this->addInstruction($value);
2166     }
2167    
2168     //On clique sur le + du tableau
2169     $this->byClassName("add-16")->click();
2170     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2171     $this->verifyNoErrors();
2172     //On choisit l'événement
2173     $this->select($this->byId("evenement"))->selectOptionByValue(81);
2174     //On valide le formulaire
2175     $this->byName("f2")->submit();
2176     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2177     $this->verifyNoErrors();
2178     // On vérifie que le message de validation est présent
2179     $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2180     //On clique sur Retour
2181     $this->byLinkText("Retour")->click();
2182     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2183     $this->verifyNoErrors();
2184     //On clique sur l'instruction
2185     $this->byLinkText("accepter un dossier sans réserve")->click();
2186     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2187     $this->verifyNoErrors();
2188     //On récupère le numéro d'instruction
2189     $instruction = trim($this->byId("instruction")->text());
2190     //On la finalise
2191     $this->byClassName("finalise")->click();
2192     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2193     $this->verifyNoErrors();
2194     // On vérifie que le message de validation est présent
2195     $this->assertContains('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2196     // On se déconnecte
2197     $this->deconnect();
2198    
2199     // On se connecte en tant que "admin"
2200     $this->login("admin", "admin");
2201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2202     $this->verifyNoErrors();
2203     //On clique sur instruction
2204     $this->byLinkText("Instruction")->click();
2205     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2206     $this->verifyNoErrors();
2207     //On clique sur Recherche
2208     $this->byLinkText("Recherche")->click();
2209     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2210     $this->verifyNoErrors();
2211     //On cherche le dossier d'instruction
2212     $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2213     // On valide la recherche
2214 vpihour 2882 $this->byId("adv-search-submit")->click();
2215 vpihour 2877 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2216     $this->verifyNoErrors();
2217     //On clique sur le dossier d'instruction
2218     $this->byLinkText($dossier)->click();
2219     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2220     $this->verifyNoErrors();
2221     //On clique sur l'onglet instruction
2222     $this->byId("instruction")->click();
2223     //On clique sur l'instruction accepter un dossier sans réserve
2224     $this->byLinkText("accepter un dossier sans réserve")->click();
2225     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2226     $this->verifyNoErrors();
2227     //On la definalise
2228     $this->byClassName("definalise")->click();
2229     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2230     $this->verifyNoErrors();
2231     // On vérifie que le message de validation est présent
2232     $this->assertContains('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2233     //On clique sur modifier
2234     $this->byCssSelector("#sousform-instruction .edit-16")->click();
2235 vpihour 2909 sleep(2);
2236 vpihour 2877 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2237     $this->verifyNoErrors();
2238     //On choisit un signataire Albert Dupont
2239     $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
2240     //On remplit la date de retour sign
2241     $this->byId("date_retour_signature")->value(date('d/m/Y'));
2242     //On valide le formulaire
2243     $this->byName("f2")->submit();
2244     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2245     $this->verifyNoErrors();
2246     // On vérifie que le message de validation est présent
2247     $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2248     // On vérifie que le message d'envoi est présent
2249     $this->assertContains('Le message a été transmis au référentiel arrêté.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2250     //}}}
2251    
2252     // On se déconnecte
2253     $this->deconnect();
2254    
2255     // On se connecte en tant que "admin"
2256     $this->login("admin", "admin");
2257     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2258     $this->verifyNoErrors();
2259     //{{{ On remet les valeurs par défaut des paramètres
2260     //On clique sur Administration
2261     $this->byLinkText("Administration")->click();
2262     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2263     $this->verifyNoErrors();
2264     //On clique sur Paramètre
2265     $this->byLinkText("Paramètre")->click();
2266     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2267     $this->verifyNoErrors();
2268     $this->changeParametreEvenementErp("erp_evenement_accepter_sans_reserve", $erp_evenement_accepter_sans_reserve);
2269     $this->changeParametreEvenementErp("erp_evenement_refuser_dossier", $erp_evenement_refuser_dossier);
2270     $this->changeParametreEvenementErp("option_referentiel_arrete", $option_referentiel_arrete);
2271     //}}}
2272    
2273     //On se déconnecte
2274     $this->logout();
2275     }
2276    
2277 vpihour 2881 /*
2278     * Cette méthode teste l'envoi de message au référentiel ERP lors de la
2279     * modification d'un dossier d'insruction
2280     */
2281 vpihour 2931 public function test_16_envoi_de_message_erp_dossier_instruction(){
2282 vpihour 2881
2283     // On se connecte en tant que "admin"
2284     $this->login("admin", "admin");
2285     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2286     $this->verifyNoErrors();
2287    
2288     //{{{ On change deux variables erp_nature_dat et erp_dossier_nature_pc
2289     //On clique sur Administration
2290     $this->byLinkText("Administration")->click();
2291     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2292     $this->verifyNoErrors();
2293     //On clique sur Paramètre
2294     $this->byLinkText("Paramètre")->click();
2295     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2296     $this->verifyNoErrors();
2297     //On change la valeur des paramètres
2298     $erp_nature_dat = $this->changeParametreEvenementErp("erp_nature_dat", "AT");
2299     $erp_dossier_nature_pc = $this->changeParametreEvenementErp("erp_dossier_nature_pc", "PCI");
2300     //}}}
2301     // On se déconnecte
2302     $this->deconnect();
2303    
2304     //{{{Ajout d'un dossier AT par le guichet unique
2305     // On se connecte en tant que "guichet"
2306     $this->login("guichet", "guichet");
2307     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2308     $this->verifyNoErrors();
2309     //On clique sur Nouveau Dossier
2310     $this->byLinkText("Nouveau Dossier")->click();
2311     //On ajoute un dossier d'instruction de type AT
2312     $dossier = $this->addDossierInstruction(8, 8);
2313     //}}}
2314     // On se déconnecte
2315     $this->deconnect();
2316    
2317     // On se connecte en tant que "instr"
2318     $this->login("instr", "instr");
2319     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2320     $this->verifyNoErrors();
2321     //{{{On change le dossier en a été qualifié
2322     //On clique sur Recherche
2323     $this->byLinkText("Recherche")->click();
2324     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2325     $this->verifyNoErrors();
2326     //On cherche le dossier d'instruction
2327     $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2328     // On valide la recherche
2329 vpihour 2882 $this->byId("adv-search-submit")->click();
2330 vpihour 2881 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2331     $this->verifyNoErrors();
2332     //On clique sur le dossier d'instruction
2333     $this->byLinkText($dossier)->click();
2334     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2335     $this->verifyNoErrors();
2336     //On clique sur modifier
2337     $this->byClassName("edit-16")->click();
2338     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2339     $this->verifyNoErrors();
2340     //On décoche à qualifier
2341     $this->byId("a_qualifier")->click();
2342     //On valide le formulaire
2343     $this->byName("f1")->submit();
2344     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2345     $this->verifyNoErrors();
2346     // On vérifie que le message de validation est présent
2347     $this->assertContains('Vos modifications ont bien été enregistrées.',
2348     $this->byCssSelector(".message .text")->text());
2349     // On vérifie que le message d'envoi est présent
2350     $this->assertContains('Le message a été transmis au référentiel ERP.',
2351     $this->byCssSelector(".message .text")->text());
2352     //}}}
2353     // On se déconnecte
2354     $this->deconnect();
2355    
2356     //{{{Ajout d'un dossier PC par le guichet unique
2357     // On se connecte en tant que "guichet"
2358     $this->login("guichet", "guichet");
2359     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2360     $this->verifyNoErrors();
2361     //On clique sur Nouveau Dossier
2362     $this->byLinkText("Nouveau Dossier")->click();
2363     //On ajoute un dossier d'instruction de type AT
2364     $dossier = $this->addDossierInstruction(1, 1);
2365     //}}}
2366     // On se déconnecte
2367     $this->deconnect();
2368    
2369     // On se connecte en tant que "instr"
2370     $this->login("instr", "instr");
2371     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2372     $this->verifyNoErrors();
2373     //{{{On change le dossier en ERP
2374     //On clique sur Recherche
2375     $this->byLinkText("Recherche")->click();
2376     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2377     $this->verifyNoErrors();
2378     //On cherche le dossier d'instruction
2379     $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2380     // On valide la recherche
2381 vpihour 2882 $this->byId("adv-search-submit")->click();
2382 vpihour 2881 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2383     $this->verifyNoErrors();
2384     //On clique sur le dossier d'instruction
2385     $this->byLinkText($dossier)->click();
2386     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2387     $this->verifyNoErrors();
2388     //On clique sur modifier
2389     $this->byClassName("edit-16")->click();
2390     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2391     $this->verifyNoErrors();
2392     //On décoche à qualifier
2393     $this->byId("a_qualifier")->click();
2394     //On coche ERP
2395     $this->byId("erp")->click();
2396     //On valide le formulaire
2397     $this->byName("f1")->submit();
2398     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2399     $this->verifyNoErrors();
2400     // On vérifie que le message de validation est présent
2401     $this->assertContains('Vos modifications ont bien été enregistrées.',
2402     $this->byCssSelector(".message .text")->text());
2403     // On vérifie que le message d'envoi est présent
2404     $this->assertContains('Le message a été transmis au référentiel ERP.',
2405     $this->byCssSelector(".message .text")->text());
2406     //}}}
2407     // On se déconnecte
2408     $this->deconnect();
2409    
2410     // On se connecte en tant que "admin"
2411     $this->login("admin", "admin");
2412     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2413     $this->verifyNoErrors();
2414    
2415     //{{{ On change deux variables erp_nature_dat et erp_dossier_nature_pc
2416     //On clique sur Administration
2417     $this->byLinkText("Administration")->click();
2418     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2419     $this->verifyNoErrors();
2420     //On clique sur Paramètre
2421     $this->byLinkText("Paramètre")->click();
2422     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2423     $this->verifyNoErrors();
2424     //On change la valeur des paramètres
2425     $this->changeParametreEvenementErp("erp_nature_dat", $erp_nature_dat);
2426     $this->changeParametreEvenementErp("erp_dossier_nature_pc", $erp_dossier_nature_pc);
2427     //}}}
2428    
2429     //On se déconnecte
2430     $this->logout();
2431     }
2432 nhaye 2929
2433     /**
2434     * Test d'annulation d'un DA.
2435     */
2436     function test_17_di_annulation() {
2437     // On se connecte en tant que "admin"
2438     $this->login("admin", "admin");
2439     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2440     $this->verifyNoErrors();
2441    
2442     //On clique sur Administration
2443     $this->byLinkText("Paramétrage Dossiers")->click();
2444     // Ajout d'un type de DI ANNULATION
2445     $this->byLinkText("Type DI")->click();
2446     $this->byCssSelector(".add-16")->click();
2447     $this->byId("code")->value('ANNUL');
2448     $this->byId("libelle")->value('Demande d\'annulation');
2449     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue('1');
2450     $this->byId('suffixe')->click();
2451     $this->select($this->byName("mouvement_sitadel"))->selectOptionByValue('SUPPRESSION');
2452     // On clique sur ajouter
2453     $this->byXPath("//input[@value='Ajouter']")->click();
2454     // On vérifie qu'il n'y ait pas d'erreur
2455     $this->verifynoerrors();
2456     // On vérifie que le message de validation est présent
2457     $this->assertContains('Vos modifications ont bien été enregistrées.',
2458     $this->byCssSelector(".message .text")->text());
2459     //On clique sur le bouton retour
2460     $this->byLinkText("Retour")->click();
2461     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2462     $this->verifyNoErrors();
2463     //On saisie le nom due l'événement dans la recherche simple
2464     $this->byClassName("champFormulaire")->value("ANNUL");
2465     //On valide la recherche
2466     $this->byName('s1')->submit();
2467     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2468     $this->verifyNoErrors();
2469     //On clique sur l'événement
2470     $this->byLinkText("ANNUL")->click();
2471     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2472     $this->verifyNoErrors();
2473     // Récupération de l'id du type de DI
2474     $idDIAnnul = $this->byId("dossier_instruction_type")->text();
2475     // Ajout d'un type de demande ANNULATION
2476     $this->byLinkText("Type")->click();
2477     $this->byCssSelector(".add-16")->click();
2478     $this->byId("code")->value('ANNUL');
2479     $this->byId("libelle")->value('Demande d\'annulation');
2480     $this->select($this->byName("groupe"))->selectOptionByValue('1');
2481     $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue('1');
2482     $this->select($this->byName("demande_nature"))->selectOptionByValue('2');
2483     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))
2484     ->selectOptionByValue("1");
2485     $this->select($this->byName("contraintes"))->selectOptionByValue('avec_recup');
2486     $this->select($this->byName("dossier_instruction_type"))->selectOptionByValue($idDIAnnul);
2487     $this->select($this->byName("evenement"))->selectOptionByValue('25');
2488     // On clique sur ajouter
2489     $this->byXPath("//input[@value='Ajouter']")->click();
2490     // On vérifie qu'il n'y ait pas d'erreur
2491     $this->verifynoerrors();
2492     // On vérifie que le message de validation est présent
2493     $this->assertContains('Vos modifications ont bien été enregistrées.',
2494     $this->byCssSelector(".message .text")->text());
2495     //On clique sur le bouton retour
2496     $this->byLinkText("Retour")->click();
2497     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2498     $this->verifyNoErrors();
2499     //On saisie le nom due l'événement dans la recherche simple
2500     $this->byClassName("champFormulaire")->value("ANNUL");
2501     //On valide la recherche
2502     $this->byName('s1')->submit();
2503     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2504     $this->verifyNoErrors();
2505     //On clique sur l'événement
2506     $this->byLinkText("ANNUL")->click();
2507     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2508     $this->verifyNoErrors();
2509     // Récupération de l'id de la demande
2510     $idDemandeAnnul = $this->byId("demande_type")->text();
2511     // Modification de l'action d'abandon de dossier
2512     $this->byLinkText("Action")->click();
2513     // On vérifie qu'il n'y ait pas d'erreur
2514     $this->verifynoerrors();
2515     // Modification de l'action d'abandon de dossier
2516     $this->byLinkText("abandon")->click();
2517     // Modification de l'action d'abandon de dossier
2518     $this->byCssSelector(".edit-16")->click();
2519     // On vérifie qu'il n'y ait pas d'erreur
2520     $this->verifynoerrors();
2521     $this->byId("regle_avis")->clear();
2522     $this->byId("regle_avis")->value('avis_decision');
2523     $this->byId("regle_date_decision")->clear();
2524     $this->byId("regle_date_decision")->value('date_evenement');
2525     // On clique sur ajouter
2526     $this->byXPath("//input[@value='Modifier']")->click();
2527     // On vérifie qu'il n'y ait pas d'erreur
2528     $this->verifynoerrors();
2529     // On vérifie que le message de validation est présent
2530     $this->assertContains('Vos modifications ont bien été enregistrées.',
2531     $this->byCssSelector(".message .text")->text());
2532     // On se déconnecte
2533     $this->deconnect();
2534     // On se connecte en tant que "admin"
2535     $this->login("guichet", "guichet");
2536     //On clique sur le menu des instructions
2537     $this->byLinkText("Nouveau Dossier")->click();
2538     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2539     $this->verifyNoErrors();
2540     // Création d'un DI
2541     $dossier = $this->addDossierInstruction(1, 1, "test annulation");
2542     // On se déconnecte
2543     $this->deconnect();
2544     // On se connecte en tant que "instr"
2545     $this->login("instr", "instr");
2546     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2547     $this->verifyNoErrors();
2548     // On clique sur le lien "Mes encours" dans le menu
2549     $this->byLinkText("Mes Encours")->click();
2550     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2551     $this->verifyNoErrors();
2552     // On clique sur le dossier dernièrement créé
2553     $this->byLinkText($dossier)->click();
2554     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2555     $this->verifyNoErrors();
2556     // On clique sur l'onglet "Instruction"
2557     $this->byId("dossier_autorisation")->click();
2558     sleep(1);
2559     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2560     $this->verifyNoErrors();
2561     // Verification de l'état du DA correspondant
2562     $this->assertContains('En cours', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2563     // On se déconnecte
2564     $this->deconnect();
2565     // On se connecte en tant que "guichet"
2566     $this->login("guichet", "guichet");
2567     //On clique sur le menu des instructions
2568     $this->byLinkText("Dossier En Cours")->click();
2569     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2570     $this->verifyNoErrors();
2571     // Création d'un DI
2572 nhaye 2934 $dossier = $this->addDossierInstruction(
2573     1,
2574     $idDemandeAnnul,
2575     "test annulation",
2576     2,
2577     $dossier,
2578     false);
2579 nhaye 2929 // On se déconnecte
2580     $this->deconnect();
2581     // On se connecte en tant que "instr"
2582     $this->login("instr", "instr");
2583     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2584     $this->verifyNoErrors();
2585     // On clique sur le lien "Mes encours" dans le menu
2586     $this->byLinkText("Recherche")->click();
2587     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2588     $this->verifyNoErrors();
2589     $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2590     $this->byName("advanced-search-submit")->click();
2591     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2592     $this->verifyNoErrors();
2593     // On clique sur le dossier dernièrement créé
2594     $this->byLinkText($dossier)->click();
2595     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2596     $this->verifyNoErrors();
2597     // On clique sur l'onglet "Instruction"
2598     $this->byId("dossier_autorisation")->click();
2599     sleep(1);
2600     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2601     $this->verifyNoErrors();
2602     // Verification de l'état du DA correspondant
2603     $this->assertContains('Abandonné', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2604     //On se déconnecte
2605     $this->logout();
2606     }
2607 vpihour 2881
2608 vpihour 2773 /**
2609 vpihour 2631 * Ajout d'un dossier d'instruction par le guichet unique
2610     *
2611     * @param int $dossier_autorisation_type_detaille L'identifiant du type détaillé
2612     * de dossier d'autorisation
2613     * @param int $demande_type L'identifiant du type de la demande
2614     * @param int $type Type de la demande : nouveau dossier ou dossier existant
2615     * @return le numéro de dossier d'instruction qui vient d'être créé
2616     */
2617     public function addDossierInstruction($dossier_autorisation_type_detaille,
2618 nhaye 2934 $demande_type, $nom_petit = "test recopie", $type = 1, $dossier = "",
2619     $petit = true){
2620 vpihour 2631
2621     if ($type===1){
2622     //On choisit le type détaillé de dossier d'autorisation
2623     $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue($dossier_autorisation_type_detaille);
2624     }
2625     else {
2626 nhaye 2661 sleep(2);
2627 softime 2676 // On remplit le champ de recherche simple
2628     $this->byCssSelector("input[name='recherche']")->value(str_replace(' ', '', $dossier));
2629     // On clique sur le bouton recherche
2630 softime 2740 $this->byCssSelector(".ui-button")->click();sleep(1);
2631 softime 2676 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2632     $this->verifyNoErrors();
2633     // On clique sur le résultat
2634 softime 2741 $this->byId("action-tab-demande_dossier_encours-left-consulter-".str_replace(' ', '', $dossier))->click();
2635 softime 2676 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2636     $this->verifyNoErrors();
2637 vpihour 2631 }
2638     //On choisit le type de demande
2639     $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
2640 nhaye 2934 if($petit) {
2641 nhaye 2929 //On clique sur "Saisir le pétitionnaire principal"
2642     $this->byId("add_petitionnaire_principal")->click();
2643     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2644     $this->verifyNoErrors();
2645     //On saisie le nom du pétitionnaire principal
2646     $this->byId("particulier_nom")->value($nom_petit);
2647     // On clique sur ajouter
2648     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
2649     // On vérifie qu'il n'y ait pas d'erreur
2650     $this->verifynoerrors();
2651     //On vérifie que le pétitionnaire s'est bien ajouté
2652     // On vérifie le message
2653     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
2654     // On clique sur le bouton retour
2655     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
2656     // On vérifie que le text est présent
2657     $this->assertContains($nom_petit,$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
2658     }
2659 vpihour 2631 // On clique sur ajouter
2660     $this->byXPath("//input[@value='Ajouter']")->click();
2661     // On vérifie qu'il n'y ait pas d'erreur
2662     $this->verifynoerrors();
2663     // On vérifie le message
2664     $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
2665     //On récupère le numéro de dossier d'instruction créé
2666     if ($type===1){
2667 vpihour 2881 preg_match('/(PC|AT)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2668 vpihour 2631 }
2669 vpihour 2773 elseif ($type===2){
2670 nhaye 2929 preg_match('/(PC|AT)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2671 vpihour 2773 }
2672 vpihour 2631 else{
2673 vpihour 2881 preg_match('/(PC|AT)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2674 vpihour 2631 }
2675     return $dossier[0];
2676     }
2677 vpihour 2877
2678     /*
2679     * Ajoute un événement
2680     * @param $libelle le libelle de l'événement
2681     *
2682     * @return l'identifiant de l'événement
2683     */
2684     private function addEvenement($libelle){
2685    
2686     //On clique sur le + du tableau
2687     $this->byClassName("add-16")->click();
2688     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2689     $this->verifyNoErrors();
2690     //On remplit les champs
2691     $this->byId("libelle")->value($libelle);
2692     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))
2693     ->selectOptionByValue("notifier");
2694     $this->select($this->byName("dossier_instruction_type[]"))
2695     ->selectOptionByValue("1");
2696     //On valide le formulaire
2697     $this->byName('f1')->submit();
2698     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2699     $this->verifyNoErrors();
2700     // On vérifie que le message de validation est présent
2701     $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
2702     //On clique sur le bouton retour
2703     $this->byLinkText("Retour")->click();
2704     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2705     $this->verifyNoErrors();
2706     //On saisie le nom due l'événement dans la recherche simple
2707     $this->byClassName("champFormulaire")->value($libelle);
2708     //On valide la recherche
2709     $this->byName('s1')->submit();
2710     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2711     $this->verifyNoErrors();
2712     //On clique sur l'événement
2713     $this->byLinkText($libelle)->click();
2714     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2715     $this->verifyNoErrors();
2716     //On récupère l'identifiant
2717     $evenementId = trim($this->byId("evenement")->text());
2718     //On clique sur le bouton Retour
2719     $this->byLinkText("Retour")->click();
2720     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2721     $this->verifyNoErrors();
2722     //On retourne l'identifiant
2723     return $evenementId;
2724     }
2725    
2726     /*
2727     * Modifie la valeur du paramètre du numéro de'événement pour le message ERP
2728     * @param string $parametre le libelle du paramètre
2729     * @param string $valeur la valeur à renseigner
2730     *
2731     * @return string la valeur précédente du paramètre
2732     */
2733     private function changeParametreEvenementErp($parametre, $valeur){
2734    
2735     //On vide le champ
2736     $this->byClassName("champFormulaire")->clear();
2737     //On saisie le nom de la variable dans la recherche simple
2738     $this->byClassName("champFormulaire")->value($parametre);
2739     //On valide la recherche
2740     $this->byName('s1')->submit();
2741     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2742     $this->verifyNoErrors();
2743     //On clique sur le paramètre
2744     $this->byLinkText($parametre)->click();
2745     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2746     $this->verifyNoErrors();
2747     //On clique sur modifier dans le portail d'action
2748     $this->byClassName("edit-16")->click();
2749     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2750     $this->verifyNoErrors();
2751     //On récupère la valeur actuelle du paramètre
2752     $parametre = trim($this->byId("valeur")->value());
2753     //On vide le champ
2754     $this->byId("valeur")->clear();
2755     //On change la valeur du paramètre
2756     $this->byId("valeur")->value($valeur);
2757     //On valide le formulaire
2758     $this->byName('f1')->submit();
2759     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2760     $this->verifyNoErrors();
2761     // On vérifie que le message de validation est présent
2762     $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
2763     //On clique sur le bouton retour
2764     $this->byLinkText("Retour")->click();
2765     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2766     $this->verifyNoErrors();
2767     //On clique sur le bouton retour
2768     $this->byLinkText("Retour")->click();
2769     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2770     $this->verifyNoErrors();
2771     //On retourne la valeur
2772     return $parametre;
2773     }
2774    
2775     /*
2776     * Ajoute une instruction
2777     * @param int $service l'identifiant du service
2778     */
2779 nhaye 2896 private function addInstruction($evenement, $erp = true){
2780 vpihour 2877
2781     //On clique sur le + du tableau
2782     $this->byClassName("add-16")->click();
2783     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2784     $this->verifyNoErrors();
2785     //On choisit l'événement
2786     $this->select($this->byId("evenement"))->selectOptionByValue($evenement);
2787     //On valide le formulaire
2788     $this->byName("f2")->submit();
2789     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2790     $this->verifyNoErrors();
2791     // On vérifie que le message de validation est présent
2792     $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2793 nhaye 2896 if($erp) {
2794     // On vérifie que le message d'envoi est présent
2795     $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2796     }
2797 vpihour 2877 //On clique sur le bouton retour
2798     $this->byLinkText("Retour")->click();
2799     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2800     $this->verifyNoErrors();
2801     }
2802 nhaye 2896
2803     /**
2804     * Permet de vérifier l'état d'un DA en fonction de l'état de ses DI.
2805     * @param string $dossier numéro de dossier
2806     * @param integer $event numéro d'événement
2807     * @param string $etat état du DA
2808     */
2809     private function verifierEtatDA($dossier, $event, $etat) {
2810     // On clique sur l'onglet "DA"
2811     $this->byId("dossier_autorisation")->click();
2812     sleep(1);
2813     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2814     $this->verifyNoErrors();
2815     $this->assertContains('En cours', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2816     // retour sur l'ajout d'événement
2817     $this->byId("instruction")->click();
2818     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2819     $this->verifyNoErrors();
2820     $this->addInstruction($event, false);
2821     // On clique sur l'onglet "DA"
2822     $this->byId("dossier_autorisation")->click();
2823     sleep(1);
2824     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2825     $this->verifyNoErrors();
2826     $this->assertContains($etat, $this->byCssSelector("#sousform-dossier_autorisation")->text());
2827     }
2828 fmichon 1664 }
2829    
2830     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26