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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2562 - (hide annotations)
Mon Dec 2 17:06:04 2013 UTC (11 years, 2 months ago) by softime
File size: 43941 byte(s)
- Modification du traitement des instructions lors de la mise à jour de date : si l'événement principal à un événement retour, des données sont répliquées dans celui-ci
- Mise à jour de l'aide dans le formulaire d'action
- Ajout d'un test fonctionnel sur un retour de signature
- MàJ HISTORY.txt
- Traductions

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     /**
18     * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
19     * entrée de menu ne génère pas une erreur de base de données
20     */
21 fmichon 1755 public function test_01_ouverture_de_chaque_ecran_par_l_instructeur() {
22 fmichon 1664 //
23 fmichon 1727 $this->login("instr", "instr");
24 fmichon 1664 //
25 vpihour 2078 $this->byLinkText("Mes Encours")->click();
26 fmichon 1720 $this->verifyNoErrors();
27 vpihour 2078 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
28 fmichon 1664 //
29 vpihour 2078 $this->byLinkText("Tous Les Encours")->click();
30 fmichon 1720 $this->verifyNoErrors();
31 vpihour 2078 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
32 fmichon 1664 //
33 vpihour 2078 $this->byLinkText("Mes Clôturés")->click();
34 fmichon 1720 $this->verifyNoErrors();
35 vpihour 2078 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
36 fmichon 1664 //
37 vpihour 2078 $this->byLinkText("Tous Les Clôturés")->click();
38 fmichon 1720 $this->verifyNoErrors();
39 vpihour 2078 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
40 fmichon 1664 //
41 vpihour 2078 $this->byLinkText("Recherche")->click();
42 fmichon 1720 $this->verifyNoErrors();
43 vpihour 2078 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
44 fmichon 1664 //
45 vpihour 2078 $this->byLinkText("Dossiers À Qualifier")->click();
46 fmichon 1720 $this->verifyNoErrors();
47 softime 2112 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
48 fmichon 1664 //
49 vpihour 2078 $this->byLinkText("Mes Retours")->click();
50 fmichon 1720 $this->verifyNoErrors();
51 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
52 fmichon 1664 //
53 vpihour 2078 $this->byLinkText("Tous Les Retours")->click();
54 fmichon 1720 $this->verifyNoErrors();
55 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
56 fmichon 1664 //
57 vpihour 2078 $this->byLinkText("Mes Messages")->click();
58 fmichon 1720 $this->verifyNoErrors();
59 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
60 fmichon 1664 //
61 vpihour 2078 $this->byLinkText("Tous Les Messages")->click();
62 fmichon 1720 $this->verifyNoErrors();
63 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
64 fmichon 1664 //
65 vpihour 2078 $this->byCssSelector("a.commission_mes_retours-16")->click();
66 fmichon 1720 $this->verifyNoErrors();
67 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
68 fmichon 1664 //
69 vpihour 2078 $this->byCssSelector("a.commission_tous_retours-16")->click();
70 fmichon 1720 $this->verifyNoErrors();
71 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
72 fmichon 1885
73 fmichon 1664 //
74     $this->logout();
75     }
76 fmichon 1885
77 fmichon 1755 /**
78     *
79     */
80     public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
81 vpihour 2078
82 fmichon 1755 // On se connecte en tant que "instr"
83     $this->login("instr", "instr");
84     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85     $this->verifyNoErrors();
86     // On clique sur le lien "Mes encours" dans le menu
87 vpihour 2078 $this->byLinkText("Mes Encours")->click();
88 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
89     $this->verifyNoErrors();
90     // On clique sur le lien "AZ0130551200001P0" dans le tableau
91 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
92 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
93     $this->verifyNoErrors();
94     // On vérifie que le breadcrumb est correct
95 softime 2112 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
96 fmichon 1755 // On clique sur l'onglet "Instruction"
97 vpihour 2078 $this->byId("instruction")->click();
98 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
99     $this->verifyNoErrors();
100     // On clique sur l'onglet "Consultation(s)"
101 vpihour 2078 $this->byId("consultation")->click();
102 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103     $this->verifyNoErrors();
104     // On clique sur l'onglet "Lot(s)"
105 vpihour 2078 $this->byId("lot")->click();
106 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
107     $this->verifyNoErrors();
108     // On clique sur l'onglet "Message(s)"
109 vpihour 2078 $this->byId("dossier_message")->click();
110 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
111     $this->verifyNoErrors();
112     // On clique sur l'onglet "Commission(s)"
113 vpihour 2078 $this->byId("dossier_commission")->click();
114 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
115     $this->verifyNoErrors();
116 fmichon 1763 // On clique sur l'onglet "Bloc-note"
117 vpihour 2078 $this->byId("blocnote")->click();
118 fmichon 1763 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
119     $this->verifyNoErrors();
120 fmichon 1755 // On clique sur l'onglet "DA"
121 vpihour 2078 $this->byId("dossier_autorisation")->click();
122 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123     $this->verifyNoErrors();
124     // On clique sur le lien "AZ0130551200001" dans le tableau
125 softime 2112 $this->byLinkText("AZ 013055 12 00001")->click();
126 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
127     $this->verifyNoErrors();
128     // On vérifie que le breadcrumb est correct
129 softime 2112 $this->assertEquals("AZ 013055 12 00001", $this->byCssSelector(".form-content #dossier_autorisation_libelle")->text());
130 fmichon 1755 // On clique sur l'onglet "Dossier(s) d'instruction"
131 vpihour 2078 $this->byId("dossier_instruction")->click();
132 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
133     $this->verifyNoErrors();
134     // On clique sur le lien "AZ0130551200001P0" dans le tableau
135 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
136 fmichon 1755 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137     $this->verifyNoErrors();
138     // On vérifie que le breadcrumb est correct
139 softime 2112 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
140 fmichon 1885 // On se déconnecte
141 fmichon 1755 $this->logout();
142     }
143    
144 fmichon 1885 /**
145     *
146     */
147     public function test_03_informations_du_widget_profil_instructeur() {
148     // On se connecte en tant que "instr"
149     $this->login("instr", "instr");
150     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
151     $this->verifyNoErrors();
152     // On vérifie que le titre du widget est correct
153 softime 2120 $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
154     // On vérifie que le profil est bon
155     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
156 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
157 softime 2120 $this->assertEquals("Louis Laurent", $this->byCssSelector(".profil-infos-nom span.value")->text());
158 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
159 softime 2120 $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
160 fmichon 1885 // On se déconnecte
161 vpihour 2078 $this->byLinkText("Déconnexion")->click();
162     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163     $this->verifyNoErrors();
164 fmichon 1885 // On se connecte en tant que "instr"
165     $this->login("instr1", "instr");
166     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
167     $this->verifyNoErrors();
168     // On vérifie que le titre du widget est correct
169 fmichon 2184 $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
170 fmichon 2185 // On vérifie que le profil est bon
171     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
172 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
173 fmichon 2185 $this->assertEquals("Martine Nadeau", $this->byCssSelector(".profil-infos-nom span.value")->text());
174 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
175 fmichon 2185 $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
176 fmichon 1885 // On se déconnecte
177 vpihour 2078 $this->byLinkText("Déconnexion")->click();
178     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179     $this->verifyNoErrors();
180 fmichon 1885 // On se connecte en tant que "instr"
181     $this->login("instr2", "instr");
182     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
183     $this->verifyNoErrors();
184     // On vérifie que le titre du widget est correct
185 fmichon 2184 $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
186 fmichon 2185 // On vérifie que le profil est bon
187     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
188 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
189 fmichon 2185 $this->assertEquals("Roland Richard", $this->byCssSelector(".profil-infos-nom span.value")->text());
190 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
191 fmichon 2185 $this->assertEquals("J", $this->byCssSelector(".profil-infos-division span.value")->text());
192 fmichon 1885 // On se déconnecte
193     $this->logout();
194     }
195 vpihour 2078
196     /**
197     * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
198 softime 2305 * Modification d'un événement
199 vpihour 2078 */
200     public function test_04_ajout_instructions_par_instructeur() {
201    
202 softime 2305 // On se connecte en tant que "admin"
203     $this->login("admin", "admin");
204     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
205     $this->verifyNoErrors();
206     // On clique sur le lien "Paramétrage Dossiers" dans le menu
207     $this->byLinkText("Paramétrage Dossiers")->click();
208     // On clique sur le sousmenu "Événement"
209     $this->byLinkText("Événement")->click();
210     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211     $this->verifyNoErrors();
212     // On remplis le champs de recherche simple
213     $this->byCssSelector("input[name='recherche']")->value('CDEC');
214     // On clique sur le bouton recherche
215     $this->byCssSelector(".ui-button")->click();
216     // On clique sur le résultat
217     $this->byLinkText("CDEC majoration appel decision")->click();
218     // On clique sur le bouton "Modifier"
219     $this->byId('action-form-evenement-modifier')->click();
220     // On modifie le champ restriction avec des données erronées
221     $this->byId('restriction')->clear();
222     $this->byId('restriction')->value("date_evenement >= champ_errone + 1");
223     // On valide la modification
224     $this->byCssSelector("input[value='Modifier']")->click();
225     // On vérifie le message de validation
226     $this->assertRegExp("/^[\s\S]*Le champ champ_errone n'est pas utilisable pour le champ restriction[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
227     // On modifie le champ restriction pour qu'il retourne une erreur au
228     // moment de l'ajout de l'instruction
229     $this->byId('restriction')->clear();
230     $this->byId('restriction')->value("date_evenement >= date_evenement + 1");
231     // On valide la modification
232     $this->byCssSelector("input[value='Modifier']")->click();
233     // On vérifie le message de validation
234     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
235     // On se déconnecte
236     $this->deconnect();
237 vpihour 2078 // On se connecte en tant que "instr"
238     $this->login("instr", "instr");
239     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240     $this->verifyNoErrors();
241     // On clique sur le lien "Mes encours" dans le menu
242     $this->byLinkText("Mes Encours")->click();
243     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
244     $this->verifyNoErrors();
245 nhaye 2107 sleep(1);
246 vpihour 2078 // On clique sur le lien "AZ0130551200001P0" dans le tableau
247 softime 2112 $this->byLinkText("DP 013055 12 00001P0")->click();
248 vpihour 2078 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249     $this->verifyNoErrors();
250     // On clique sur l'onglet "Instruction"
251     $this->byId("instruction")->click();
252     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
253     $this->verifyNoErrors();
254     //Ajout d'une instruction simple
255     // On clique sur le lien d'ajout dans le tableau
256     $this->byCssSelector(".actions-max-1 a")->click();
257     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258     $this->verifyNoErrors();
259     //On choisi un événement
260     $this->select($this->byId("evenement"))->selectOptionByValue("22");
261     //On valide le formulaire
262     $this->byXPath("//input[@value='Ajouter']")->click();
263 softime 2305 // On vérifie le mesage d'erreur
264     $this->assertRegExp('/.*Restriction non valide*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
265     // On se déconnecte
266     $this->deconnect();
267     // On se connecte en tant que "admin"
268     $this->login("admin", "admin");
269 vpihour 2078 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
270     $this->verifyNoErrors();
271 softime 2305 // On clique sur le lien "Paramétrage Dossiers" dans le menu
272     $this->byLinkText("Paramétrage Dossiers")->click();
273     // On clique sur le sousmenu "Événement"
274     $this->byLinkText("Événement")->click();
275     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
276     $this->verifyNoErrors();
277     // On remplis le champs de recherche simple
278     $this->byCssSelector("input[name='recherche']")->value('CDEC');
279     // On clique sur le bouton recherche
280     $this->byCssSelector(".ui-button")->click();
281     // On clique sur le résultat
282     $this->byLinkText("CDEC majoration appel decision")->click();
283     // On clique sur le bouton "Modifier"
284     $this->byId('action-form-evenement-modifier')->click();
285     // On modifie le champ restriction pour qu'il ne retourne pas d'erreur
286     // au moment de l'ajout de l'instruction
287     $this->byId('restriction')->clear();
288     $this->byId('restriction')->value("date_evenement <= date_evenement + 1");
289     // On valide la modification
290     $this->byCssSelector("input[value='Modifier']")->click();
291     // On vérifie le message de validation
292     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
293     // On se déconnecte
294     $this->deconnect();
295     // On se connecte en tant que "instr"
296     $this->login("instr", "instr");
297     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
298     $this->verifyNoErrors();
299     // On clique sur le lien "Mes encours" dans le menu
300     $this->byLinkText("Mes Encours")->click();
301     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
302     $this->verifyNoErrors();
303 vpihour 2078 sleep(1);
304 softime 2305 // On clique sur le lien "AZ0130551200001P0" dans le tableau
305     $this->byLinkText("DP 013055 12 00001P0")->click();
306     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
307     $this->verifyNoErrors();
308     // On clique sur l'onglet "Instruction"
309     $this->byId("instruction")->click();
310     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
311     $this->verifyNoErrors();
312     //Ajout d'une instruction simple
313     // On clique sur le lien d'ajout dans le tableau
314     $this->byCssSelector(".actions-max-1 a")->click();
315     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
316     $this->verifyNoErrors();
317     //On choisi un événement
318     $this->select($this->byId("evenement"))->selectOptionByValue("22");
319     //On valide le formulaire
320     $this->byXPath("//input[@value='Ajouter']")->click();
321     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
322     $this->verifyNoErrors();
323     sleep(1);
324 vpihour 2078 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
325     //On retourne sur le tableau d'instructions
326     $this->byCssSelector("#sousform-instruction .retour")->click();
327     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
328     $this->verifyNoErrors();
329     //On affiche l'instruction
330     $this->byLinkText("CDEC majoration appel decision")->click();
331     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
332     $this->verifyNoErrors();
333     //On vérifie que certains champs n'apparaissent pas
334     $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
335     $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
336     //On retourne sur le tableau d'instructions
337     $this->byCssSelector("#sousform-instruction .retour")->click();
338     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
339     $this->verifyNoErrors();
340     //Ajout d'une instruction de type arrêté
341     // On clique sur le lien d'ajout dans le tableau
342     $this->byCssSelector(".actions-max-1 a")->click();
343     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
344     $this->verifyNoErrors();
345 softime 2408 //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
346 vpihour 2078 $this->select($this->byId("evenement"))->selectOptionByValue("81");
347 softime 2408 // On clique sur la bible
348     $this->byLinkText('bible')->click();
349     // On vérifie qu'il y est les enregistrments "V56" et "V64"
350     $this->assertRegExp('/^[\s\S]*V56[\s\S]*$/',
351     $this->byCssSelector("#tab-bible")->text());
352     $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
353     $this->byCssSelector("#tab-bible")->text());
354     // On choisit plusieurs éléments
355     $this->byId('checkbox0')->click();
356     $this->byId('checkbox1')->click();
357     // On valide le formulaire
358     $this->byXPath("//input[@value='Valider']")->click();
359     // On vérifie le contenu du champ "complément"
360     $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());
361     $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());
362     // On valide le formulaire
363 vpihour 2078 $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     $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("accepter un dossier sans réserve")->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 apparaissent
377     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
378     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
379     // On se déconnecte
380     $this->logout();
381     }
382 nhaye 2088
383 nhaye 2107 /**
384 nhaye 2088 * Test le formulaire de la demande de type qui possède des select filtrés
385     */
386     public function test_05_ajout_lot() {
387     // On se connecte en tant que "instr"
388     $this->login("instr", "instr");
389     // On clique sur le lien "Mes encours" dans le menu
390     $this->byLinkText("Mes Encours")->click();
391     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
392     $this->verifyNoErrors();
393     // On clique sur le lien "AZ0130551200001P0" dans le tableau
394 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
395 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
396     $this->verifyNoErrors();
397     // On clique sur l'onglet "Lot(s)"
398     $this->byId("lot")->click();
399     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
400     $this->verifyNoErrors();
401     // On clique sur le bouton d'ajout de lots
402     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
403     // Vérification des champs obligatoires
404     $this->byXPath("//input[@value='Ajouter']")->click();
405     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
406     $this->verifyNoErrors();
407     // On vérifie que le message de champ vide soit affiché
408     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
409     // Insertion d'un lot
410     $this->byId("libelle")->value("Lot n°1");
411     $this->byXPath("//input[@value='Ajouter']")->click();
412     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
413     $this->verifyNoErrors();
414 nhaye 2118 sleep(1);
415 nhaye 2088 // On retourne sur le tableau listant les lots
416     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
417     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418     $this->verifyNoErrors();
419     // On clique sur le bouton d'ajout de lots
420     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
421     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
422     $this->verifyNoErrors();
423     // Insertion d'un second lot
424     $this->byId("libelle")->value("Lot n°2");
425     $this->byXPath("//input[@value='Ajouter']")->click();
426 nhaye 2107 sleep(1);
427 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
428     $this->verifyNoErrors();
429     // On retourne sur le tableau listant les lots
430     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
431     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
432     $this->verifyNoErrors();
433 nhaye 2107 // On se déconnecte
434     $this->logout();
435 nhaye 2088 }
436 nhaye 2107
437     /**
438     * Test du lien automatique entre choix autorité compétente dans DI et
439     * évènement d'instruction à créer
440     */
441     public function test_06_modification_autorite_competente() {
442     // On se connecte en tant que "instr"
443     $this->login("instr", "instr");
444     // On clique sur le lien "Mes encours" dans le menu
445     $this->byLinkText("Mes Encours")->click();
446     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
447     $this->verifyNoErrors();
448     // On clique sur le lien "AZ0130551200001P0" dans le tableau
449 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
450 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
451     $this->verifyNoErrors();
452     // On clique sur l'onglet "Instruction"
453     $this->byId("instruction")->click();
454     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
455     $this->verifyNoErrors();
456     // On clique sur le bouton d'ajout de lots
457     $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
458     // Vérification des champs obligatoires
459     $this->byXPath("//input[@value='Ajouter']")->click();
460     sleep(1);
461     //On choisi un événement
462     $this->select($this->byId("evenement"))->selectOptionByValue("94");
463     // Validation du formulaire
464     $this->byXPath("//input[@value='Ajouter']")->click();
465     sleep(1);
466     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
467     $this->verifyNoErrors();
468     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
469     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
470     // Retour à l'onglet principal
471     $this->byId("main")->click();
472     $this->refresh();
473     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
474     $this->verifyNoErrors();
475     // On verifie que l'autorité compétente à changée.
476     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
477     // On se déconnecte
478     $this->deconnect();
479     // On se connecte en tant que "admin"
480     $this->login("admin", "admin");
481     sleep(1);
482     $this->byLinkText("Instruction")->click();
483     // On clique sur le lien "Recherche" dans le menu
484     $this->byLinkText("Recherche")->click();
485     // On clique sur le lien "AZ0130551200001P0" dans le tableau
486 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
487 nhaye 2107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
488     $this->verifyNoErrors();
489     // On verifie que l'autorité compétente à changée.
490     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
491     // On clique sur l'onglet "Instruction"
492     $this->byId("instruction")->click();
493     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
494     sleep(1);
495     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496     $this->verifyNoErrors();
497     $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
498     // On supprime l'element et on verifie le retour de l'autorité "commune"
499     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
500     // Retour à l'onglet principal
501     $this->byId("main")->click();
502     $this->refresh();
503     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
504     $this->verifyNoErrors();
505     // On verifie que l'autorité compétente à changée.
506     $this->assertRegExp('/.*Commune*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
507     // On se déconnecte
508     $this->logout();
509     }
510    
511 nhaye 2116 /**
512     * Test de l'ajout de données techniques au dossier
513     */
514     public function test_07_edition_donnees_techniques() {
515     // On se connecte en tant que "instr"
516 nhaye 2118 $this->login("admin", "admin");
517     sleep(1);
518     // Ouverture du menu de paramétrage des dossiers
519     $this->byLinkText("Paramétrage Dossiers")->click();
520     // Ouverture du menu des cerfa
521     $this->byLinkText("Cerfa")->click();
522     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
523     $this->verifyNoErrors();
524     // Ouverture d'un cerfa
525     $this->byLinkText("cerfa de test n°1")->click();
526     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
527     $this->verifyNoErrors();
528     // Modification du cerfa affiché
529     $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
530     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
531     $this->verifyNoErrors();
532     // Ajout de champs au formulaire des données techniques
533     $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
534     $this->byId("terr_juri_titul")->click();
535     $this->byId("terr_juri_lot")->click();
536     $this->byId("terr_juri_zac")->click();
537     $this->byId("terr_juri_afu")->click();
538     $this->byId("terr_juri_pup")->click();
539     $this->byId("terr_juri_oin")->click();
540     $this->byId("terr_juri_desc")->click();
541     // Validation du formulaire
542     $this->byXPath("//input[@value='Modifier']")->click();
543     // Vérification des erreurs
544     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
545     $this->byLinkText("Retour")->click();
546     // On se déconnecte
547     $this->deconnect();
548     // On se connecte en tant que "instr"
549 nhaye 2116 $this->login("instr", "instr");
550     // On clique sur le lien "Mes encours" dans le menu
551     $this->byLinkText("Mes Encours")->click();
552     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
553     $this->verifyNoErrors();
554     // On clique sur le lien "AZ0130551200001P0" dans le tableau
555     $this->byLinkText("AZ 013055 12 00001P0")->click();
556     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
557     $this->verifyNoErrors();
558     // On click sur le lien "Données techniques"
559     $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
560     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
561     $this->verifyNoErrors();
562 nhaye 2118 sleep(1);
563     // Modification des données techniques
564     $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
565     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
566     $this->verifyNoErrors();
567     sleep(1);
568     $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());
569 nhaye 2116 // Validation du formulaire
570     $this->byXPath("//input[@value='Modifier']")->click();
571     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
572     $this->verifyNoErrors();
573 nhaye 2118 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
574     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
575     sleep(1);
576 nhaye 2116 // On se déconnecte
577     $this->logout();
578    
579     }
580 softime 2562
581     /**
582     * Test un événement d'instruction qui a un événement "retour"
583     */
584     public function test_08_evenement_instruction_retour() {
585    
586     // Instancie la timezone
587     date_default_timezone_set('Europe/Paris');
588    
589     // On se connecte à l'application en tant qu'administrateur
590     $this->login("admin", "admin");
591     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
592     $this->verifyNoErrors();
593    
594     /** On ajoute une action "retour signature" **/
595     // On clique sur le menu "Paramétrage Dossiers"
596     $this->byLinkText("Paramétrage Dossiers")->click();
597     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
598     $this->verifyNoErrors();
599     // On clique sur le sous-menu "Action"
600     $this->byLinkText("Action")->click();
601     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
602     $this->verifyNoErrors();
603     // On clique sur le bouton "ajouter"
604     $this->byId("action-tab-action-corner-ajouter")->click();
605     // On remplis les champs
606     $this->byId("action")->value("retour signature");
607     $this->byId("libelle")->value("retour signature");
608     $this->byId("regle_etat")->value("etat");
609     $this->byId("regle_date_validite")->value("date_retour_signature+duree_validite");
610     // On valide le formulaire
611     $this->byXPath("//input[@value='Ajouter']")->click();
612     // On vérifie le message de validation
613     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
614     /** Fin **/
615    
616     /** On ajoute un événement "retour signature" **/
617     // On clique sur le sous-menu "Événement"
618     $this->byLinkText("Événement")->click();
619     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
620     $this->verifyNoErrors();
621     // On clique sur le bouton "ajouter"
622     $this->byId("action-tab-evenement-corner-ajouter")->click();
623     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
624     $this->verifyNoErrors();
625     // On remplis les champs
626     $this->byId("libelle")->value("retour signature");
627     $this->byId("retour")->click();
628     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
629     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("dossier accepter");
630     $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
631     $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
632     $this->select($this->byId("action"))->selectOptionByLabel("retour signature");
633     // On valide le formulaire
634     $this->byXPath("//input[@value='Ajouter']")->click();
635     // On vérifie le message de validation
636     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
637     // On clique sur "Retour"
638     $this->byLinkText("Retour")->click();
639     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
640     $this->verifyNoErrors();
641     // On recherche l'événement "test_princ"
642     $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
643     // On clique sur le bouton recherche
644     $this->byCssSelector(".ui-button")->click();
645     // On clique sur le résultat
646     $this->byLinkText("accepter un dossier sans réserve")->click();
647     // On clique sur le bouton "Modifier"
648     $this->byId('action-form-evenement-modifier')->click();
649     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
650     $this->verifyNoErrors();
651     // On sélectionne l'événement "retour" dans "evenement_retour_signature"
652     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("retour signature");
653     // On valide le formulaire
654     $this->byXPath("//input[@value='Modifier']")->click();
655     // On vérifie le message de validation
656     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
657     /** Fin **/
658    
659     /** On ajoute une durée de validité au type de DA PCI **/
660     // On clique sur le sous-menu "Type DA Détaillé"
661     $this->byLinkText("Type DA Détaillé")->click();
662     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
663     $this->verifyNoErrors();
664     // On clique sur le PCI
665     $this->byLinkText("PCI")->click();
666     // On clique sur le bouton "modifier"
667     $this->byId("action-form-dossier_autorisation_type_detaille-modifier")->click();
668     // On modifie la durée de validité
669     $this->byId("duree_validite_parametrage")->clear();
670     $this->byId("duree_validite_parametrage")->value("5");
671     // On valide le formulaire
672     $this->byXPath("//input[@value='Modifier']")->click();
673     // On vérifie le message de validation
674     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
675     /** Fin **/
676    
677     /** On instancie une nouvelle demande initial PCI **/
678     // On clique sur le menu "Guichet Unique"
679     $this->byLinkText("Guichet Unique")->click();
680     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
681     $this->verifyNoErrors();
682     // On clique sur le sous-menu "Nouveau Dossier"
683     $this->byLinkText("Nouveau Dossier")->click();
684     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
685     $this->verifyNoErrors();
686     // On selectionne le type de dossier d'autorisation détaillé "Permis de construire pour une maison individuelle et / ou ses annexes"
687     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
688     // On selectionne le type de demande "Dépôt Initial"
689     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
690     // On clique pour ajouter un pétitionnaire principale
691     $this->byId("add_petitionnaire_principal")->click();
692     // On remplit le champ
693     $this->byId("particulier_nom")->value("DURAND");
694     // On remplit le champ
695     $this->byId("particulier_prenom")->value("MICKAEL");
696     // On remplit le champ
697     $this->byId("particulier_date_naissance")->value("03/01/1956");
698     // On remplit le champ
699     $this->byId("particulier_commune_naissance")->value("LILLE");
700     // On remplit le champ
701     $this->byId("particulier_departement_naissance")->value("NORD");
702     // On remplit le champ
703     $this->byId("numero")->value("12");
704     // On remplit le champ
705     $this->byId("voie")->value("RUE DE LA LOI");
706     // On remplit le champ
707     $this->byId("complement")->value("APPT 12");
708     // On remplit le champ
709     $this->byId("localite")->value("MARSEILLE");
710     // On remplit le champ
711     $this->byId("code_postal")->value("13012");
712     // On remplit le champ
713     $this->byId("telephone_fixe")->value("0404040404");
714     // On clique sur ajouter
715     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
716     // On vérifie le message
717     $this->assertContains("Vos modifications ont bien été enregistrées", $this->byCssSelector("#sousform-petitionnaire .message")->text());
718     // On clique sur le bouton retour
719     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
720     // On vérifie que le text est présent
721     $this->assertContains("DURAND MICKAEL",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
722     // On clique sur ajouter
723     $this->byXPath("//input[@value='Ajouter']")->click();
724     // On vérifie le message
725     $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
726     // Récupération du numéro de dossier
727     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
728     $dossier = $dossier[0];
729     /** Fin **/
730    
731     /** On ajoute une instruction de dossier accepter et on la finalise **/
732     // On clique sur le menu "Instruction"
733     $this->byLinkText("Instruction")->click();
734     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
735     $this->verifyNoErrors();
736     // On clique sur le sous-menu "Recherche"
737     $this->byLinkText("Recherche")->click();
738     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
739     $this->verifyNoErrors();
740     // On clique sur le dossier ""
741     $this->byLinkText($dossier)->click();
742     // On clique sur l'onglet "Instruction"
743     $this->byId("instruction")->click();
744     // On ajoute un événement d'instruction
745     $this->byId("action-soustab-instruction-corner-ajouter")->click();
746     // On sélectionne l'évenement "accepter un dossier sans réserve"
747     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
748     // On valide le formulaire
749     $this->byXPath("//input[@value='Ajouter']")->click();
750     // On vérifie le message
751     $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
752     // On clique sur le bouton "retour"
753     $this->byLinkText("Retour")->click();
754     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
755     $this->verifyNoErrors();
756     // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
757     $this->byLinkText("accepter un dossier sans réserve")->click();
758     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
759     $this->verifyNoErrors();
760     // On valide l'instruction
761     $this->byId("action-sousform-instruction-finalisation")->click();
762     // On vérifie le message de validation
763     $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
764     // On clique sur le bouton "Retour"
765     $this->byLinkText("Retour")->click();
766     // On clique sur l'événement "accepter un dossier sans réserve"
767     $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
768     // Récupération du numéro d'événement
769     $evenement = $this->byCssSelector("#instruction.field_value")->text();
770     /** Fin **/
771    
772     /** On met à jour la date de retour signature **/
773     // Date de retour signature
774     $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5, date("Y")));
775     // On clique sur le menu "Suivi"
776     $this->byLinkText("Suivi")->click();
777     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
778     $this->verifyNoErrors();
779     // On clique sur le sous-menu "Mise À Jour Des Dates"
780     $this->byLinkText("Mise À Jour Des Dates")->click();
781     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
782     $this->verifyNoErrors();
783     // On sélectionne "date de retour de signature + Envoi contrôle légalite"
784     $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
785     // On remplit à la date du jour + 5 jours
786     $this->byId("date")->value($date_retour_signature);
787     // On remplit le code barres de l'instruction
788     $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
789     // On clique sur Valider
790     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
791     // On vérifie la synthèse avec le numéro du dossier et l'événement
792     $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
793     $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
794     // On clique sur Valider
795     $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
796     // On vérifie le message de validation
797     $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
798     /** Fin **/
799    
800     /** Vérifie l'instruction "retour" et le DI **/
801     // Date de validité
802     $date_validite = date("d/m/Y", mktime(0, 0, 0, date("m")+5, date("d")+5, date("Y")));
803     // On clique sur le menu "Instruction"
804     $this->byLinkText("Instruction")->click();
805     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
806     $this->verifyNoErrors();
807     // On clique sur le sous-menu "Recherche"
808     $this->byLinkText("Recherche")->click();
809     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
810     $this->verifyNoErrors();
811     // On clique sur le dossier ""
812     $this->byLinkText($dossier)->click();
813     // On vérifie la date de validité mise à jour par l'action
814     $this->assertContains($date_validite, $this->byId("date_validite")->text());
815     // On clique sur l'onglet "Instruction"
816     $this->byId("instruction")->click();
817     // On clique sur l'instruction "retour signature"
818     $this->byLinkText("retour signature")->click();
819     // On contrôle la date de retour signature
820     $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
821     /** Fin **/
822    
823     // On se déconnecte
824     $this->logout();
825    
826     }
827 fmichon 1664 }
828    
829     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26