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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3359 - (hide annotations)
Thu Mar 26 16:34:35 2015 UTC (9 years, 10 months ago) by vpihour
File size: 157275 byte(s)
Correction des tests

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26