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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2815 - (hide annotations)
Wed Mar 12 17:36:54 2014 UTC (10 years, 10 months ago) by nhaye
File size: 98318 byte(s)
Modification de l'affectation d'une lettretype par defaut dans l'instruction si non définie dans l'événement.
Les actions "Édition" et "Finalisation du document" ne sont pas affichées si pas de lettretype

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     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     public function test_03_informations_du_widget_profil_instructeur() {
191     // 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     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     * Test le formulaire de la demande de type qui possède des select filtrés
516     */
517     public function test_05_ajout_lot() {
518     // 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     * Test du lien automatique entre choix autorité compétente dans DI et
570     * é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     public function test_06_modification_autorite_competente() {
659     // 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     * Test de l'ajout de données techniques au dossier
672     */
673     public function test_07_edition_donnees_techniques() {
674     // 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     * Test un événement d'instruction qui a un événement "retour"
742     */
743     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     // On sélectionne l'évenement "accepter un dossier sans réserve"
907     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
908     // On valide le formulaire
909     $this->byXPath("//input[@value='Ajouter']")->click();
910     // On vérifie le message
911     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
912     // On clique sur le bouton "retour"
913     $this->byLinkText("Retour")->click();
914     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
915     $this->verifyNoErrors();
916     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
917     $this->byLinkText("accepter un dossier sans réserve")->click();
918     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
919     $this->verifyNoErrors();
920     // On valide l'instruction
921     $this->byId("action-sousform-instruction-finalisation")->click();
922     // On vérifie le message de validation
923     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
924     // On clique sur le bouton "Retour"
925     $this->byLinkText("Retour")->click();
926     // On clique sur l'événement "accepter un dossier sans réserve"
927     $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
928     // Récupération du numéro d'événement
929     $evenement = $this->byCssSelector("#instruction.field_value")->text();
930     /** Fin **/
931 nhaye 2815 //
932 nhaye 2808 /** On met à jour la date de retour signature **/
933     // Date de retour signature
934     $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5, date("Y")));
935     // On clique sur le menu "Suivi"
936     $this->byLinkText("Suivi")->click();
937     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
938     $this->verifyNoErrors();
939     // On clique sur le sous-menu "Mise À Jour Des Dates"
940     $this->byLinkText("Mise À Jour Des Dates")->click();
941     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
942     $this->verifyNoErrors();
943     // On sélectionne "date de retour de signature + Envoi contrôle légalite"
944     $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
945     // On remplit à la date du jour + 5 jours
946     $this->byId("date")->value($date_retour_signature);
947     // On remplit le code barres de l'instruction
948     $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
949     // On clique sur Valider
950     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
951     // On vérifie la synthèse avec le numéro du dossier et l'événement
952     $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
953     $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
954     // On clique sur Valider
955     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
956     // On vérifie le message de validation
957     $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
958     /** Fin **/
959 nhaye 2815 //
960 nhaye 2808 /** Vérifie l'instruction "retour" et le DI **/
961     // Date de validité
962     $date_validite = $this->mois_date(date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+5, date("Y"))), 5, "+");
963     $date_validite = date("d/m/Y", strtotime($date_validite));
964     // On clique sur le menu "Instruction"
965     $this->byLinkText("Instruction")->click();
966     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
967     $this->verifyNoErrors();
968     // On clique sur le sous-menu "Recherche"
969     $this->byLinkText("Recherche")->click();
970     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
971     $this->verifyNoErrors();
972     // On recherche le dossier crée
973     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
974     // On clique sur le bouton recherche
975     $this->byId("adv-search-submit")->click();
976     // On clique sur le résultat
977     $this->byLinkText($dossier)->click();
978     // On vérifie la date de validité mise à jour par l'action
979     $this->assertContains($date_validite, $this->byId("date_validite")->text());
980     // On clique sur l'onglet "Instruction"
981     $this->byId("instruction")->click();
982     // On clique sur l'instruction "retour signature"
983     $this->byLinkText("retour signature")->click();
984     // On contrôle la date de retour signature
985     $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
986     /** Fin **/
987 nhaye 2815 //
988 nhaye 2808 // On se déconnecte
989     $this->logout();
990 nhaye 2815 //
991 nhaye 2808 }
992 nhaye 2815 //
993 nhaye 2808 /**
994     * Test la suppression d'un événement d'instruction lié à une demande qui ne
995     * créée pas de nouveau dossier d'instruction
996     */
997     public function test_09_suppression_evenement_demande(){
998 nhaye 2815 //
999 nhaye 2808 //Ajout du paramétrage d'une nouvelle demande
1000     // On se connecte à l'application en tant qu'administrateur
1001     $this->login("admin", "admin");
1002     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1003     $this->verifyNoErrors();
1004     //On clique sur "Paramétrage dossier"
1005     $this->byLinkText("Paramétrage Dossiers")->click();
1006     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1007     $this->verifyNoErrors();
1008     //On clique sur Type
1009     $this->byLinkText("Type")->click();
1010     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1011     $this->verifyNoErrors();
1012     //On clique sur le "+" du tableau
1013     $this->byClassName("add-16")->click();
1014     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1015     $this->verifyNoErrors();
1016     //On saisit le type de la demande
1017     $this->byId("code")->value("test_09_suppression");
1018     $this->byId("libelle")->value("test_09_suppression");
1019     // On sélectionne le groupe 'Autorisation ADS'
1020     $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
1021     // On sélectionne 'AZ (Demande d'autorisation spéciale de travaux dans
1022     // le périmètre d'une AVAP)'
1023     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
1024     // On sélectionne la nature 'Dossier existant'
1025     $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
1026     // On sélectionne l'état 'En cours'
1027     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");
1028     // On sélectionne l'événement 'Defrichement soumis a enquete publique'
1029     $this->select($this->byId("evenement"))->selectOptionByValue("15");
1030     // On sélectionne la contrainte 'Avec récupération demandeur'
1031     $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
1032     // On clique sur le bouton ajouter
1033     $this->byXPath("//input[@value='Ajouter']")->click();
1034     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1035     $this->verifyNoErrors();
1036     // On vérifie que le type de demande a bien été ajouté
1037     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1038     //On se déconnecte
1039     $this->deconnect();
1040 nhaye 2815 //
1041 nhaye 2808 //Création d'un nouveau dossier d'instruction
1042     // On se connecte à l'application
1043     $this->login("guichet", "guichet");
1044     //On clique sur "Dossier En Cours"
1045     $this->byLinkText("Dossier En Cours")->click();
1046     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1047     $this->verifyNoErrors();
1048     //On clique sur le dossier "AZ0130551200001P0"
1049     $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
1050     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1051     $this->verifyNoErrors();
1052     //On sélectionne le type de la demande
1053     $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
1054     // On clique sur le bouton ajouter
1055     $this->byXPath("//input[@value='Ajouter']")->click();
1056     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1057     $this->verifyNoErrors();
1058     // On vérifie que le type de demande a bien été ajouté
1059     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1060     //On se déconnecte
1061     $this->deconnect();
1062 nhaye 2815 //
1063 nhaye 2808 //Suppression de l'événement d'instruction
1064     // On se connecte à l'application
1065     $this->login("admin", "admin");
1066     //On clique sur le menu "Instruction"
1067     $this->byLinkText("Instruction")->click();
1068     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1069     $this->verifyNoErrors();
1070     //On clique sur le menu "Recherche"
1071     $this->byLinkText("Recherche")->click();
1072     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1073     $this->verifyNoErrors();
1074     //On clique sur le dossier "AZ 013055 12 00001P0"
1075     $this->byLinkText("AZ 013055 12 00001P0")->click();
1076     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1077     $this->verifyNoErrors();
1078     //On clique sur l'onglet "Instruction"
1079     $this->byId("instruction")->click();
1080     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1081     $this->verifyNoErrors();
1082     //On clique sur l'instruction "Defrichement soumis a enquete publique"
1083     $this->byLinkText("Defrichement soumis a enquete publique")->click();
1084     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1085     $this->verifyNoErrors();
1086     //On définalise l'instruction
1087     $this->byClassName("definalise")->click();
1088     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1089     $this->verifyNoErrors();
1090     //On clique "Supprimer"
1091     $this->byCssSelector("#sousform-instruction .delete-16")->click();
1092     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1093     $this->verifyNoErrors();
1094     //On clique sur supprimer
1095     $this->byXPath("//input[@value='Supprimer']")->click();
1096     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1097     $this->verifyNoErrors();
1098     //On vérifie que lasuppression a été éffectuée
1099     $this->assertContains("La suppression a été correctement effectuée.",
1100     $this->byCssSelector("#sousform-instruction .message .text")->text());
1101     // On se déconnecte
1102     $this->logout();
1103     }
1104 nhaye 2815 //
1105 nhaye 2808 /**
1106     * Test sur les types d'éditions des consultations
1107     */
1108     function test_10_nouveau_type_edition_consultation(){
1109 nhaye 2815 //
1110 nhaye 2808 //On saisit un service de test
1111     // On se connecte à l'application
1112     $this->login("admin", "admin");
1113     //On clique sur "Paramétrage"
1114     $this->byLinkText("Paramétrage")->click();
1115     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1116     $this->verifyNoErrors();
1117     //On clique sur "Service"
1118     $this->byLinkText("Service")->click();
1119     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1120     $this->verifyNoErrors();
1121     //On clique sur le "+" du tableau
1122     $this->byClassName("add-16")->click();
1123     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1124     $this->verifyNoErrors();
1125     //On saisit les données du service
1126     $this->byId("abrege")->value("test_10");
1127     $this->byId("libelle")->value("test_10");
1128     $this->byId("consultation_papier")->click();
1129     $this->select($this->byId("edition"))->selectOptionByLabel("test_10");
1130     // On clique sur le bouton ajouter
1131     $this->byXPath("//input[@value='Ajouter']")->click();
1132     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1133     $this->verifyNoErrors();
1134     // On vérifie que le service a bien été ajouté
1135     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1136     //On se déconnecte
1137     $this->deconnect();
1138 nhaye 2815 //
1139 nhaye 2808 //On ajoute une consultation sur un dossier et on vérifie l'édition
1140     // On se connecte à l'application
1141     $this->login("instr", "instr");
1142     //On clique sur "Recherche"
1143     $this->byLinkText("Recherche")->click();
1144     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1145     $this->verifyNoErrors();
1146     //On choisit le dossier "AZ 013055 12 00001P0"
1147     $this->byLinkText("AZ 013055 12 00001P0")->click();
1148     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1149     $this->verifyNoErrors();
1150     //On clique sur l'onglet "Consultation"
1151     $this->byId("consultation")->click();
1152     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1153     $this->verifyNoErrors();
1154     //On clique sur le "+" du tableau
1155     $this->byClassName("add-16")->click();
1156     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1157     $this->verifyNoErrors();
1158     //On saist une nouvelle consultation
1159     $this->select($this->byId("service"))->selectOptionByLabel("test_10");
1160     // On clique sur le bouton ajouter
1161     $this->byXPath("//input[@value='Ajouter']")->click();
1162     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1163     $this->verifyNoErrors();
1164     // On vérifie que la consultation a bien été ajoutée
1165     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1166     //On clique sur retour
1167     $this->byCssSelector("#sousform-consultation .retour")->click();
1168     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1169     $this->verifyNoErrors();
1170     //On clique sur la consultation au service "test_10"
1171     $this->byLinkText("test_10")->click();
1172     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1173     $this->verifyNoErrors();
1174     //On affiche le PDF
1175     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1176     // Liste les fenêtres
1177     $windows = $this->windowHandles();
1178     // Change la fenêtre
1179     $this->window($windows[1]);
1180     // On vérifie qu'il n'y ait pas d'erreur
1181     $this->verifynoerrors();
1182     // On vérifie que le text est présent
1183     $this->assertContains("test_10",$this->source());
1184     $this->assertNotContains("test_10_2",$this->source());
1185     // On ferme la fenêtre
1186     $this->closeWindow();
1187     // On change le focus de la fenêtre
1188     $this->window($windows[0]);
1189     //On se déconnecte
1190     $this->deconnect();
1191 nhaye 2815 //
1192 nhaye 2808 //On change l'édition
1193     // On se connecte à l'application
1194     $this->login("admin", "admin");
1195     //On clique sur "Paramétrage"
1196     $this->byLinkText("Paramétrage")->click();
1197     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1198     $this->verifyNoErrors();
1199     //On clique sur "Service"
1200     $this->byLinkText("Service")->click();
1201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1202     $this->verifyNoErrors();
1203     //On cherche le service
1204     $this->byName("recherche")->value("test_10");
1205     //On valide
1206     $this->byName("s1")->click();
1207     //On clique sur le service test_10
1208     $this->byLinkText("test_10")->click();
1209     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1210     $this->verifyNoErrors();
1211     //On clique sur "Modifier" dans le portail d'action
1212     $this->byClassName("edit-16")->click();
1213     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1214     $this->verifyNoErrors();
1215     //On choisit une seconde édition
1216     $this->select($this->byId("edition"))->selectOptionByLabel("test_10_2");
1217     // On clique sur le bouton ajouter
1218     $this->byXPath("//input[@value='Modifier']")->click();
1219     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1220     $this->verifyNoErrors();
1221     // On vérifie que le service a bien été ajouté
1222     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1223     //On se déconnecte
1224     $this->deconnect();
1225 nhaye 2815 //
1226 nhaye 2808 //On vérifie que c'est la bonne édition qui est affiché
1227     // On se connecte à l'application
1228     $this->login("instr", "instr");
1229     //On clique sur "Recherche"
1230     $this->byLinkText("Recherche")->click();
1231     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1232     $this->verifyNoErrors();
1233     //On choisit le dossier "AZ 013055 12 00001P0"
1234     $this->byLinkText("AZ 013055 12 00001P0")->click();
1235     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1236     $this->verifyNoErrors();
1237     //On clique sur l'onglet "Consultation"
1238     $this->byId("consultation")->click();
1239     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1240     $this->verifyNoErrors();
1241     //On clique sur la consultation au service "test_10"
1242     $this->byLinkText("test_10")->click();
1243     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1244     $this->verifyNoErrors();
1245     //on definalise la consultaion
1246     $this->byClassName("definalise")->click();
1247     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1248     $this->verifyNoErrors();
1249     //On vérifie que la consultation s'est bien définalisée
1250     $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(10);
1251     //On affiche le PDF
1252     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1253     // Liste les fenêtres
1254     $windows = $this->windowHandles();
1255     // Change la fenêtre
1256     $this->window($windows[1]);
1257     // On vérifie qu'il n'y ait pas d'erreur
1258     $this->verifynoerrors();
1259     // On vérifie que le text est présent
1260     $this->assertContains("test_10_2",$this->source());
1261     // On ferme la fenêtre
1262     $this->closeWindow();
1263     // On change le focus de la fenêtre
1264     $this->window($windows[0]);
1265 nhaye 2815 //
1266 nhaye 2808 // On se déconnecte
1267     $this->logout();
1268     }
1269 nhaye 2815 //
1270 nhaye 2808 /**
1271     * Test sur un événement non verrouillable
1272     */
1273     public function test_11_evenement_non_verrouillable(){
1274 nhaye 2815 //
1275 nhaye 2808 /* On crée une nouvelle demande initial */
1276     // On se connecte à l'application
1277     $this->login("guichet", "guichet");
1278     // On clique sur le menu "Nouveau Dossier"
1279     $this->byLinkText("Nouveau Dossier")->click();
1280     // On vérifie qu'il n'y ait pas d'erreur
1281     $this->verifynoerrors();
1282     // On vérifie le nom de l'onglet
1283     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
1284     // On sélectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
1285     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
1286     // On selectionne le label "Dépôt Initial"
1287     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
1288     // On clique pour ajouter un pétitionnaire principale
1289     $this->byId("add_petitionnaire_principal")->click();
1290     // On remplit le champ
1291     $this->byId("particulier_nom")->value("DURAND");
1292     // On remplit le champ
1293     $this->byId("particulier_prenom")->value("MICKAEL");
1294     // On remplit le champ
1295     $this->byId("particulier_date_naissance")->value("03/01/1956");
1296     // On remplit le champ
1297     $this->byId("particulier_commune_naissance")->value("LILLE");
1298     // On remplit le champ
1299     $this->byId("particulier_departement_naissance")->value("NORD");
1300     // On remplit le champ
1301     $this->byId("numero")->value("12");
1302     // On remplit le champ
1303     $this->byId("voie")->value("RUE DE LA LOI");
1304     // On remplit le champ
1305     $this->byId("complement")->value("APPT 12");
1306     // On remplit le champ
1307     $this->byId("localite")->value("MARSEILLE");
1308     // On remplit le champ
1309     $this->byId("code_postal")->value("13012");
1310     // On remplit le champ
1311     $this->byId("telephone_fixe")->value("0404040404");
1312     // On clique sur ajouter
1313     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1314     // On vérifie qu'il n'y ait pas d'erreur
1315     $this->verifynoerrors();
1316     // On vérifie le message
1317     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1318     // On clique sur le bouton retour
1319     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1320     // On vérifie que le text est présent
1321     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1322     // On clique sur ajouter
1323     $this->byXPath("//input[@value='Ajouter']")->click();
1324     // On vérifie qu'il n'y ait pas d'erreur
1325     $this->verifynoerrors();
1326     // On vérifie le message
1327     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
1328     // Récupération du numéro de dossier
1329     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
1330     $dossier_libelle = $matches[0];
1331     $dossier = str_replace(' ', '', $dossier_libelle);
1332     $dossier_dir = substr_replace($dossier, '.', -2, -3);
1333     // On clique
1334     $this->byCssSelector("a.lien")->click();sleep(5);
1335     // Liste les fenêtres
1336     $windows = $this->windowHandles();
1337     // Change la fenêtre
1338     $this->window($windows[1]);
1339     // On vérifie qu'il n'y ait pas d'erreur
1340     $this->verifynoerrors();
1341     // On vérifie que le text est présent
1342     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
1343     // On ferme la fenêtre
1344     $this->closeWindow();
1345     // On change le focus de la fenêtre
1346     $this->window($windows[0]);
1347     // On clique sur le bouton retour
1348     $this->byLinkText("Retour")->click();
1349     // On vérifie qu'il n'y ait pas d'erreur
1350     $this->verifynoerrors();
1351     // On vérifie que le répertoire s'est crée
1352     $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
1353     // On se déconnecte
1354     $this->deconnect();
1355     /* Fin */
1356 nhaye 2815 //
1357 nhaye 2808 /* On accepte le dossier d'instruction et le finalise */
1358     // On se connecte à l'application
1359     $this->login("instr", "instr");
1360     // On clique sur le menu 'Recherche'
1361     $this->byLinkText("Recherche")->click();
1362     // On recherche le dossier crée
1363     $this->byId("dossier")->value($dossier);
1364     // On clique sur le bouton recherche
1365     $this->byId("adv-search-submit")->click();
1366     // On clique sur le résultat
1367     $this->byLinkText($dossier_libelle)->click();
1368     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1369     $this->verifyNoErrors();
1370     // On clique sur l'onglet "Instruction"
1371     $this->byId("instruction")->click();
1372     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1373     $this->verifyNoErrors();
1374     // On clique sur le lien d'ajout dans le tableau
1375     $this->byCssSelector(".actions-max-1 a")->click();
1376     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1377     $this->verifyNoErrors();
1378     // On choisi un événement
1379     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
1380     // On valide le formulaire
1381     $this->byXPath("//input[@value='Ajouter']")->click();
1382     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1383     $this->verifyNoErrors();
1384     sleep(1);
1385     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
1386     // On retourne sur le tableau d'instructions
1387     $this->byCssSelector("#sousform-instruction .retour")->click();
1388     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1389     $this->verifyNoErrors();
1390     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
1391     $this->byLinkText("accepter un dossier sans réserve")->click();
1392     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1393     $this->verifyNoErrors();
1394     // On valide l'instruction (un événement verrouillable ne pourrait pas
1395     // être finalisé)
1396     $this->byId("action-sousform-instruction-finalisation")->click();
1397     // On vérifie le message de validation
1398     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1399     /* Fin */
1400     }
1401 nhaye 2815 //
1402 softime 2613 /**
1403 nhaye 2806 * Test que les données du dossier d'autorisation sont recopiés dans les
1404     * champs 'archive_' de l'événement d'instruction de la création du nouveau
1405     * dossier d'instruction
1406 softime 2613 */
1407 nhaye 2806 public function test_12_recopie_donnees_da_vers_nouveau_di(){
1408 nhaye 2815 //
1409 nhaye 2806 //{{{ Ajout de d'un nouveau dossier
1410 softime 2613 // On se connecte à l'application
1411     $this->login("guichet", "guichet");
1412 nhaye 2806 //On clique sur le menu des instructions
1413 softime 2613 $this->byLinkText("Nouveau Dossier")->click();
1414 nhaye 2806 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1415     $this->verifyNoErrors();
1416     //On ajoute un nouveau dossier
1417     $dossier = $this->addDossierInstruction( 1, 1);
1418 softime 2613 // On se déconnecte
1419     $this->deconnect();
1420 nhaye 2806 //}}}
1421 nhaye 2815 //
1422 nhaye 2806 //{{{
1423     // Mise à jour des données techniques
1424 softime 2613 // On se connecte à l'application
1425     $this->login("instr", "instr");
1426 nhaye 2806 //On clique sur le menu "Recherche"
1427 softime 2613 $this->byLinkText("Recherche")->click();
1428 nhaye 2806 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1429     $this->verifyNoErrors();
1430 softime 2613 // On recherche le dossier crée
1431 nhaye 2806 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1432 softime 2613 // On clique sur le bouton recherche
1433     $this->byId("adv-search-submit")->click();
1434     // On clique sur le résultat
1435 nhaye 2806 $this->byLinkText($dossier)->click();
1436 softime 2613 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1437     $this->verifyNoErrors();
1438 nhaye 2806 // Ouverture du formulaire des données techniques
1439     $this->byCssSelector("#formulaire .rediger-16")->click();
1440 softime 2613 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1441     $this->verifyNoErrors();
1442 nhaye 2806 // Modification des données techniques
1443     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
1444 softime 2613 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1445     $this->verifyNoErrors();
1446     sleep(1);
1447 nhaye 2806 // On déplie le fieldset Construire
1448     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1449     sleep(1);
1450     // On déplie le fieldset Destinations et surfaces des constructions
1451     $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1452     sleep(1);
1453     //On remplit des données techniques
1454     $this->byId("su_cstr_shon1")->value("120");
1455     // On clique sur ajouter
1456     $this->byXPath("//input[@value='Modifier']")->click();
1457     // On vérifie qu'il n'y ait pas d'erreur
1458     $this->verifynoerrors();
1459     // On vérifie le message
1460     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1461     //On clique sur retour
1462     $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1463 vpihour 2631 // On se déconnecte
1464     $this->deconnect();
1465     //}}}
1466 nhaye 2815 //
1467 vpihour 2631 //{{{ Clôture du nouveau dossier
1468     // On se connecte à l'application
1469     $this->login("instr", "instr");
1470     //On clique sur le menu "Recherche"
1471     $this->byLinkText("Recherche")->click();
1472     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1473     $this->verifyNoErrors();
1474 softime 2653 // On recherche le dossier crée
1475     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1476     // On clique sur le bouton recherche
1477     $this->byId("adv-search-submit")->click();
1478     // On clique sur le résultat
1479 vpihour 2631 $this->byLinkText($dossier)->click();
1480     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1481     $this->verifyNoErrors();
1482     //On clique sur l'onglet "instruction"
1483     $this->byId("instruction")->click();
1484     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1485     $this->verifyNoErrors();
1486     // On ajoute une instruction
1487     $this->byCssSelector("#sousform-instruction .add-16")->click();
1488     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1489     $this->verifyNoErrors();
1490 softime 2648 //On choisit l'instruction 'accepter un dossier sans réserve
1491     //[acceptation]'
1492 vpihour 2631 $this->select($this->byId("evenement"))->selectOptionByValue(81);
1493     // On clique sur ajouter
1494     $this->byXPath("//input[@value='Ajouter']")->click();
1495     // On vérifie qu'il n'y ait pas d'erreur
1496     $this->verifynoerrors();
1497     // On vérifie le message
1498     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1499     //On rafraichit la page pour vérifier que le dossier est clôturé
1500     $this->refresh();
1501     $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1502     // On se déconnecte
1503     $this->deconnect();
1504     //}}}
1505 nhaye 2815 //
1506 nhaye 2806 //{{{ Vérification des données techniques dans la visu DA
1507     // On se connecte à l'application
1508     $this->login("instr", "instr");
1509     //On clique sur le menu "Recherche"
1510     $this->byLinkText("Recherche")->click();
1511     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1512     $this->verifyNoErrors();
1513     // On recherche le dossier crée
1514     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1515     // On clique sur le bouton recherche
1516     $this->byId("adv-search-submit")->click();
1517     // On clique sur le résultat
1518     $this->byLinkText($dossier)->click();
1519     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1520     $this->verifyNoErrors();
1521     //On clique sur l'onglet "DA"
1522     $this->byId("dossier_autorisation")->click();
1523     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1524     $this->verifyNoErrors();
1525     // On ajoute une instruction
1526     $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();
1527     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1528     $this->verifyNoErrors();
1529     // Affichage des données techniques
1530     $this->byId("donnees_techniques_da")->click();
1531     sleep(1);
1532     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1533     $this->verifyNoErrors();
1534     // On déplie le fieldset Construire
1535     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1536     sleep(1);
1537     // On déplie le fieldset Destinations et surfaces des constructions
1538     $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1539     sleep(1);
1540     $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());
1541     //On clique sur retour
1542     $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1543     // On se déconnecte
1544     $this->deconnect();
1545     //}}}
1546 nhaye 2815 //
1547 vpihour 2631 //{{{ Ajout de l'action
1548     // On se connecte à l'application
1549     $this->login("admin", "admin");
1550     //On clique sur le menu "Paramétrage dossiers"
1551     $this->byLinkText("Paramétrage Dossiers")->click();
1552     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1553     $this->verifyNoErrors();
1554     //On clique sur le menu "Action"
1555     $this->byLinkText("Action")->click();
1556     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1557     $this->verifyNoErrors();
1558     //On clique sur le "+" du tableau
1559     $this->byClassName("add-16")->click();
1560     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1561     $this->verifyNoErrors();
1562     //On remplit la règle de calcul de la date de validité
1563     $this->byId("action")->value("test_12_recopie_donnees");
1564     $this->byId("libelle")->value("test_12_recopie_donnees");
1565 vpihour 2643 $this->byId("regle_date_validite")->value("archive_date_validite+12");
1566 vpihour 2631 // On clique sur ajouter
1567     $this->byXPath("//input[@value='Ajouter']")->click();
1568     // On vérifie qu'il n'y ait pas d'erreur
1569     $this->verifynoerrors();
1570     // On vérifie le message
1571     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1572     //}}}
1573 nhaye 2815 //
1574 vpihour 2631 //{{{ Ajout de l'événement
1575     //On clique sur le menu "Événement"
1576     $this->byLinkText("Événement")->click();
1577     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1578     $this->verifyNoErrors();
1579     //On clique sur le "+" du tableau
1580     $this->byClassName("add-16")->click();
1581     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1582     $this->verifyNoErrors();
1583     //On remplit l'événement qui va être ajouté avec la nouvelle demande
1584     $this->byId("libelle")->value("test_12_recopie_donnees");
1585     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByValue("accepter");
1586 softime 2648 // On sélectionne PCI - P - Initial
1587 vpihour 2631 $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByValue(1);
1588 vpihour 2643 $this->select($this->byName("action"))->selectOptionByLabel("test_12_recopie_donnees");
1589 vpihour 2631 // On clique sur ajouter
1590     $this->byXPath("//input[@value='Ajouter']")->click();
1591     // On vérifie qu'il n'y ait pas d'erreur
1592     $this->verifynoerrors();
1593     // On vérifie le message
1594     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1595     //}}}
1596 nhaye 2815 //
1597 vpihour 2631 //{{{ Ajout du type de dossier d'instruction
1598     //On clique sur le menu "Type DI"
1599     $this->byLinkText("Type DI")->click();
1600     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1601     $this->verifyNoErrors();
1602     //On clique sur le "+" du tableau
1603     $this->byClassName("add-16")->click();
1604     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1605     $this->verifyNoErrors();
1606     //On remplit le type de la demande
1607     $this->byId("code")->value("DT");
1608     $this->byId("libelle")->value("test_12_recopie_donnees");
1609 softime 2648 // On sélectionne PCI (Permis de construire pour une maison individuelle
1610     // et / ou ses annexes)
1611 vpihour 2631 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);sleep(1);
1612     $this->byId("suffixe")->click();
1613     // On clique sur ajouter
1614     $this->byXPath("//input[@value='Ajouter']")->click();
1615     // On vérifie qu'il n'y ait pas d'erreur
1616     $this->verifynoerrors();
1617     // On vérifie le message
1618     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1619     //}}}
1620 nhaye 2815 //
1621 vpihour 2631 //{{{ Ajout du type de la demande
1622     //On clique sur le menu "Type"
1623     $this->byLinkText("Type")->click();
1624     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1625     $this->verifyNoErrors();
1626     //On clique sur le "+" du tableau
1627     $this->byClassName("add-16")->click();
1628     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1629     $this->verifyNoErrors();
1630     //On remplit le type de la demande
1631     $this->byId("code")->value("test_12_recopie_donnees");
1632     $this->byId("libelle")->value("test_12_recopie_donnees");
1633 softime 2648 // On sélectionne Autorisation ADS
1634 vpihour 2631 $this->select($this->byId("groupe"))->selectOptionByValue(1);sleep(1);
1635 softime 2648 // On sélectionne PCI (Permis de construire pour une maison individuelle
1636     // et / ou ses annexes)
1637 vpihour 2631 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1638 softime 2648 // On sélectionne Dossier existant
1639 vpihour 2631 $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1640 softime 2648 // On sélectionne Accordé
1641 vpihour 2631 $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1642     $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1643     $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1644     // On clique sur ajouter
1645     $this->byXPath("//input[@value='Ajouter']")->click();
1646     // On vérifie qu'il n'y ait pas d'erreur
1647     $this->verifynoerrors();
1648     // On vérifie le message
1649     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1650     //On clique sur retour
1651     $this->byClassName("retour")->click();
1652     // On vérifie qu'il n'y ait pas d'erreur
1653     $this->verifynoerrors();
1654     //On saisit le libellé du type de la demande saisit
1655     $this->byName("recherche")->value("test_12_recopie_donnees");
1656     //On valide
1657     $this->byName("s1")->click();
1658     // On vérifie qu'il n'y ait pas d'erreur
1659     $this->verifynoerrors();
1660     //On clique sur le type de la demande
1661     $this->byLinkText("test_12_recopie_donnees")->click();
1662     // On vérifie qu'il n'y ait pas d'erreur
1663     $this->verifynoerrors();
1664     //On récupère l'identifiant du type de la demande
1665     $demande_type = $this->byId("demande_type")->text();
1666     // On se déconnecte
1667     $this->deconnect();
1668     //}}}
1669 nhaye 2815 //
1670 vpihour 2631 //{{{ Ajout de d'un nouveau dossier
1671     // On se connecte à l'application
1672     $this->login("guichet", "guichet");
1673     //On clique sur le menu des instructions
1674     $this->byLinkText("Dossier En Cours")->click();
1675     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1676     $this->verifyNoErrors();
1677     //On ajoute un nouveau dossier
1678 nhaye 2815 $dossier = $this->addDossierInstruction(1, $demande_type, "Test validité", 2, str_replace(" ", "", $dossier));
1679 vpihour 2631 // On se déconnecte
1680     $this->deconnect();
1681     //}}}
1682 nhaye 2815 //
1683 vpihour 2631 //{{{ Vérification de la date de validité
1684     // On se connecte à l'application
1685     $this->login("instr", "instr");
1686     //On clique sur le menu "Recherche"
1687     $this->byLinkText("Recherche")->click();
1688     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1689     $this->verifyNoErrors();
1690 softime 2682 // On recherche le dossier crée
1691     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1692     // On clique sur le bouton recherche
1693     $this->byId("adv-search-submit")->click();
1694     // On clique sur le résultat
1695 vpihour 2631 $this->byLinkText($dossier)->click();
1696     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1697     $this->verifyNoErrors();
1698     //On vérifie la date de validité
1699 softime 2771 $date_validite = $this->mois_date(date("Y-m-d"), 12, "+");
1700     $date_validite = date("d/m/Y", strtotime($date_validite));
1701     $this->assertEquals($date_validite, $this->byId("date_validite")->text());
1702 vpihour 2631 // On se déconnecte
1703     $this->deconnect();
1704     //}}}
1705     }
1706 nhaye 2815 //
1707 nhaye 2808 /**
1708     * Test de la numérotation des DI successifs
1709     */
1710     function test_13_numerotation_dossier_instruction_successif(){
1711 nhaye 2815 //
1712 nhaye 2808 //{{{ Ajout de d'un nouveau dossier d'instruction P0
1713     // On se connecte à l'application
1714     $this->login("guichet", "guichet");
1715     // On clique sur le menu "Nouveau Dossier"
1716     $this->byLinkText("Nouveau Dossier")->click();
1717     // On vérifie qu'il n'y ait pas d'erreur
1718     $this->verifynoerrors();
1719     // On ajoute un nouveau dossier d'instruction
1720     $dossierP0 = str_replace(" ", "", trim($this->addDossierInstruction(1, 1)));
1721     // On se déconnecte
1722     $this->deconnect();
1723     //}}}
1724 nhaye 2815 //
1725 nhaye 2808 //{{{ Accord du P0 créé
1726     // On se connecte à l'application
1727     $this->login("instr", "instr");
1728     // On clique sur le menu "Recherche"
1729     $this->byLinkText("Recherche")->click();
1730     // On vérifie qu'il n'y ait pas d'erreur
1731     $this->verifynoerrors();
1732     // On saisit le numéro du dossier d'instruction
1733     $this->byId("dossier")->value($dossierP0);
1734     // On valide la recherche
1735     $this->byId("adv-search-submit")->click();
1736     // On vérifie qu'il n'y ait pas d'erreur
1737     $this->verifynoerrors();
1738     // On clique sur le dossier d'instruction
1739     $this->byId("action-tab-dossier_instruction-left-consulter-".$dossierP0)->click();
1740     // On vérifie qu'il n'y ait pas d'erreur
1741     $this->verifynoerrors();
1742     // On clique sur l'onglet instruction
1743     $this->byId("instruction")->click();
1744     // On vérifie qu'il n'y ait pas d'erreur
1745     $this->verifynoerrors();
1746     // On clique sur le + du tableau
1747     $this->byClassName("add-16")->click();
1748     // On vérifie qu'il n'y ait pas d'erreur
1749     $this->verifynoerrors();
1750     // On choisit l'événement n°81 accepter un dossier sans réserve
1751     $this->select($this->byName("evenement"))->selectOptionByValue(81);
1752     // On clique sur ajouter
1753     $this->byXPath("//input[@value='Ajouter']")->click();
1754     // On vérifie qu'il n'y ait pas d'erreur
1755     $this->verifynoerrors();
1756     // On vérifie que l'événement d'instruction s'est bien ajouté
1757     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());
1758     // On se déconnecte
1759     $this->deconnect();
1760     //}}}
1761 nhaye 2815 //
1762 nhaye 2808 //{{{ Ajout d'un nouveau type de dossier d'instruction
1763     // On se connecte à l'application
1764     $this->login("admin", "admin");
1765     // On clique sur le menu "Paramétrage Dossiers"
1766     $this->byLinkText("Paramétrage Dossiers")->click();
1767     // On vérifie qu'il n'y ait pas d'erreur
1768     $this->verifynoerrors();
1769     // On clique sur le menu "Type DI"
1770     $this->byLinkText("Type DI")->click();
1771     // On vérifie qu'il n'y ait pas d'erreur
1772     $this->verifynoerrors();
1773     // On clique sur le + du tableau
1774     $this->byClassName("add-16")->click();
1775     // On vérifie qu'il n'y ait pas d'erreur
1776     $this->verifynoerrors();
1777     //On saisit les données
1778     $this->byId("code")->value("TN");
1779     $this->byId("libelle")->value("Test numérotation");
1780     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1781     $this->byId("suffixe")->click();
1782     // On clique sur ajouter
1783     $this->byXPath("//input[@value='Ajouter']")->click();
1784     // On vérifie qu'il n'y ait pas d'erreur
1785     $this->verifynoerrors();
1786     // On vérifie que le type de dossier d'instruction s'est bien ajouté
1787     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1788     //}}}
1789 nhaye 2815 //
1790 nhaye 2808 //{{{ Ajout d'un nouveau type de demande
1791     // On clique sur le menu "Type"
1792     $this->byLinkText("Type")->click();
1793     // On vérifie qu'il n'y ait pas d'erreur
1794     $this->verifynoerrors();
1795     // On clique sur le + du tableau
1796     $this->byClassName("add-16")->click();
1797     // On vérifie qu'il n'y ait pas d'erreur
1798     $this->verifynoerrors();
1799     //On saisit les données
1800     $this->byId("code")->value("TN");
1801     $this->byId("libelle")->value("Test numérotation");
1802     $this->select($this->byId("groupe"))->selectOptionByValue(1);
1803     sleep(1);
1804     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1805     $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1806     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1807     $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - Test numérotation");
1808     $this->select($this->byId("evenement"))->selectOptionByValue(1);
1809     // On clique sur ajouter
1810     $this->byXPath("//input[@value='Ajouter']")->click();
1811     // On vérifie qu'il n'y ait pas d'erreur
1812     $this->verifynoerrors();
1813     // On vérifie qu'il n'y ait pas d'erreur
1814     $this->verifynoerrors();
1815     // On vérifie que le type de dossier d'instruction s'est bien ajouté
1816     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1817     // On clique sur "Retour"
1818     $this->byClassName("retour")->click();
1819     // On vérifie qu'il n'y ait pas d'erreur
1820     $this->verifynoerrors();
1821     // On saisit le libelle du type de la demande nouvellement créée
1822     $this->byClassName("champFormulaire")->value("Test numérotation");
1823     // On valide la recherche
1824     $this->byName("f1")->submit();
1825     //On clique sur le type de la demande
1826     $this->byLinkText("Test numérotation")->click();
1827     // On vérifie qu'il n'y ait pas d'erreur
1828     $this->verifynoerrors();
1829     // On récupère l'identifiant
1830     $idDemandeType = trim($this->byId("demande_type")->text());
1831     // On se déconnecte
1832     $this->deconnect();
1833     //}}}
1834 nhaye 2815 //
1835 nhaye 2808 //{{{ Ajout de d'un nouveau dossier d'instruction avec le nouveau type
1836     //de dossier d'instruction
1837     // On se connecte à l'application
1838     $this->login("guichet", "guichet");
1839     // On clique sur le menu "Dossier En Cours"
1840     $this->byLinkText("Dossier En Cours")->click();
1841     // On vérifie qu'il n'y ait pas d'erreur
1842     $this->verifynoerrors();
1843     // On ajoute un nouveau dossier d'instruction
1844 nhaye 2815 $dossierTN01 = trim($this->addDossierInstruction(1, $idDemandeType, "Test nouveau DI", 3, $dossierP0));
1845 nhaye 2808 //On vérifie que le numéro du dossier d'instruction est celui attendu
1846     assert(preg_match('/(PC)[0-9 ]*(TN01)/', $dossierTN01) === 1);
1847     // On se déconnecte
1848     $this->deconnect();
1849     //}}}
1850 vpihour 2773
1851    
1852 nhaye 2815 // }
1853 vpihour 2773
1854     /**
1855 vpihour 2631 * Ajout d'un dossier d'instruction par le guichet unique
1856     *
1857     * @param int $dossier_autorisation_type_detaille L'identifiant du type détaillé
1858     * de dossier d'autorisation
1859     * @param int $demande_type L'identifiant du type de la demande
1860     * @param int $type Type de la demande : nouveau dossier ou dossier existant
1861     * @return le numéro de dossier d'instruction qui vient d'être créé
1862     */
1863     public function addDossierInstruction($dossier_autorisation_type_detaille,
1864 nhaye 2815 $demande_type, $nom_petit = "test recopie", $type = 1, $dossier = "" ){
1865 vpihour 2631
1866     if ($type===1){
1867     //On choisit le type détaillé de dossier d'autorisation
1868     $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue($dossier_autorisation_type_detaille);
1869     }
1870     else {
1871 nhaye 2661 sleep(2);
1872 softime 2676 // On remplit le champ de recherche simple
1873     $this->byCssSelector("input[name='recherche']")->value(str_replace(' ', '', $dossier));
1874     // On clique sur le bouton recherche
1875 softime 2740 $this->byCssSelector(".ui-button")->click();sleep(1);
1876 softime 2676 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1877     $this->verifyNoErrors();
1878     // On clique sur le résultat
1879 softime 2741 $this->byId("action-tab-demande_dossier_encours-left-consulter-".str_replace(' ', '', $dossier))->click();
1880 softime 2676 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1881     $this->verifyNoErrors();
1882 vpihour 2631 }
1883     //On choisit le type de demande
1884     $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
1885     //On clique sur "Saisir le pétitionnaire principal"
1886     $this->byId("add_petitionnaire_principal")->click();
1887     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1888     $this->verifyNoErrors();
1889     //On saisie le nom du pétitionnaire principal
1890 nhaye 2815 $this->byId("particulier_nom")->value($nom_petit);
1891 vpihour 2631 // On clique sur ajouter
1892     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1893     // On vérifie qu'il n'y ait pas d'erreur
1894     $this->verifynoerrors();
1895     //On vérifie que le pétitionnaire s'est bien ajouté
1896     // On vérifie le message
1897     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1898     // On clique sur le bouton retour
1899     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1900     // On vérifie que le text est présent
1901 nhaye 2815 $this->assertContains($nom_petit,$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1902 vpihour 2631 // On clique sur ajouter
1903     $this->byXPath("//input[@value='Ajouter']")->click();
1904     // On vérifie qu'il n'y ait pas d'erreur
1905     $this->verifynoerrors();
1906     // On vérifie le message
1907     $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
1908     //On récupère le numéro de dossier d'instruction créé
1909     if ($type===1){
1910     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1911     }
1912 vpihour 2773 elseif ($type===2){
1913     preg_match('/(PC)[0-9 ]*(DT01)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1914     }
1915 vpihour 2631 else{
1916 vpihour 2773 preg_match('/(PC)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1917 vpihour 2631 }
1918     return $dossier[0];
1919     }
1920 fmichon 1664 }
1921    
1922     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26