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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3346 - (hide annotations)
Wed Mar 25 09:51:56 2015 UTC (9 years, 10 months ago) by vpihour
File size: 157547 byte(s)
Lors de la saisie d'un nouveau dossier et lors de la modfication d'un dossier existant, si les références cadastrales saisies n'avait pas le format correct (3 chiffres, 1 lettre, 4 chiffres), un message d'alerte est affiché et le dossier n'est pas enregistré.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26