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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26