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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2771 - (hide annotations)
Tue Feb 25 14:56:56 2014 UTC (10 years, 11 months ago) by softime
File size: 83367 byte(s)
Optimisation de la fonction moisDate pour le calcul de date : est devenu mois_date et permet aussi de faire des soustractions désormais + modification des tests pour vérifier les dates avec cette même fonction.

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 softime 2605 // 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 fmichon 1755 /**
121     *
122     */
123     public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
124 vpihour 2078
125 fmichon 1755 // 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 vpihour 2078 $this->byLinkText("Mes Encours")->click();
131 fmichon 1755 // 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 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
135 fmichon 1755 // 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 softime 2112 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
139 fmichon 1755 // On clique sur l'onglet "Instruction"
140 vpihour 2078 $this->byId("instruction")->click();
141 fmichon 1755 // 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 vpihour 2078 $this->byId("consultation")->click();
145 fmichon 1755 // 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 vpihour 2078 $this->byId("lot")->click();
149 fmichon 1755 // 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 vpihour 2078 $this->byId("dossier_message")->click();
153 fmichon 1755 // 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 vpihour 2078 $this->byId("dossier_commission")->click();
157 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
158     $this->verifyNoErrors();
159 fmichon 1763 // On clique sur l'onglet "Bloc-note"
160 vpihour 2078 $this->byId("blocnote")->click();
161 fmichon 1763 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
162     $this->verifyNoErrors();
163 fmichon 1755 // On clique sur l'onglet "DA"
164 vpihour 2078 $this->byId("dossier_autorisation")->click();
165 fmichon 1755 // 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 softime 2112 $this->byLinkText("AZ 013055 12 00001")->click();
169 fmichon 1755 // 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 softime 2112 $this->assertEquals("AZ 013055 12 00001", $this->byCssSelector(".form-content #dossier_autorisation_libelle")->text());
173 fmichon 1755 // On clique sur l'onglet "Dossier(s) d'instruction"
174 vpihour 2078 $this->byId("dossier_instruction")->click();
175 fmichon 1755 // 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 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
179 fmichon 1755 // 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 softime 2112 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
183 fmichon 1885 // On se déconnecte
184 fmichon 1755 $this->logout();
185     }
186    
187 fmichon 1885 /**
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 softime 2120 $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 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
200 softime 2120 $this->assertEquals("Louis Laurent", $this->byCssSelector(".profil-infos-nom span.value")->text());
201 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
202 softime 2120 $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
203 fmichon 1885 // On se déconnecte
204 vpihour 2078 $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 fmichon 1885 // 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 fmichon 2184 $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
213 fmichon 2185 // On vérifie que le profil est bon
214     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
215 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
216 fmichon 2185 $this->assertEquals("Martine Nadeau", $this->byCssSelector(".profil-infos-nom span.value")->text());
217 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
218 fmichon 2185 $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
219 fmichon 1885 // On se déconnecte
220 vpihour 2078 $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 fmichon 1885 // 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 fmichon 2184 $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
229 fmichon 2185 // On vérifie que le profil est bon
230     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
231 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
232 fmichon 2185 $this->assertEquals("Roland Richard", $this->byCssSelector(".profil-infos-nom span.value")->text());
233 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
234 fmichon 2185 $this->assertEquals("J", $this->byCssSelector(".profil-infos-division span.value")->text());
235 fmichon 1885 // On se déconnecte
236     $this->logout();
237     }
238 vpihour 2078
239     /**
240     * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
241 softime 2305 * Modification d'un événement
242 vpihour 2078 */
243     public function test_04_ajout_instructions_par_instructeur() {
244    
245 softime 2305 // 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 softime 2658 //{{{ 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 nhaye 2661 $dossier = $this->addDossierInstruction(1, 1);
289 softime 2658 // On se déconnecte
290     $this->deconnect();
291     //}}}
292 vpihour 2078 // 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 nhaye 2107 sleep(1);
301 softime 2658 // On clique sur le dossier dernièrement créé
302     $this->byLinkText($dossier)->click();
303 vpihour 2078 // 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 softime 2658 //On choisi l'événement CDEC majoration appel decision [majoration]
315 vpihour 2078 $this->select($this->byId("evenement"))->selectOptionByValue("22");
316     //On valide le formulaire
317     $this->byXPath("//input[@value='Ajouter']")->click();
318 softime 2771 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319     $this->verifyNoErrors();
320 softime 2305 // 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 vpihour 2078 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
327     $this->verifyNoErrors();
328 softime 2305 // 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 softime 2658
353 softime 2305 // 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 vpihour 2078 sleep(1);
362 softime 2658 // On clique sur le dossier dernièrement créé
363     $this->byLinkText($dossier)->click();
364 softime 2305 // 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 softime 2658 //On choisi l'événement CDEC majoration appel decision [majoration]
376 softime 2305 $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 vpihour 2078 $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 softime 2408 //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
404 vpihour 2078 $this->select($this->byId("evenement"))->selectOptionByValue("81");
405 softime 2408 // 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 nhaye 2661 $this->byId('checkbox0')->click();
414 softime 2408 $this->byId('checkbox1')->click();
415     // On valide le formulaire
416     $this->byXPath("//input[@value='Valider']")->click();
417 softime 2658 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418     $this->verifyNoErrors();
419 softime 2408 // On valide le formulaire
420 vpihour 2078 $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 softime 2658 // On vérifie le message de validation
424 vpihour 2078 $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 softime 2658 // On clique sur l'instruction
430 vpihour 2078 $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 softime 2658 // 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 vpihour 2078 //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     $this->logout();
441     }
442 nhaye 2088
443 nhaye 2107 /**
444 nhaye 2088 * Test le formulaire de la demande de type qui possède des select filtrés
445     */
446     public function test_05_ajout_lot() {
447     // On se connecte en tant que "instr"
448     $this->login("instr", "instr");
449     // On clique sur le lien "Mes encours" dans le menu
450     $this->byLinkText("Mes Encours")->click();
451     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
452     $this->verifyNoErrors();
453     // On clique sur le lien "AZ0130551200001P0" dans le tableau
454 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
455 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
456     $this->verifyNoErrors();
457     // On clique sur l'onglet "Lot(s)"
458     $this->byId("lot")->click();
459     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
460     $this->verifyNoErrors();
461     // On clique sur le bouton d'ajout de lots
462     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
463     // Vérification des champs obligatoires
464     $this->byXPath("//input[@value='Ajouter']")->click();
465     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
466     $this->verifyNoErrors();
467     // On vérifie que le message de champ vide soit affiché
468     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
469     // Insertion d'un lot
470     $this->byId("libelle")->value("Lot n°1");
471     $this->byXPath("//input[@value='Ajouter']")->click();
472     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
473     $this->verifyNoErrors();
474 nhaye 2118 sleep(1);
475 nhaye 2088 // On retourne sur le tableau listant les lots
476     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
477     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
478     $this->verifyNoErrors();
479     // On clique sur le bouton d'ajout de lots
480     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
481     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
482     $this->verifyNoErrors();
483     // Insertion d'un second lot
484     $this->byId("libelle")->value("Lot n°2");
485     $this->byXPath("//input[@value='Ajouter']")->click();
486 nhaye 2107 sleep(1);
487 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
488     $this->verifyNoErrors();
489     // On retourne sur le tableau listant les lots
490     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
491     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
492     $this->verifyNoErrors();
493 nhaye 2107 // On se déconnecte
494     $this->logout();
495 nhaye 2088 }
496 nhaye 2107
497     /**
498     * Test du lien automatique entre choix autorité compétente dans DI et
499     * évènement d'instruction à créer
500     */
501 softime 2605 // Fonction privé
502     private function modification_autorite_competente($utilisateur) {
503     // On se connecte à l'application
504     $this->login($utilisateur["login"], $utilisateur["mdp"]);
505     // Ouvre le menu
506     $this->openMenu("Instruction", $utilisateur);
507 nhaye 2107 // On clique sur le lien "Mes encours" dans le menu
508 softime 2605 $this->byLinkText("Recherche")->click();
509 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
510     $this->verifyNoErrors();
511     // On clique sur le lien "AZ0130551200001P0" dans le tableau
512 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
513 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
514     $this->verifyNoErrors();
515     // On clique sur l'onglet "Instruction"
516     $this->byId("instruction")->click();
517     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
518     $this->verifyNoErrors();
519     // On clique sur le bouton d'ajout de lots
520     $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
521     // Vérification des champs obligatoires
522     $this->byXPath("//input[@value='Ajouter']")->click();
523     sleep(1);
524     //On choisi un événement
525     $this->select($this->byId("evenement"))->selectOptionByValue("94");
526     // Validation du formulaire
527     $this->byXPath("//input[@value='Ajouter']")->click();
528     sleep(1);
529     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
530     $this->verifyNoErrors();
531     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
532     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
533     // Retour à l'onglet principal
534     $this->byId("main")->click();
535     $this->refresh();
536     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
537     $this->verifyNoErrors();
538     // On verifie que l'autorité compétente à changée.
539     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
540     // On se déconnecte
541     $this->deconnect();
542 softime 2605
543 nhaye 2107 // On se connecte en tant que "admin"
544     $this->login("admin", "admin");
545     sleep(1);
546     $this->byLinkText("Instruction")->click();
547     // On clique sur le lien "Recherche" dans le menu
548     $this->byLinkText("Recherche")->click();
549     // On clique sur le lien "AZ0130551200001P0" dans le tableau
550 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
551 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
552     $this->verifyNoErrors();
553 softime 2633 // On verifie que l'autorité compétente à changée
554     $this->assertEquals('Commune pour état', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
555 nhaye 2107 // On clique sur l'onglet "Instruction"
556     $this->byId("instruction")->click();
557     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
558     sleep(1);
559     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
560     $this->verifyNoErrors();
561     // On supprime l'element et on verifie le retour de l'autorité "commune"
562 softime 2633 $this->byId("action-sousform-instruction-supprimer")->click();
563     // On valide le formulaire
564     $this->byXPath("//input[@value='Supprimer']")->click();sleep(1);
565     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
566     $this->verifyNoErrors();
567     // On clique sur le bouton retour
568     $this->byLinkText("Retour")->click();
569     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
570     $this->verifyNoErrors();
571     // On vérifie que l'événement d'instruction n'est plus dans le tableau
572     $this->assertNotContains("Changer l'autorité compétente 'commune état'", $this->byId("sousform-instruction")->text());
573 nhaye 2107 // Retour à l'onglet principal
574     $this->byId("main")->click();
575 softime 2633 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
576     $this->verifyNoErrors();
577     // On rafraîchit la page
578 nhaye 2107 $this->refresh();
579     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
580     $this->verifyNoErrors();
581     // On verifie que l'autorité compétente à changée.
582 softime 2633 $this->assertEquals('Commune', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
583 nhaye 2107 // On se déconnecte
584 softime 2605 $this->deconnect();
585 nhaye 2107 }
586 softime 2605 // Fonction public
587     public function test_06_modification_autorite_competente() {
588     // Récupération des utilisateurs
589     $utilisateurs = $this->listUtlisateurs;
590     // Pour chaque utilisateur on lance le test
591     foreach ($utilisateurs as $utilisateur) {
592     //
593     $this->modification_autorite_competente($utilisateur);
594     }
595     // On vérifie la déconnexion
596     $this->verifyDeconnect();
597     }
598 nhaye 2107
599 nhaye 2116 /**
600     * Test de l'ajout de données techniques au dossier
601     */
602     public function test_07_edition_donnees_techniques() {
603     // On se connecte en tant que "instr"
604 nhaye 2118 $this->login("admin", "admin");
605     sleep(1);
606     // Ouverture du menu de paramétrage des dossiers
607     $this->byLinkText("Paramétrage Dossiers")->click();
608     // Ouverture du menu des cerfa
609     $this->byLinkText("Cerfa")->click();
610     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
611     $this->verifyNoErrors();
612     // Ouverture d'un cerfa
613     $this->byLinkText("cerfa de test n°1")->click();
614     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
615     $this->verifyNoErrors();
616     // Modification du cerfa affiché
617     $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
618     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
619     $this->verifyNoErrors();
620     // Ajout de champs au formulaire des données techniques
621     $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
622     $this->byId("terr_juri_titul")->click();
623     $this->byId("terr_juri_lot")->click();
624     $this->byId("terr_juri_zac")->click();
625     $this->byId("terr_juri_afu")->click();
626     $this->byId("terr_juri_pup")->click();
627     $this->byId("terr_juri_oin")->click();
628     $this->byId("terr_juri_desc")->click();
629     // Validation du formulaire
630     $this->byXPath("//input[@value='Modifier']")->click();
631     // Vérification des erreurs
632     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
633     $this->byLinkText("Retour")->click();
634     // On se déconnecte
635     $this->deconnect();
636     // On se connecte en tant que "instr"
637 nhaye 2116 $this->login("instr", "instr");
638     // On clique sur le lien "Mes encours" dans le menu
639     $this->byLinkText("Mes Encours")->click();
640     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
641     $this->verifyNoErrors();
642     // On clique sur le lien "AZ0130551200001P0" dans le tableau
643     $this->byLinkText("AZ 013055 12 00001P0")->click();
644     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
645     $this->verifyNoErrors();
646     // On click sur le lien "Données techniques"
647     $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
648     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
649     $this->verifyNoErrors();
650 nhaye 2118 sleep(1);
651     // Modification des données techniques
652     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
653     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
654     $this->verifyNoErrors();
655     sleep(1);
656     $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());
657 nhaye 2116 // Validation du formulaire
658     $this->byXPath("//input[@value='Modifier']")->click();
659     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
660     $this->verifyNoErrors();
661 nhaye 2118 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
662     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
663     sleep(1);
664 nhaye 2116 // On se déconnecte
665     $this->logout();
666    
667     }
668 softime 2562
669     /**
670     * Test un événement d'instruction qui a un événement "retour"
671     */
672     public function test_08_evenement_instruction_retour() {
673    
674     // On se connecte à l'application en tant qu'administrateur
675     $this->login("admin", "admin");
676     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
677     $this->verifyNoErrors();
678    
679     /** On ajoute une action "retour signature" **/
680     // On clique sur le menu "Paramétrage Dossiers"
681     $this->byLinkText("Paramétrage Dossiers")->click();
682     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
683     $this->verifyNoErrors();
684     // On clique sur le sous-menu "Action"
685     $this->byLinkText("Action")->click();
686     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
687     $this->verifyNoErrors();
688     // On clique sur le bouton "ajouter"
689     $this->byId("action-tab-action-corner-ajouter")->click();
690     // On remplis les champs
691     $this->byId("action")->value("retour signature");
692     $this->byId("libelle")->value("retour signature");
693     $this->byId("regle_etat")->value("etat");
694 softime 2564 $this->byId("regle_date_validite")->value("date_retour_signature + duree_validite");
695 softime 2562 // On valide le formulaire
696     $this->byXPath("//input[@value='Ajouter']")->click();
697     // On vérifie le message de validation
698     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
699     /** Fin **/
700    
701     /** On ajoute un événement "retour signature" **/
702     // On clique sur le sous-menu "Événement"
703     $this->byLinkText("Événement")->click();
704     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
705     $this->verifyNoErrors();
706     // On clique sur le bouton "ajouter"
707     $this->byId("action-tab-evenement-corner-ajouter")->click();
708     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
709     $this->verifyNoErrors();
710     // On remplis les champs
711     $this->byId("libelle")->value("retour signature");
712     $this->byId("retour")->click();
713     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
714     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("dossier accepter");
715     $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
716     $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
717     $this->select($this->byId("action"))->selectOptionByLabel("retour signature");
718     // On valide le formulaire
719     $this->byXPath("//input[@value='Ajouter']")->click();
720     // On vérifie le message de validation
721     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
722     // On clique sur "Retour"
723     $this->byLinkText("Retour")->click();
724     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
725     $this->verifyNoErrors();
726 softime 2572 // On recherche l'événement "accepter un dossier sans réserve"
727 softime 2562 $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
728     // On clique sur le bouton recherche
729     $this->byCssSelector(".ui-button")->click();
730     // On clique sur le résultat
731     $this->byLinkText("accepter un dossier sans réserve")->click();
732     // On clique sur le bouton "Modifier"
733     $this->byId('action-form-evenement-modifier')->click();
734     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
735     $this->verifyNoErrors();
736     // On sélectionne l'événement "retour" dans "evenement_retour_signature"
737     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("retour signature");
738     // On valide le formulaire
739     $this->byXPath("//input[@value='Modifier']")->click();
740     // On vérifie le message de validation
741     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
742     /** Fin **/
743    
744     /** On ajoute une durée de validité au type de DA PCI **/
745     // On clique sur le sous-menu "Type DA Détaillé"
746     $this->byLinkText("Type DA Détaillé")->click();
747     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
748     $this->verifyNoErrors();
749     // On clique sur le PCI
750     $this->byLinkText("PCI")->click();
751     // On clique sur le bouton "modifier"
752     $this->byId("action-form-dossier_autorisation_type_detaille-modifier")->click();
753     // On modifie la durée de validité
754     $this->byId("duree_validite_parametrage")->clear();
755     $this->byId("duree_validite_parametrage")->value("5");
756     // On valide le formulaire
757     $this->byXPath("//input[@value='Modifier']")->click();
758     // On vérifie le message de validation
759     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
760     /** Fin **/
761    
762     /** On instancie une nouvelle demande initial PCI **/
763     // On clique sur le menu "Guichet Unique"
764     $this->byLinkText("Guichet Unique")->click();
765     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
766     $this->verifyNoErrors();
767     // On clique sur le sous-menu "Nouveau Dossier"
768     $this->byLinkText("Nouveau Dossier")->click();
769     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
770     $this->verifyNoErrors();
771     // On selectionne le type de dossier d'autorisation détaillé "Permis de construire pour une maison individuelle et / ou ses annexes"
772     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
773     // On selectionne le type de demande "Dépôt Initial"
774     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
775     // On clique pour ajouter un pétitionnaire principale
776     $this->byId("add_petitionnaire_principal")->click();
777     // On remplit le champ
778     $this->byId("particulier_nom")->value("DURAND");
779     // On remplit le champ
780     $this->byId("particulier_prenom")->value("MICKAEL");
781     // On remplit le champ
782     $this->byId("particulier_date_naissance")->value("03/01/1956");
783     // On remplit le champ
784     $this->byId("particulier_commune_naissance")->value("LILLE");
785     // On remplit le champ
786     $this->byId("particulier_departement_naissance")->value("NORD");
787     // On remplit le champ
788     $this->byId("numero")->value("12");
789     // On remplit le champ
790     $this->byId("voie")->value("RUE DE LA LOI");
791     // On remplit le champ
792     $this->byId("complement")->value("APPT 12");
793     // On remplit le champ
794     $this->byId("localite")->value("MARSEILLE");
795     // On remplit le champ
796     $this->byId("code_postal")->value("13012");
797     // On remplit le champ
798     $this->byId("telephone_fixe")->value("0404040404");
799     // On clique sur ajouter
800     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
801     // On vérifie le message
802     $this->assertContains("Vos modifications ont bien été enregistrées", $this->byCssSelector("#sousform-petitionnaire .message")->text());
803     // On clique sur le bouton retour
804     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
805     // On vérifie que le text est présent
806     $this->assertContains("DURAND MICKAEL",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
807     // On clique sur ajouter
808     $this->byXPath("//input[@value='Ajouter']")->click();
809     // On vérifie le message
810     $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
811     // Récupération du numéro de dossier
812     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
813     $dossier = $dossier[0];
814     /** Fin **/
815    
816     /** On ajoute une instruction de dossier accepter et on la finalise **/
817     // On clique sur le menu "Instruction"
818     $this->byLinkText("Instruction")->click();
819     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
820     $this->verifyNoErrors();
821     // On clique sur le sous-menu "Recherche"
822     $this->byLinkText("Recherche")->click();
823     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
824     $this->verifyNoErrors();
825 softime 2567 // On recherche le dossier crée
826     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
827     // On clique sur le bouton recherche
828     $this->byId("adv-search-submit")->click();
829     // On clique sur le résultat
830 softime 2562 $this->byLinkText($dossier)->click();
831     // On clique sur l'onglet "Instruction"
832     $this->byId("instruction")->click();
833     // On ajoute un événement d'instruction
834     $this->byId("action-soustab-instruction-corner-ajouter")->click();
835     // On sélectionne l'évenement "accepter un dossier sans réserve"
836     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
837     // On valide le formulaire
838     $this->byXPath("//input[@value='Ajouter']")->click();
839     // On vérifie le message
840     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
841     // On clique sur le bouton "retour"
842     $this->byLinkText("Retour")->click();
843     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
844     $this->verifyNoErrors();
845     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
846     $this->byLinkText("accepter un dossier sans réserve")->click();
847     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
848     $this->verifyNoErrors();
849     // On valide l'instruction
850     $this->byId("action-sousform-instruction-finalisation")->click();
851     // On vérifie le message de validation
852     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
853     // On clique sur le bouton "Retour"
854     $this->byLinkText("Retour")->click();
855     // On clique sur l'événement "accepter un dossier sans réserve"
856     $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
857     // Récupération du numéro d'événement
858     $evenement = $this->byCssSelector("#instruction.field_value")->text();
859     /** Fin **/
860    
861     /** On met à jour la date de retour signature **/
862     // Date de retour signature
863     $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5, date("Y")));
864     // On clique sur le menu "Suivi"
865     $this->byLinkText("Suivi")->click();
866     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
867     $this->verifyNoErrors();
868     // On clique sur le sous-menu "Mise À Jour Des Dates"
869     $this->byLinkText("Mise À Jour Des Dates")->click();
870     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
871     $this->verifyNoErrors();
872     // On sélectionne "date de retour de signature + Envoi contrôle légalite"
873     $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
874     // On remplit à la date du jour + 5 jours
875     $this->byId("date")->value($date_retour_signature);
876     // On remplit le code barres de l'instruction
877     $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
878     // On clique sur Valider
879     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
880     // On vérifie la synthèse avec le numéro du dossier et l'événement
881     $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
882     $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
883     // On clique sur Valider
884     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
885     // On vérifie le message de validation
886     $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
887     /** Fin **/
888    
889     /** Vérifie l'instruction "retour" et le DI **/
890     // Date de validité
891 softime 2771 $date_validite = $this->mois_date(date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+5, date("Y"))), 5, "+");
892     $date_validite = date("d/m/Y", strtotime($date_validite));
893 softime 2562 // On clique sur le menu "Instruction"
894     $this->byLinkText("Instruction")->click();
895     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
896     $this->verifyNoErrors();
897     // On clique sur le sous-menu "Recherche"
898     $this->byLinkText("Recherche")->click();
899     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
900     $this->verifyNoErrors();
901 softime 2572 // On recherche le dossier crée
902     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
903     // On clique sur le bouton recherche
904     $this->byId("adv-search-submit")->click();
905     // On clique sur le résultat
906 softime 2562 $this->byLinkText($dossier)->click();
907     // On vérifie la date de validité mise à jour par l'action
908     $this->assertContains($date_validite, $this->byId("date_validite")->text());
909     // On clique sur l'onglet "Instruction"
910     $this->byId("instruction")->click();
911     // On clique sur l'instruction "retour signature"
912     $this->byLinkText("retour signature")->click();
913     // On contrôle la date de retour signature
914     $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
915     /** Fin **/
916    
917     // On se déconnecte
918     $this->logout();
919    
920     }
921 vpihour 2606
922     /**
923     * Test la suppression d'un événement d'instruction lié à une demande qui ne
924     * créée pas de nouveau dossier d'instruction
925     */
926     public function test_09_suppression_evenement_demande(){
927    
928     //Ajout du paramétrage d'une nouvelle demande
929     // On se connecte à l'application en tant qu'administrateur
930     $this->login("admin", "admin");
931     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
932     $this->verifyNoErrors();
933     //On clique sur "Paramétrage dossier"
934     $this->byLinkText("Paramétrage Dossiers")->click();
935     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
936     $this->verifyNoErrors();
937     //On clique sur Type
938     $this->byLinkText("Type")->click();
939     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
940     $this->verifyNoErrors();
941     //On clique sur le "+" du tableau
942     $this->byClassName("add-16")->click();
943     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
944     $this->verifyNoErrors();
945     //On saisit le type de la demande
946     $this->byId("code")->value("test_09_suppression");
947     $this->byId("libelle")->value("test_09_suppression");
948 softime 2633 // On sélectionne le groupe 'Autorisation ADS'
949 vpihour 2606 $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
950 softime 2633 // On sélectionne 'AZ (Demande d'autorisation spéciale de travaux dans
951     // le périmètre d'une AVAP)'
952 vpihour 2606 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
953 softime 2633 // On sélectionne la nature 'Dossier existant'
954 vpihour 2606 $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
955 softime 2633 // On sélectionne l'état 'En cours'
956 vpihour 2606 $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");
957 softime 2633 // On sélectionne l'événement 'Defrichement soumis a enquete publique'
958 vpihour 2606 $this->select($this->byId("evenement"))->selectOptionByValue("15");
959 softime 2633 // On sélectionne la contrainte 'Avec récupération demandeur'
960 vpihour 2606 $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
961     // On clique sur le bouton ajouter
962     $this->byXPath("//input[@value='Ajouter']")->click();
963     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
964     $this->verifyNoErrors();
965     // On vérifie que le type de demande a bien été ajouté
966     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
967     //On se déconnecte
968     $this->deconnect();
969    
970     //Création d'un nouveau dossier d'instruction
971     // On se connecte à l'application
972     $this->login("guichet", "guichet");
973     //On clique sur "Dossier En Cours"
974     $this->byLinkText("Dossier En Cours")->click();
975     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
976     $this->verifyNoErrors();
977     //On clique sur le dossier "AZ0130551200001P0"
978     $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
979     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
980     $this->verifyNoErrors();
981     //On sélectionne le type de la demande
982     $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
983     // On clique sur le bouton ajouter
984     $this->byXPath("//input[@value='Ajouter']")->click();
985     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
986     $this->verifyNoErrors();
987     // On vérifie que le type de demande a bien été ajouté
988     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
989     //On se déconnecte
990     $this->deconnect();
991    
992     //Suppression de l'événement d'instruction
993     // On se connecte à l'application
994     $this->login("admin", "admin");
995     //On clique sur le menu "Instruction"
996     $this->byLinkText("Instruction")->click();
997     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
998     $this->verifyNoErrors();
999     //On clique sur le menu "Recherche"
1000     $this->byLinkText("Recherche")->click();
1001     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1002     $this->verifyNoErrors();
1003     //On clique sur le dossier "AZ 013055 12 00001P0"
1004     $this->byLinkText("AZ 013055 12 00001P0")->click();
1005     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1006     $this->verifyNoErrors();
1007     //On clique sur l'onglet "Instruction"
1008     $this->byId("instruction")->click();
1009     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1010     $this->verifyNoErrors();
1011     //On clique sur l'instruction "Defrichement soumis a enquete publique"
1012     $this->byLinkText("Defrichement soumis a enquete publique")->click();
1013     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1014     $this->verifyNoErrors();
1015     //On définalise l'instruction
1016     $this->byClassName("definalise")->click();
1017     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1018     $this->verifyNoErrors();
1019     //On clique "Supprimer"
1020     $this->byCssSelector("#sousform-instruction .delete-16")->click();
1021     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1022     $this->verifyNoErrors();
1023     //On clique sur supprimer
1024     $this->byXPath("//input[@value='Supprimer']")->click();
1025     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1026     $this->verifyNoErrors();
1027     //On vérifie que lasuppression a été éffectuée
1028     $this->assertContains("La suppression a été correctement effectuée.",
1029     $this->byCssSelector("#sousform-instruction .message .text")->text());
1030     // On se déconnecte
1031     $this->logout();
1032     }
1033 softime 2613
1034 softime 2630 /**
1035     * Test sur les types d'éditions des consultations
1036     */
1037 vpihour 2621 function test_10_nouveau_type_edition_consultation(){
1038    
1039     //On saisit un service de test
1040     // On se connecte à l'application
1041     $this->login("admin", "admin");
1042     //On clique sur "Paramétrage"
1043     $this->byLinkText("Paramétrage")->click();
1044     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1045     $this->verifyNoErrors();
1046     //On clique sur "Service"
1047     $this->byLinkText("Service")->click();
1048     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1049     $this->verifyNoErrors();
1050     //On clique sur le "+" du tableau
1051     $this->byClassName("add-16")->click();
1052     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1053     $this->verifyNoErrors();
1054     //On saisit les données du service
1055     $this->byId("abrege")->value("test_10");
1056     $this->byId("libelle")->value("test_10");
1057     $this->byId("consultation_papier")->click();
1058 vpihour 2631 $this->select($this->byId("edition"))->selectOptionByLabel("test_10");
1059 vpihour 2621 // On clique sur le bouton ajouter
1060     $this->byXPath("//input[@value='Ajouter']")->click();
1061     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1062     $this->verifyNoErrors();
1063     // On vérifie que le service a bien été ajouté
1064     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1065     //On se déconnecte
1066     $this->deconnect();
1067    
1068     //On ajoute une consultation sur un dossier et on vérifie l'édition
1069     // On se connecte à l'application
1070     $this->login("instr", "instr");
1071     //On clique sur "Recherche"
1072     $this->byLinkText("Recherche")->click();
1073     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1074     $this->verifyNoErrors();
1075     //On choisit le dossier "AZ 013055 12 00001P0"
1076     $this->byLinkText("AZ 013055 12 00001P0")->click();
1077     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1078     $this->verifyNoErrors();
1079     //On clique sur l'onglet "Consultation"
1080     $this->byId("consultation")->click();
1081     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1082     $this->verifyNoErrors();
1083     //On clique sur le "+" du tableau
1084     $this->byClassName("add-16")->click();
1085     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1086     $this->verifyNoErrors();
1087     //On saist une nouvelle consultation
1088     $this->select($this->byId("service"))->selectOptionByLabel("test_10");
1089     // On clique sur le bouton ajouter
1090     $this->byXPath("//input[@value='Ajouter']")->click();
1091     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1092     $this->verifyNoErrors();
1093     // On vérifie que la consultation a bien été ajoutée
1094     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1095     //On clique sur retour
1096     $this->byCssSelector("#sousform-consultation .retour")->click();
1097     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1098     $this->verifyNoErrors();
1099     //On clique sur la consultation au service "test_10"
1100     $this->byLinkText("test_10")->click();
1101     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1102     $this->verifyNoErrors();
1103     //On affiche le PDF
1104     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1105     // Liste les fenêtres
1106     $windows = $this->windowHandles();
1107     // Change la fenêtre
1108     $this->window($windows[1]);
1109     // On vérifie qu'il n'y ait pas d'erreur
1110     $this->verifynoerrors();
1111     // On vérifie que le text est présent
1112     $this->assertContains("test_10",$this->source());
1113     $this->assertNotContains("test_10_2",$this->source());
1114     // On ferme la fenêtre
1115     $this->closeWindow();
1116     // On change le focus de la fenêtre
1117     $this->window($windows[0]);
1118     //On se déconnecte
1119     $this->deconnect();
1120    
1121     //On change l'édition
1122     // On se connecte à l'application
1123     $this->login("admin", "admin");
1124     //On clique sur "Paramétrage"
1125     $this->byLinkText("Paramétrage")->click();
1126     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1127     $this->verifyNoErrors();
1128     //On clique sur "Service"
1129     $this->byLinkText("Service")->click();
1130     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1131     $this->verifyNoErrors();
1132     //On cherche le service
1133     $this->byName("recherche")->value("test_10");
1134     //On valide
1135     $this->byName("s1")->click();
1136     //On clique sur le service test_10
1137     $this->byLinkText("test_10")->click();
1138     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1139     $this->verifyNoErrors();
1140     //On clique sur "Modifier" dans le portail d'action
1141     $this->byClassName("edit-16")->click();
1142     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1143     $this->verifyNoErrors();
1144     //On choisit une seconde édition
1145 vpihour 2631 $this->select($this->byId("edition"))->selectOptionByLabel("test_10_2");
1146 vpihour 2621 // On clique sur le bouton ajouter
1147     $this->byXPath("//input[@value='Modifier']")->click();
1148     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1149     $this->verifyNoErrors();
1150     // On vérifie que le service a bien été ajouté
1151     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1152     //On se déconnecte
1153     $this->deconnect();
1154    
1155     //On vérifie que c'est la bonne édition qui est affiché
1156     // On se connecte à l'application
1157     $this->login("instr", "instr");
1158     //On clique sur "Recherche"
1159     $this->byLinkText("Recherche")->click();
1160     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1161     $this->verifyNoErrors();
1162     //On choisit le dossier "AZ 013055 12 00001P0"
1163     $this->byLinkText("AZ 013055 12 00001P0")->click();
1164     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1165     $this->verifyNoErrors();
1166     //On clique sur l'onglet "Consultation"
1167     $this->byId("consultation")->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 definalise la consultaion
1175     $this->byClassName("definalise")->click();
1176     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1177     $this->verifyNoErrors();
1178     //On vérifie que la consultation s'est bien définalisée
1179     $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(10);
1180     //On affiche le PDF
1181     $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1182     // Liste les fenêtres
1183     $windows = $this->windowHandles();
1184     // Change la fenêtre
1185     $this->window($windows[1]);
1186     // On vérifie qu'il n'y ait pas d'erreur
1187     $this->verifynoerrors();
1188     // On vérifie que le text est présent
1189     $this->assertContains("test_10_2",$this->source());
1190     // On ferme la fenêtre
1191     $this->closeWindow();
1192     // On change le focus de la fenêtre
1193     $this->window($windows[0]);
1194    
1195     // On se déconnecte
1196     $this->logout();
1197     }
1198    
1199 softime 2613 /**
1200     * Test sur un événement non verrouillable
1201     */
1202 softime 2630 public function test_11_evenement_non_verrouillable(){
1203 softime 2613
1204     /* On crée une nouvelle demande initial */
1205     // On se connecte à l'application
1206     $this->login("guichet", "guichet");
1207     // On clique sur le menu "Nouveau Dossier"
1208     $this->byLinkText("Nouveau Dossier")->click();
1209     // On vérifie qu'il n'y ait pas d'erreur
1210     $this->verifynoerrors();
1211     // On vérifie le nom de l'onglet
1212     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
1213 nmeucci 2634 // On sélectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
1214 softime 2613 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
1215 nmeucci 2634 // On selectionne le label "Dépôt Initial"
1216 softime 2613 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
1217     // On clique pour ajouter un pétitionnaire principale
1218     $this->byId("add_petitionnaire_principal")->click();
1219     // On remplit le champ
1220     $this->byId("particulier_nom")->value("DURAND");
1221     // On remplit le champ
1222     $this->byId("particulier_prenom")->value("MICKAEL");
1223     // On remplit le champ
1224     $this->byId("particulier_date_naissance")->value("03/01/1956");
1225     // On remplit le champ
1226     $this->byId("particulier_commune_naissance")->value("LILLE");
1227     // On remplit le champ
1228     $this->byId("particulier_departement_naissance")->value("NORD");
1229     // On remplit le champ
1230     $this->byId("numero")->value("12");
1231     // On remplit le champ
1232     $this->byId("voie")->value("RUE DE LA LOI");
1233     // On remplit le champ
1234     $this->byId("complement")->value("APPT 12");
1235     // On remplit le champ
1236     $this->byId("localite")->value("MARSEILLE");
1237     // On remplit le champ
1238     $this->byId("code_postal")->value("13012");
1239     // On remplit le champ
1240     $this->byId("telephone_fixe")->value("0404040404");
1241     // On clique sur ajouter
1242     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1243     // On vérifie qu'il n'y ait pas d'erreur
1244     $this->verifynoerrors();
1245     // On vérifie le message
1246     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1247     // On clique sur le bouton retour
1248     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1249     // On vérifie que le text est présent
1250     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1251     // On clique sur ajouter
1252     $this->byXPath("//input[@value='Ajouter']")->click();
1253     // On vérifie qu'il n'y ait pas d'erreur
1254     $this->verifynoerrors();
1255     // On vérifie le message
1256     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
1257     // Récupération du numéro de dossier
1258     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
1259     $dossier_libelle = $matches[0];
1260     $dossier = str_replace(' ', '', $dossier_libelle);
1261     $dossier_dir = substr_replace($dossier, '.', -2, -3);
1262     // On clique
1263     $this->byCssSelector("a.lien")->click();sleep(5);
1264     // Liste les fenêtres
1265     $windows = $this->windowHandles();
1266     // Change la fenêtre
1267     $this->window($windows[1]);
1268     // On vérifie qu'il n'y ait pas d'erreur
1269     $this->verifynoerrors();
1270     // On vérifie que le text est présent
1271     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
1272     // On ferme la fenêtre
1273     $this->closeWindow();
1274     // On change le focus de la fenêtre
1275     $this->window($windows[0]);
1276     // On clique sur le bouton retour
1277     $this->byLinkText("Retour")->click();
1278     // On vérifie qu'il n'y ait pas d'erreur
1279     $this->verifynoerrors();
1280     // On vérifie que le répertoire s'est crée
1281     $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
1282     // On se déconnecte
1283     $this->deconnect();
1284     /* Fin */
1285    
1286     /* On accepte le dossier d'instruction et le finalise */
1287     // On se connecte à l'application
1288     $this->login("instr", "instr");
1289     // On clique sur le menu 'Recherche'
1290     $this->byLinkText("Recherche")->click();
1291     // On recherche le dossier crée
1292     $this->byId("dossier")->value($dossier);
1293     // On clique sur le bouton recherche
1294     $this->byId("adv-search-submit")->click();
1295     // On clique sur le résultat
1296     $this->byLinkText($dossier_libelle)->click();
1297     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1298     $this->verifyNoErrors();
1299     // On clique sur l'onglet "Instruction"
1300     $this->byId("instruction")->click();
1301     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1302     $this->verifyNoErrors();
1303     // On clique sur le lien d'ajout dans le tableau
1304     $this->byCssSelector(".actions-max-1 a")->click();
1305     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1306     $this->verifyNoErrors();
1307     // On choisi un événement
1308     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
1309     // On valide le formulaire
1310     $this->byXPath("//input[@value='Ajouter']")->click();
1311     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1312     $this->verifyNoErrors();
1313     sleep(1);
1314     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
1315     // On retourne sur le tableau d'instructions
1316     $this->byCssSelector("#sousform-instruction .retour")->click();
1317     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1318     $this->verifyNoErrors();
1319     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
1320     $this->byLinkText("accepter un dossier sans réserve")->click();
1321     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1322     $this->verifyNoErrors();
1323     // On valide l'instruction (un événement verrouillable ne pourrait pas
1324     // être finalisé)
1325     $this->byId("action-sousform-instruction-finalisation")->click();
1326     // On vérifie le message de validation
1327     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1328     /* Fin */
1329     }
1330 vpihour 2631
1331     /**
1332     * Test que les données du dossier d'autorisation sont recopiés dans les
1333     * champs 'archive_' de l'événement d'instruction de la création du nouveau
1334     * dossier d'instruction
1335     */
1336 vpihour 2643 public function test_12_recopie_donnees_da_vers_nouveau_di(){
1337 vpihour 2631
1338     //{{{ Ajout de d'un nouveau dossier
1339     // On se connecte à l'application
1340     $this->login("guichet", "guichet");
1341     //On clique sur le menu des instructions
1342     $this->byLinkText("Nouveau Dossier")->click();
1343     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1344     $this->verifyNoErrors();
1345     //On ajoute un nouveau dossier
1346     $dossier = $this->addDossierInstruction( 1, 1);
1347     // On se déconnecte
1348     $this->deconnect();
1349     //}}}
1350    
1351     //{{{ Clôture du nouveau dossier
1352     // On se connecte à l'application
1353     $this->login("instr", "instr");
1354     //On clique sur le menu "Recherche"
1355     $this->byLinkText("Recherche")->click();
1356     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1357     $this->verifyNoErrors();
1358 softime 2653 // On recherche le dossier crée
1359     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1360     // On clique sur le bouton recherche
1361     $this->byId("adv-search-submit")->click();
1362     // On clique sur le résultat
1363 vpihour 2631 $this->byLinkText($dossier)->click();
1364     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1365     $this->verifyNoErrors();
1366     //On clique sur l'onglet "instruction"
1367     $this->byId("instruction")->click();
1368     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1369     $this->verifyNoErrors();
1370     // On ajoute une instruction
1371     $this->byCssSelector("#sousform-instruction .add-16")->click();
1372     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1373     $this->verifyNoErrors();
1374 softime 2648 //On choisit l'instruction 'accepter un dossier sans réserve
1375     //[acceptation]'
1376 vpihour 2631 $this->select($this->byId("evenement"))->selectOptionByValue(81);
1377     // On clique sur ajouter
1378     $this->byXPath("//input[@value='Ajouter']")->click();
1379     // On vérifie qu'il n'y ait pas d'erreur
1380     $this->verifynoerrors();
1381     // On vérifie le message
1382     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1383     //On rafraichit la page pour vérifier que le dossier est clôturé
1384     $this->refresh();
1385     $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1386     // On se déconnecte
1387     $this->deconnect();
1388     //}}}
1389    
1390     //{{{ Ajout de l'action
1391     // On se connecte à l'application
1392     $this->login("admin", "admin");
1393     //On clique sur le menu "Paramétrage dossiers"
1394     $this->byLinkText("Paramétrage Dossiers")->click();
1395     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1396     $this->verifyNoErrors();
1397     //On clique sur le menu "Action"
1398     $this->byLinkText("Action")->click();
1399     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1400     $this->verifyNoErrors();
1401     //On clique sur le "+" du tableau
1402     $this->byClassName("add-16")->click();
1403     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1404     $this->verifyNoErrors();
1405     //On remplit la règle de calcul de la date de validité
1406     $this->byId("action")->value("test_12_recopie_donnees");
1407     $this->byId("libelle")->value("test_12_recopie_donnees");
1408 vpihour 2643 $this->byId("regle_date_validite")->value("archive_date_validite+12");
1409 vpihour 2631 // On clique sur ajouter
1410     $this->byXPath("//input[@value='Ajouter']")->click();
1411     // On vérifie qu'il n'y ait pas d'erreur
1412     $this->verifynoerrors();
1413     // On vérifie le message
1414     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1415     //}}}
1416    
1417     //{{{ Ajout de l'événement
1418     //On clique sur le menu "Événement"
1419     $this->byLinkText("Événement")->click();
1420     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1421     $this->verifyNoErrors();
1422     //On clique sur le "+" du tableau
1423     $this->byClassName("add-16")->click();
1424     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1425     $this->verifyNoErrors();
1426     //On remplit l'événement qui va être ajouté avec la nouvelle demande
1427     $this->byId("libelle")->value("test_12_recopie_donnees");
1428     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByValue("accepter");
1429 softime 2648 // On sélectionne PCI - P - Initial
1430 vpihour 2631 $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByValue(1);
1431 vpihour 2643 $this->select($this->byName("action"))->selectOptionByLabel("test_12_recopie_donnees");
1432 vpihour 2631 // On clique sur ajouter
1433     $this->byXPath("//input[@value='Ajouter']")->click();
1434     // On vérifie qu'il n'y ait pas d'erreur
1435     $this->verifynoerrors();
1436     // On vérifie le message
1437     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1438     //}}}
1439    
1440     //{{{ Ajout du type de dossier d'instruction
1441     //On clique sur le menu "Type DI"
1442     $this->byLinkText("Type DI")->click();
1443     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1444     $this->verifyNoErrors();
1445     //On clique sur le "+" du tableau
1446     $this->byClassName("add-16")->click();
1447     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1448     $this->verifyNoErrors();
1449     //On remplit le type de la demande
1450     $this->byId("code")->value("DT");
1451     $this->byId("libelle")->value("test_12_recopie_donnees");
1452 softime 2648 // On sélectionne PCI (Permis de construire pour une maison individuelle
1453     // et / ou ses annexes)
1454 vpihour 2631 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);sleep(1);
1455     $this->byId("suffixe")->click();
1456     // On clique sur ajouter
1457     $this->byXPath("//input[@value='Ajouter']")->click();
1458     // On vérifie qu'il n'y ait pas d'erreur
1459     $this->verifynoerrors();
1460     // On vérifie le message
1461     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1462     //}}}
1463    
1464     //{{{ Ajout du type de la demande
1465     //On clique sur le menu "Type"
1466     $this->byLinkText("Type")->click();
1467     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1468     $this->verifyNoErrors();
1469     //On clique sur le "+" du tableau
1470     $this->byClassName("add-16")->click();
1471     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1472     $this->verifyNoErrors();
1473     //On remplit le type de la demande
1474     $this->byId("code")->value("test_12_recopie_donnees");
1475     $this->byId("libelle")->value("test_12_recopie_donnees");
1476 softime 2648 // On sélectionne Autorisation ADS
1477 vpihour 2631 $this->select($this->byId("groupe"))->selectOptionByValue(1);sleep(1);
1478 softime 2648 // On sélectionne PCI (Permis de construire pour une maison individuelle
1479     // et / ou ses annexes)
1480 vpihour 2631 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1481 softime 2648 // On sélectionne Dossier existant
1482 vpihour 2631 $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1483 softime 2648 // On sélectionne Accordé
1484 vpihour 2631 $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1485     $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1486     $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1487     // On clique sur ajouter
1488     $this->byXPath("//input[@value='Ajouter']")->click();
1489     // On vérifie qu'il n'y ait pas d'erreur
1490     $this->verifynoerrors();
1491     // On vérifie le message
1492     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1493     //On clique sur retour
1494     $this->byClassName("retour")->click();
1495     // On vérifie qu'il n'y ait pas d'erreur
1496     $this->verifynoerrors();
1497     //On saisit le libellé du type de la demande saisit
1498     $this->byName("recherche")->value("test_12_recopie_donnees");
1499     //On valide
1500     $this->byName("s1")->click();
1501     // On vérifie qu'il n'y ait pas d'erreur
1502     $this->verifynoerrors();
1503     //On clique sur le type de la demande
1504     $this->byLinkText("test_12_recopie_donnees")->click();
1505     // On vérifie qu'il n'y ait pas d'erreur
1506     $this->verifynoerrors();
1507     //On récupère l'identifiant du type de la demande
1508     $demande_type = $this->byId("demande_type")->text();
1509     // On se déconnecte
1510     $this->deconnect();
1511     //}}}
1512    
1513     //{{{ Ajout de d'un nouveau dossier
1514     // On se connecte à l'application
1515     $this->login("guichet", "guichet");
1516     //On clique sur le menu des instructions
1517     $this->byLinkText("Dossier En Cours")->click();
1518     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1519     $this->verifyNoErrors();
1520     //On ajoute un nouveau dossier
1521     $dossier = $this->addDossierInstruction( 1, $demande_type, 2, str_replace(" ", "", $dossier));
1522     // On se déconnecte
1523     $this->deconnect();
1524     //}}}
1525    
1526     //{{{ Vérification de la date de validité
1527     // On se connecte à l'application
1528     $this->login("instr", "instr");
1529     //On clique sur le menu "Recherche"
1530     $this->byLinkText("Recherche")->click();
1531     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1532     $this->verifyNoErrors();
1533 softime 2682 // On recherche le dossier crée
1534     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1535     // On clique sur le bouton recherche
1536     $this->byId("adv-search-submit")->click();
1537     // On clique sur le résultat
1538 vpihour 2631 $this->byLinkText($dossier)->click();
1539     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1540     $this->verifyNoErrors();
1541     //On vérifie la date de validité
1542 softime 2771 $date_validite = $this->mois_date(date("Y-m-d"), 12, "+");
1543     $date_validite = date("d/m/Y", strtotime($date_validite));
1544     $this->assertEquals($date_validite, $this->byId("date_validite")->text());
1545 vpihour 2631 // On se déconnecte
1546     $this->deconnect();
1547     //}}}
1548     }
1549    
1550     /**
1551     * Ajout d'un dossier d'instruction par le guichet unique
1552     *
1553     * @param int $dossier_autorisation_type_detaille L'identifiant du type détaillé
1554     * de dossier d'autorisation
1555     * @param int $demande_type L'identifiant du type de la demande
1556     * @param int $type Type de la demande : nouveau dossier ou dossier existant
1557     * @return le numéro de dossier d'instruction qui vient d'être créé
1558     */
1559     public function addDossierInstruction($dossier_autorisation_type_detaille,
1560     $demande_type, $type = 1, $dossier = "" ){
1561    
1562     if ($type===1){
1563     //On choisit le type détaillé de dossier d'autorisation
1564     $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue($dossier_autorisation_type_detaille);
1565     }
1566     else {
1567 nhaye 2661 sleep(2);
1568 softime 2676 // On remplit le champ de recherche simple
1569     $this->byCssSelector("input[name='recherche']")->value(str_replace(' ', '', $dossier));
1570     // On clique sur le bouton recherche
1571 softime 2740 $this->byCssSelector(".ui-button")->click();sleep(1);
1572 softime 2676 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1573     $this->verifyNoErrors();
1574     // On clique sur le résultat
1575 softime 2741 $this->byId("action-tab-demande_dossier_encours-left-consulter-".str_replace(' ', '', $dossier))->click();
1576 softime 2676 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1577     $this->verifyNoErrors();
1578 vpihour 2631 }
1579     //On choisit le type de demande
1580     $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
1581     //On clique sur "Saisir le pétitionnaire principal"
1582     $this->byId("add_petitionnaire_principal")->click();
1583     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1584     $this->verifyNoErrors();
1585     //On saisie le nom du pétitionnaire principal
1586     $this->byId("particulier_nom")->value("test recopie");
1587     // On clique sur ajouter
1588     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1589     // On vérifie qu'il n'y ait pas d'erreur
1590     $this->verifynoerrors();
1591     //On vérifie que le pétitionnaire s'est bien ajouté
1592     // On vérifie le message
1593     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1594     // On clique sur le bouton retour
1595     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1596     // On vérifie que le text est présent
1597     $this->assertContains("test recopie",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1598     // On clique sur ajouter
1599     $this->byXPath("//input[@value='Ajouter']")->click();
1600     // On vérifie qu'il n'y ait pas d'erreur
1601     $this->verifynoerrors();
1602     // On vérifie le message
1603     $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
1604     //On récupère le numéro de dossier d'instruction créé
1605     if ($type===1){
1606     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1607     }
1608     else{
1609     preg_match('/(PC)[0-9 ]*(DT1)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1610     }
1611     return $dossier[0];
1612     }
1613 fmichon 1664 }
1614    
1615     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26