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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2606 - (hide annotations)
Thu Dec 12 18:05:40 2013 UTC (11 years, 1 month ago) by vpihour
File size: 52528 byte(s)
Ajout de la possibilité pour l'administrateur de pouvoir supprimer un événement d'instruction qui est lié à une demande qui n'avait pas créé un nouveau dossier d'instruction.

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 vpihour 2078 // On se connecte en tant que "instr"
281     $this->login("instr", "instr");
282     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283     $this->verifyNoErrors();
284     // On clique sur le lien "Mes encours" dans le menu
285     $this->byLinkText("Mes Encours")->click();
286     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
287     $this->verifyNoErrors();
288 nhaye 2107 sleep(1);
289 softime 2605 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
290 softime 2112 $this->byLinkText("DP 013055 12 00001P0")->click();
291 vpihour 2078 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
292     $this->verifyNoErrors();
293     // On clique sur l'onglet "Instruction"
294     $this->byId("instruction")->click();
295     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
296     $this->verifyNoErrors();
297     //Ajout d'une instruction simple
298     // On clique sur le lien d'ajout dans le tableau
299     $this->byCssSelector(".actions-max-1 a")->click();
300     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
301     $this->verifyNoErrors();
302     //On choisi un événement
303     $this->select($this->byId("evenement"))->selectOptionByValue("22");
304     //On valide le formulaire
305     $this->byXPath("//input[@value='Ajouter']")->click();
306 softime 2305 // On vérifie le mesage d'erreur
307     $this->assertRegExp('/.*Restriction non valide*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
308     // On se déconnecte
309     $this->deconnect();
310     // On se connecte en tant que "admin"
311     $this->login("admin", "admin");
312 vpihour 2078 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
313     $this->verifyNoErrors();
314 softime 2305 // On clique sur le lien "Paramétrage Dossiers" dans le menu
315     $this->byLinkText("Paramétrage Dossiers")->click();
316     // On clique sur le sousmenu "Événement"
317     $this->byLinkText("Événement")->click();
318     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319     $this->verifyNoErrors();
320     // On remplis le champs de recherche simple
321     $this->byCssSelector("input[name='recherche']")->value('CDEC');
322     // On clique sur le bouton recherche
323     $this->byCssSelector(".ui-button")->click();
324     // On clique sur le résultat
325     $this->byLinkText("CDEC majoration appel decision")->click();
326     // On clique sur le bouton "Modifier"
327     $this->byId('action-form-evenement-modifier')->click();
328     // On modifie le champ restriction pour qu'il ne retourne pas d'erreur
329     // au moment de l'ajout de l'instruction
330     $this->byId('restriction')->clear();
331     $this->byId('restriction')->value("date_evenement <= date_evenement + 1");
332     // On valide la modification
333     $this->byCssSelector("input[value='Modifier']")->click();
334     // On vérifie le message de validation
335     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
336     // On se déconnecte
337     $this->deconnect();
338     // On se connecte en tant que "instr"
339     $this->login("instr", "instr");
340     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
341     $this->verifyNoErrors();
342     // On clique sur le lien "Mes encours" dans le menu
343     $this->byLinkText("Mes Encours")->click();
344     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
345     $this->verifyNoErrors();
346 vpihour 2078 sleep(1);
347 softime 2605 // On clique sur le lien "DP 013055 12 00001P0" dans le tableau
348 softime 2305 $this->byLinkText("DP 013055 12 00001P0")->click();
349     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
350     $this->verifyNoErrors();
351     // On clique sur l'onglet "Instruction"
352     $this->byId("instruction")->click();
353     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
354     $this->verifyNoErrors();
355     //Ajout d'une instruction simple
356     // On clique sur le lien d'ajout dans le tableau
357     $this->byCssSelector(".actions-max-1 a")->click();
358     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
359     $this->verifyNoErrors();
360     //On choisi un événement
361     $this->select($this->byId("evenement"))->selectOptionByValue("22");
362     //On valide le formulaire
363     $this->byXPath("//input[@value='Ajouter']")->click();
364     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
365     $this->verifyNoErrors();
366     sleep(1);
367 vpihour 2078 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
368     //On retourne sur le tableau d'instructions
369     $this->byCssSelector("#sousform-instruction .retour")->click();
370     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
371     $this->verifyNoErrors();
372     //On affiche l'instruction
373     $this->byLinkText("CDEC majoration appel decision")->click();
374     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
375     $this->verifyNoErrors();
376     //On vérifie que certains champs n'apparaissent pas
377     $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
378     $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
379     //On retourne sur le tableau d'instructions
380     $this->byCssSelector("#sousform-instruction .retour")->click();
381     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382     $this->verifyNoErrors();
383     //Ajout d'une instruction de type arrêté
384     // On clique sur le lien d'ajout dans le tableau
385     $this->byCssSelector(".actions-max-1 a")->click();
386     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
387     $this->verifyNoErrors();
388 softime 2408 //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
389 vpihour 2078 $this->select($this->byId("evenement"))->selectOptionByValue("81");
390 softime 2408 // On clique sur la bible
391     $this->byLinkText('bible')->click();
392     // On vérifie qu'il y est les enregistrments "V56" et "V64"
393     $this->assertRegExp('/^[\s\S]*V56[\s\S]*$/',
394     $this->byCssSelector("#tab-bible")->text());
395     $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
396     $this->byCssSelector("#tab-bible")->text());
397     // On choisit plusieurs éléments
398     $this->byId('checkbox0')->click();
399     $this->byId('checkbox1')->click();
400     // On valide le formulaire
401     $this->byXPath("//input[@value='Valider']")->click();
402     // On vérifie le contenu du champ "complément"
403     $this->assertRegExp('/^[\s\S]*Vu l\'avis favorable de l\'Architecte des Bâtiments de France en date du[\s\S]*$/', $this->byCssSelector("#complement")->text());
404     $this->assertRegExp('/^[\s\S]*Vu l\'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du[\s\S]*$/', $this->byCssSelector("#complement")->text());
405     // On valide le formulaire
406 vpihour 2078 $this->byXPath("//input[@value='Ajouter']")->click();
407     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
408     $this->verifyNoErrors();
409     sleep(1);
410     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
411     //On retourne sur le tableau d'instructions
412     $this->byCssSelector("#sousform-instruction .retour")->click();
413     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
414     $this->verifyNoErrors();
415     //On affiche l'instruction
416     $this->byLinkText("accepter un dossier sans réserve")->click();
417     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418     $this->verifyNoErrors();
419     //On vérifie que certains champs apparaissent
420     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
421     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
422     // On se déconnecte
423     $this->logout();
424     }
425 nhaye 2088
426 nhaye 2107 /**
427 nhaye 2088 * Test le formulaire de la demande de type qui possède des select filtrés
428     */
429     public function test_05_ajout_lot() {
430     // On se connecte en tant que "instr"
431     $this->login("instr", "instr");
432     // On clique sur le lien "Mes encours" dans le menu
433     $this->byLinkText("Mes Encours")->click();
434     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
435     $this->verifyNoErrors();
436     // On clique sur le lien "AZ0130551200001P0" dans le tableau
437 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
438 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
439     $this->verifyNoErrors();
440     // On clique sur l'onglet "Lot(s)"
441     $this->byId("lot")->click();
442     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
443     $this->verifyNoErrors();
444     // On clique sur le bouton d'ajout de lots
445     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
446     // Vérification des champs obligatoires
447     $this->byXPath("//input[@value='Ajouter']")->click();
448     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
449     $this->verifyNoErrors();
450     // On vérifie que le message de champ vide soit affiché
451     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
452     // Insertion d'un lot
453     $this->byId("libelle")->value("Lot n°1");
454     $this->byXPath("//input[@value='Ajouter']")->click();
455     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
456     $this->verifyNoErrors();
457 nhaye 2118 sleep(1);
458 nhaye 2088 // On retourne sur le tableau listant les lots
459     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
460     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
461     $this->verifyNoErrors();
462     // On clique sur le bouton d'ajout de lots
463     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
464     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
465     $this->verifyNoErrors();
466     // Insertion d'un second lot
467     $this->byId("libelle")->value("Lot n°2");
468     $this->byXPath("//input[@value='Ajouter']")->click();
469 nhaye 2107 sleep(1);
470 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
471     $this->verifyNoErrors();
472     // On retourne sur le tableau listant les lots
473     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
474     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
475     $this->verifyNoErrors();
476 nhaye 2107 // On se déconnecte
477     $this->logout();
478 nhaye 2088 }
479 nhaye 2107
480     /**
481     * Test du lien automatique entre choix autorité compétente dans DI et
482     * évènement d'instruction à créer
483     */
484 softime 2605 // Fonction privé
485     private function modification_autorite_competente($utilisateur) {
486     // On se connecte à l'application
487     $this->login($utilisateur["login"], $utilisateur["mdp"]);
488     // Ouvre le menu
489     $this->openMenu("Instruction", $utilisateur);
490 nhaye 2107 // On clique sur le lien "Mes encours" dans le menu
491 softime 2605 $this->byLinkText("Recherche")->click();
492 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
493     $this->verifyNoErrors();
494     // On clique sur le lien "AZ0130551200001P0" dans le tableau
495 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
496 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
497     $this->verifyNoErrors();
498     // On clique sur l'onglet "Instruction"
499     $this->byId("instruction")->click();
500     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
501     $this->verifyNoErrors();
502     // On clique sur le bouton d'ajout de lots
503     $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
504     // Vérification des champs obligatoires
505     $this->byXPath("//input[@value='Ajouter']")->click();
506     sleep(1);
507     //On choisi un événement
508     $this->select($this->byId("evenement"))->selectOptionByValue("94");
509     // Validation du formulaire
510     $this->byXPath("//input[@value='Ajouter']")->click();
511     sleep(1);
512     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
513     $this->verifyNoErrors();
514     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
515     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
516     // Retour à l'onglet principal
517     $this->byId("main")->click();
518     $this->refresh();
519     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
520     $this->verifyNoErrors();
521     // On verifie que l'autorité compétente à changée.
522     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
523     // On se déconnecte
524     $this->deconnect();
525 softime 2605
526 nhaye 2107 // On se connecte en tant que "admin"
527     $this->login("admin", "admin");
528     sleep(1);
529     $this->byLinkText("Instruction")->click();
530     // On clique sur le lien "Recherche" dans le menu
531     $this->byLinkText("Recherche")->click();
532     // On clique sur le lien "AZ0130551200001P0" dans le tableau
533 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
534 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
535     $this->verifyNoErrors();
536     // On verifie que l'autorité compétente à changée.
537     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
538     // On clique sur l'onglet "Instruction"
539     $this->byId("instruction")->click();
540     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
541     sleep(1);
542     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
543     $this->verifyNoErrors();
544     $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
545     // On supprime l'element et on verifie le retour de l'autorité "commune"
546     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
547     // Retour à l'onglet principal
548     $this->byId("main")->click();
549     $this->refresh();
550     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
551     $this->verifyNoErrors();
552     // On verifie que l'autorité compétente à changée.
553     $this->assertRegExp('/.*Commune*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
554     // On se déconnecte
555 softime 2605 $this->deconnect();
556 nhaye 2107 }
557 softime 2605 // Fonction public
558     public function test_06_modification_autorite_competente() {
559     // Récupération des utilisateurs
560     $utilisateurs = $this->listUtlisateurs;
561     // Pour chaque utilisateur on lance le test
562     foreach ($utilisateurs as $utilisateur) {
563     //
564     $this->modification_autorite_competente($utilisateur);
565     }
566     // On vérifie la déconnexion
567     $this->verifyDeconnect();
568     }
569 nhaye 2107
570 nhaye 2116 /**
571     * Test de l'ajout de données techniques au dossier
572     */
573     public function test_07_edition_donnees_techniques() {
574     // On se connecte en tant que "instr"
575 nhaye 2118 $this->login("admin", "admin");
576     sleep(1);
577     // Ouverture du menu de paramétrage des dossiers
578     $this->byLinkText("Paramétrage Dossiers")->click();
579     // Ouverture du menu des cerfa
580     $this->byLinkText("Cerfa")->click();
581     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
582     $this->verifyNoErrors();
583     // Ouverture d'un cerfa
584     $this->byLinkText("cerfa de test n°1")->click();
585     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
586     $this->verifyNoErrors();
587     // Modification du cerfa affiché
588     $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
589     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
590     $this->verifyNoErrors();
591     // Ajout de champs au formulaire des données techniques
592     $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
593     $this->byId("terr_juri_titul")->click();
594     $this->byId("terr_juri_lot")->click();
595     $this->byId("terr_juri_zac")->click();
596     $this->byId("terr_juri_afu")->click();
597     $this->byId("terr_juri_pup")->click();
598     $this->byId("terr_juri_oin")->click();
599     $this->byId("terr_juri_desc")->click();
600     // Validation du formulaire
601     $this->byXPath("//input[@value='Modifier']")->click();
602     // Vérification des erreurs
603     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
604     $this->byLinkText("Retour")->click();
605     // On se déconnecte
606     $this->deconnect();
607     // On se connecte en tant que "instr"
608 nhaye 2116 $this->login("instr", "instr");
609     // On clique sur le lien "Mes encours" dans le menu
610     $this->byLinkText("Mes Encours")->click();
611     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
612     $this->verifyNoErrors();
613     // On clique sur le lien "AZ0130551200001P0" dans le tableau
614     $this->byLinkText("AZ 013055 12 00001P0")->click();
615     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
616     $this->verifyNoErrors();
617     // On click sur le lien "Données techniques"
618     $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
619     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
620     $this->verifyNoErrors();
621 nhaye 2118 sleep(1);
622     // Modification des données techniques
623     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
624     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
625     $this->verifyNoErrors();
626     sleep(1);
627     $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());
628 nhaye 2116 // Validation du formulaire
629     $this->byXPath("//input[@value='Modifier']")->click();
630     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
631     $this->verifyNoErrors();
632 nhaye 2118 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
633     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
634     sleep(1);
635 nhaye 2116 // On se déconnecte
636     $this->logout();
637    
638     }
639 softime 2562
640     /**
641     * Test un événement d'instruction qui a un événement "retour"
642     */
643     public function test_08_evenement_instruction_retour() {
644    
645     // Instancie la timezone
646     date_default_timezone_set('Europe/Paris');
647    
648     // On se connecte à l'application en tant qu'administrateur
649     $this->login("admin", "admin");
650     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
651     $this->verifyNoErrors();
652    
653     /** On ajoute une action "retour signature" **/
654     // On clique sur le menu "Paramétrage Dossiers"
655     $this->byLinkText("Paramétrage Dossiers")->click();
656     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
657     $this->verifyNoErrors();
658     // On clique sur le sous-menu "Action"
659     $this->byLinkText("Action")->click();
660     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
661     $this->verifyNoErrors();
662     // On clique sur le bouton "ajouter"
663     $this->byId("action-tab-action-corner-ajouter")->click();
664     // On remplis les champs
665     $this->byId("action")->value("retour signature");
666     $this->byId("libelle")->value("retour signature");
667     $this->byId("regle_etat")->value("etat");
668 softime 2564 $this->byId("regle_date_validite")->value("date_retour_signature + duree_validite");
669 softime 2562 // On valide le formulaire
670     $this->byXPath("//input[@value='Ajouter']")->click();
671     // On vérifie le message de validation
672     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
673     /** Fin **/
674    
675     /** On ajoute un événement "retour signature" **/
676     // On clique sur le sous-menu "Événement"
677     $this->byLinkText("Événement")->click();
678     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
679     $this->verifyNoErrors();
680     // On clique sur le bouton "ajouter"
681     $this->byId("action-tab-evenement-corner-ajouter")->click();
682     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
683     $this->verifyNoErrors();
684     // On remplis les champs
685     $this->byId("libelle")->value("retour signature");
686     $this->byId("retour")->click();
687     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
688     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("dossier accepter");
689     $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
690     $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
691     $this->select($this->byId("action"))->selectOptionByLabel("retour signature");
692     // On valide le formulaire
693     $this->byXPath("//input[@value='Ajouter']")->click();
694     // On vérifie le message de validation
695     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
696     // On clique sur "Retour"
697     $this->byLinkText("Retour")->click();
698     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
699     $this->verifyNoErrors();
700 softime 2572 // On recherche l'événement "accepter un dossier sans réserve"
701 softime 2562 $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
702     // On clique sur le bouton recherche
703     $this->byCssSelector(".ui-button")->click();
704     // On clique sur le résultat
705     $this->byLinkText("accepter un dossier sans réserve")->click();
706     // On clique sur le bouton "Modifier"
707     $this->byId('action-form-evenement-modifier')->click();
708     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
709     $this->verifyNoErrors();
710     // On sélectionne l'événement "retour" dans "evenement_retour_signature"
711     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("retour signature");
712     // On valide le formulaire
713     $this->byXPath("//input[@value='Modifier']")->click();
714     // On vérifie le message de validation
715     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
716     /** Fin **/
717    
718     /** On ajoute une durée de validité au type de DA PCI **/
719     // On clique sur le sous-menu "Type DA Détaillé"
720     $this->byLinkText("Type DA Détaillé")->click();
721     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
722     $this->verifyNoErrors();
723     // On clique sur le PCI
724     $this->byLinkText("PCI")->click();
725     // On clique sur le bouton "modifier"
726     $this->byId("action-form-dossier_autorisation_type_detaille-modifier")->click();
727     // On modifie la durée de validité
728     $this->byId("duree_validite_parametrage")->clear();
729     $this->byId("duree_validite_parametrage")->value("5");
730     // On valide le formulaire
731     $this->byXPath("//input[@value='Modifier']")->click();
732     // On vérifie le message de validation
733     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
734     /** Fin **/
735    
736     /** On instancie une nouvelle demande initial PCI **/
737     // On clique sur le menu "Guichet Unique"
738     $this->byLinkText("Guichet Unique")->click();
739     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
740     $this->verifyNoErrors();
741     // On clique sur le sous-menu "Nouveau Dossier"
742     $this->byLinkText("Nouveau Dossier")->click();
743     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
744     $this->verifyNoErrors();
745     // On selectionne le type de dossier d'autorisation détaillé "Permis de construire pour une maison individuelle et / ou ses annexes"
746     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
747     // On selectionne le type de demande "Dépôt Initial"
748     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
749     // On clique pour ajouter un pétitionnaire principale
750     $this->byId("add_petitionnaire_principal")->click();
751     // On remplit le champ
752     $this->byId("particulier_nom")->value("DURAND");
753     // On remplit le champ
754     $this->byId("particulier_prenom")->value("MICKAEL");
755     // On remplit le champ
756     $this->byId("particulier_date_naissance")->value("03/01/1956");
757     // On remplit le champ
758     $this->byId("particulier_commune_naissance")->value("LILLE");
759     // On remplit le champ
760     $this->byId("particulier_departement_naissance")->value("NORD");
761     // On remplit le champ
762     $this->byId("numero")->value("12");
763     // On remplit le champ
764     $this->byId("voie")->value("RUE DE LA LOI");
765     // On remplit le champ
766     $this->byId("complement")->value("APPT 12");
767     // On remplit le champ
768     $this->byId("localite")->value("MARSEILLE");
769     // On remplit le champ
770     $this->byId("code_postal")->value("13012");
771     // On remplit le champ
772     $this->byId("telephone_fixe")->value("0404040404");
773     // On clique sur ajouter
774     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
775     // On vérifie le message
776     $this->assertContains("Vos modifications ont bien été enregistrées", $this->byCssSelector("#sousform-petitionnaire .message")->text());
777     // On clique sur le bouton retour
778     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
779     // On vérifie que le text est présent
780     $this->assertContains("DURAND MICKAEL",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
781     // On clique sur ajouter
782     $this->byXPath("//input[@value='Ajouter']")->click();
783     // On vérifie le message
784     $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
785     // Récupération du numéro de dossier
786     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
787     $dossier = $dossier[0];
788     /** Fin **/
789    
790     /** On ajoute une instruction de dossier accepter et on la finalise **/
791     // On clique sur le menu "Instruction"
792     $this->byLinkText("Instruction")->click();
793     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
794     $this->verifyNoErrors();
795     // On clique sur le sous-menu "Recherche"
796     $this->byLinkText("Recherche")->click();
797     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
798     $this->verifyNoErrors();
799 softime 2567 // On recherche le dossier crée
800     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
801     // On clique sur le bouton recherche
802     $this->byId("adv-search-submit")->click();
803     // On clique sur le résultat
804 softime 2562 $this->byLinkText($dossier)->click();
805     // On clique sur l'onglet "Instruction"
806     $this->byId("instruction")->click();
807     // On ajoute un événement d'instruction
808     $this->byId("action-soustab-instruction-corner-ajouter")->click();
809     // On sélectionne l'évenement "accepter un dossier sans réserve"
810     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
811     // On valide le formulaire
812     $this->byXPath("//input[@value='Ajouter']")->click();
813     // On vérifie le message
814     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
815     // On clique sur le bouton "retour"
816     $this->byLinkText("Retour")->click();
817     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
818     $this->verifyNoErrors();
819     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
820     $this->byLinkText("accepter un dossier sans réserve")->click();
821     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
822     $this->verifyNoErrors();
823     // On valide l'instruction
824     $this->byId("action-sousform-instruction-finalisation")->click();
825     // On vérifie le message de validation
826     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
827     // On clique sur le bouton "Retour"
828     $this->byLinkText("Retour")->click();
829     // On clique sur l'événement "accepter un dossier sans réserve"
830     $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
831     // Récupération du numéro d'événement
832     $evenement = $this->byCssSelector("#instruction.field_value")->text();
833     /** Fin **/
834    
835     /** On met à jour la date de retour signature **/
836     // Date de retour signature
837     $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5, date("Y")));
838     // On clique sur le menu "Suivi"
839     $this->byLinkText("Suivi")->click();
840     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
841     $this->verifyNoErrors();
842     // On clique sur le sous-menu "Mise À Jour Des Dates"
843     $this->byLinkText("Mise À Jour Des Dates")->click();
844     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
845     $this->verifyNoErrors();
846     // On sélectionne "date de retour de signature + Envoi contrôle légalite"
847     $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
848     // On remplit à la date du jour + 5 jours
849     $this->byId("date")->value($date_retour_signature);
850     // On remplit le code barres de l'instruction
851     $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
852     // On clique sur Valider
853     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
854     // On vérifie la synthèse avec le numéro du dossier et l'événement
855     $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
856     $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
857     // On clique sur Valider
858     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
859     // On vérifie le message de validation
860     $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
861     /** Fin **/
862    
863     /** Vérifie l'instruction "retour" et le DI **/
864     // Date de validité
865     $date_validite = date("d/m/Y", mktime(0, 0, 0, date("m")+5, date("d")+5, date("Y")));
866     // On clique sur le menu "Instruction"
867     $this->byLinkText("Instruction")->click();
868     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
869     $this->verifyNoErrors();
870     // On clique sur le sous-menu "Recherche"
871     $this->byLinkText("Recherche")->click();
872     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
873     $this->verifyNoErrors();
874 softime 2572 // On recherche le dossier crée
875     $this->byId("dossier")->value(str_replace(' ', '', $dossier));
876     // On clique sur le bouton recherche
877     $this->byId("adv-search-submit")->click();
878     // On clique sur le résultat
879 softime 2562 $this->byLinkText($dossier)->click();
880     // On vérifie la date de validité mise à jour par l'action
881     $this->assertContains($date_validite, $this->byId("date_validite")->text());
882     // On clique sur l'onglet "Instruction"
883     $this->byId("instruction")->click();
884     // On clique sur l'instruction "retour signature"
885     $this->byLinkText("retour signature")->click();
886     // On contrôle la date de retour signature
887     $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
888     /** Fin **/
889    
890     // On se déconnecte
891     $this->logout();
892    
893     }
894 vpihour 2606
895     /**
896     * Test la suppression d'un événement d'instruction lié à une demande qui ne
897     * créée pas de nouveau dossier d'instruction
898     */
899     public function test_09_suppression_evenement_demande(){
900    
901     //Ajout du paramétrage d'une nouvelle demande
902     // On se connecte à l'application en tant qu'administrateur
903     $this->login("admin", "admin");
904     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
905     $this->verifyNoErrors();
906     //On clique sur "Paramétrage dossier"
907     $this->byLinkText("Paramétrage Dossiers")->click();
908     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
909     $this->verifyNoErrors();
910     //On clique sur Type
911     $this->byLinkText("Type")->click();
912     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
913     $this->verifyNoErrors();
914     //On clique sur le "+" du tableau
915     $this->byClassName("add-16")->click();
916     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
917     $this->verifyNoErrors();
918     //On saisit le type de la demande
919     $this->byId("code")->value("test_09_suppression");
920     $this->byId("libelle")->value("test_09_suppression");
921     $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
922     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
923     $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
924     $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");
925     $this->select($this->byId("evenement"))->selectOptionByValue("15");
926     $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
927     // On clique sur le bouton ajouter
928     $this->byXPath("//input[@value='Ajouter']")->click();
929     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
930     $this->verifyNoErrors();
931     // On vérifie que le type de demande a bien été ajouté
932     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
933     //On se déconnecte
934     $this->deconnect();
935    
936     //Création d'un nouveau dossier d'instruction
937     // On se connecte à l'application
938     $this->login("guichet", "guichet");
939     //On clique sur "Guichet Unique"
940     $this->byLinkText("Guichet Unique")->click();
941     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
942     $this->verifyNoErrors();
943     //On clique sur "Dossier En Cours"
944     $this->byLinkText("Dossier En Cours")->click();
945     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
946     $this->verifyNoErrors();
947     //On clique sur le dossier "AZ0130551200001P0"
948     $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
949     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
950     $this->verifyNoErrors();
951     //On sélectionne le type de la demande
952     $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
953     // On clique sur le bouton ajouter
954     $this->byXPath("//input[@value='Ajouter']")->click();
955     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
956     $this->verifyNoErrors();
957     // On vérifie que le type de demande a bien été ajouté
958     $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
959     //On se déconnecte
960     $this->deconnect();
961    
962     //Suppression de l'événement d'instruction
963     // On se connecte à l'application
964     $this->login("admin", "admin");
965     //On clique sur le menu "Instruction"
966     $this->byLinkText("Instruction")->click();
967     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
968     $this->verifyNoErrors();
969     //On clique sur le menu "Recherche"
970     $this->byLinkText("Recherche")->click();
971     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
972     $this->verifyNoErrors();
973     //On clique sur le dossier "AZ 013055 12 00001P0"
974     $this->byLinkText("AZ 013055 12 00001P0")->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 l'onglet "Instruction"
978     $this->byId("instruction")->click();
979     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
980     $this->verifyNoErrors();
981     //On clique sur l'instruction "Defrichement soumis a enquete publique"
982     $this->byLinkText("Defrichement soumis a enquete publique")->click();
983     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
984     $this->verifyNoErrors();
985     //On définalise l'instruction
986     $this->byClassName("definalise")->click();
987     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
988     $this->verifyNoErrors();
989     //On clique "Supprimer"
990     $this->byCssSelector("#sousform-instruction .delete-16")->click();
991     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
992     $this->verifyNoErrors();
993     //On clique sur supprimer
994     $this->byXPath("//input[@value='Supprimer']")->click();
995     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
996     $this->verifyNoErrors();
997     //On vérifie que lasuppression a été éffectuée
998     $this->assertContains("La suppression a été correctement effectuée.",
999     $this->byCssSelector("#sousform-instruction .message .text")->text());
1000     // On se déconnecte
1001     $this->logout();
1002     }
1003 fmichon 1664 }
1004    
1005     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26