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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2929 - (hide annotations)
Mon Apr 14 14:13:30 2014 UTC (10 years, 9 months ago) by nhaye
File size: 141807 byte(s)
Correction du calcul de l'état des DA lors de l'abandon de la demande.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26