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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2907 - (hide annotations)
Wed Apr 2 14:15:40 2014 UTC (10 years, 10 months ago) by nhaye
File size: 129278 byte(s)
Correction des bugs existant dans les tests sur les instructions

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26