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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3401 - (hide annotations)
Thu Apr 9 16:57:24 2015 UTC (9 years, 9 months ago) by nhaye
File size: 159659 byte(s)
Correction de l'id d'une action

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26