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

Annotation of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2107 - (hide annotations)
Fri Jul 19 15:27:51 2013 UTC (11 years, 6 months ago) by nhaye
File size: 19679 byte(s)
Ajout de données de tests,
ajout des tests concernant la modification de l'autorité compétente via le workflow

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 vpihour 2078 $this->assertEquals("dossier", $this->byCssSelector(".firstcol .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 vpihour 2078 $this->byLinkText("AZ0130551200001P0")->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 vpihour 2078 $this->assertEquals("AZ0130551200001P0", $this->byId("dossier")->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 vpihour 2078 $this->byLinkText("AZ0130551200001")->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 vpihour 2078 $this->assertEquals("AZ0130551200001", $this->byCssSelector(".form-content #dossier_autorisation")->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 vpihour 2078 $this->byLinkText("AZ0130551200001P0")->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 vpihour 2078 $this->assertEquals("AZ0130551200001P0", $this->byId("dossier")->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 vpihour 2078 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
154 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
155 vpihour 2078 $this->assertEquals("Louis Laurent", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
156 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
157 vpihour 2078 $this->assertEquals("H", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
158 fmichon 1885 // On se déconnecte
159 vpihour 2078 $this->byLinkText("Déconnexion")->click();
160     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
161     $this->verifyNoErrors();
162 fmichon 1885 // On se connecte en tant que "instr"
163     $this->login("instr1", "instr");
164     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
165     $this->verifyNoErrors();
166     // On vérifie que le titre du widget est correct
167 vpihour 2078 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
168 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
169 vpihour 2078 $this->assertEquals("Martine Nadeau", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
170 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
171 vpihour 2078 $this->assertEquals("H", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
172 fmichon 1885 // On se déconnecte
173 vpihour 2078 $this->byLinkText("Déconnexion")->click();
174     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
175     $this->verifyNoErrors();
176 fmichon 1885 // On se connecte en tant que "instr"
177     $this->login("instr2", "instr");
178     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179     $this->verifyNoErrors();
180     // On vérifie que le titre du widget est correct
181 vpihour 2078 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
182 fmichon 1885 // On vérifie que le nom de l'instructeur affiché est le bon
183 vpihour 2078 $this->assertEquals("Roland Richard", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
184 fmichon 1885 // On vérifie que la division de l'instructeur affichée est la bonne
185 vpihour 2078 $this->assertEquals("J", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
186 fmichon 1885 // On se déconnecte
187     $this->logout();
188     }
189 vpihour 2078
190     /**
191     * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
192     */
193     public function test_04_ajout_instructions_par_instructeur() {
194    
195    
196     // On se connecte en tant que "instr"
197     $this->login("instr", "instr");
198     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
199     $this->verifyNoErrors();
200     // On clique sur le lien "Mes encours" dans le menu
201     $this->byLinkText("Mes Encours")->click();
202     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
203     $this->verifyNoErrors();
204 nhaye 2107 sleep(1);
205 vpihour 2078 // On clique sur le lien "AZ0130551200001P0" dans le tableau
206     $this->byLinkText("DP0130551200001P0")->click();
207     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
208     $this->verifyNoErrors();
209     // On clique sur l'onglet "Instruction"
210     $this->byId("instruction")->click();
211     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
212     $this->verifyNoErrors();
213     //Ajout d'une instruction simple
214     // On clique sur le lien d'ajout dans le tableau
215     $this->byCssSelector(".actions-max-1 a")->click();
216     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217     $this->verifyNoErrors();
218     //On choisi un événement
219     $this->select($this->byId("evenement"))->selectOptionByValue("22");
220     //On valide le formulaire
221     $this->byXPath("//input[@value='Ajouter']")->click();
222     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
223     $this->verifyNoErrors();
224     sleep(1);
225     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
226     //On retourne sur le tableau d'instructions
227     $this->byCssSelector("#sousform-instruction .retour")->click();
228     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
229     $this->verifyNoErrors();
230     //On affiche l'instruction
231     $this->byLinkText("CDEC majoration appel decision")->click();
232     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
233     $this->verifyNoErrors();
234     //On vérifie que certains champs n'apparaissent pas
235     $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
236     $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
237     //On retourne sur le tableau d'instructions
238     $this->byCssSelector("#sousform-instruction .retour")->click();
239     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240     $this->verifyNoErrors();
241     //Ajout d'une instruction de type arrêté
242     // On clique sur le lien d'ajout dans le tableau
243     $this->byCssSelector(".actions-max-1 a")->click();
244     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
245     $this->verifyNoErrors();
246     //On choisi un événement
247     $this->select($this->byId("evenement"))->selectOptionByValue("81");
248     //On valide le formulaire
249     $this->byXPath("//input[@value='Ajouter']")->click();
250     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
251     $this->verifyNoErrors();
252     sleep(1);
253     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
254     //On retourne sur le tableau d'instructions
255     $this->byCssSelector("#sousform-instruction .retour")->click();
256     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
257     $this->verifyNoErrors();
258     //On affiche l'instruction
259     $this->byLinkText("accepter un dossier sans réserve")->click();
260     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
261     $this->verifyNoErrors();
262     //On vérifie que certains champs apparaissent
263     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
264     $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
265     // On se déconnecte
266     $this->logout();
267     }
268 nhaye 2088
269 nhaye 2107 /**
270 nhaye 2088 * Test le formulaire de la demande de type qui possède des select filtrés
271     */
272     public function test_05_ajout_lot() {
273     // On se connecte en tant que "instr"
274     $this->login("instr", "instr");
275     // On clique sur le lien "Mes encours" dans le menu
276     $this->byLinkText("Mes Encours")->click();
277     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
278     $this->verifyNoErrors();
279     // On clique sur le lien "AZ0130551200001P0" dans le tableau
280     $this->byLinkText("AZ0130551200001P0")->click();
281     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282     $this->verifyNoErrors();
283     // On clique sur l'onglet "Lot(s)"
284     $this->byId("lot")->click();
285     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286     $this->verifyNoErrors();
287     // On clique sur le bouton d'ajout de lots
288     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
289     // Vérification des champs obligatoires
290     $this->byXPath("//input[@value='Ajouter']")->click();
291     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
292     $this->verifyNoErrors();
293     // On vérifie que le message de champ vide soit affiché
294     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
295     // Insertion d'un lot
296     $this->byId("libelle")->value("Lot n°1");
297     $this->byXPath("//input[@value='Ajouter']")->click();
298     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299     $this->verifyNoErrors();
300     // On retourne sur le tableau listant les lots
301     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
302     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
303     $this->verifyNoErrors();
304     // On clique sur le bouton d'ajout de lots
305     $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
306     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
307     $this->verifyNoErrors();
308     // Insertion d'un second lot
309     $this->byId("libelle")->value("Lot n°2");
310     $this->byXPath("//input[@value='Ajouter']")->click();
311 nhaye 2107 sleep(1);
312 nhaye 2088 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
313     $this->verifyNoErrors();
314     // On retourne sur le tableau listant les lots
315     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
316     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
317     $this->verifyNoErrors();
318 nhaye 2107 // On se déconnecte
319     $this->logout();
320 nhaye 2088 }
321 nhaye 2107
322     /**
323     * Test du lien automatique entre choix autorité compétente dans DI et
324     * évènement d'instruction à créer
325     */
326     public function test_06_modification_autorite_competente() {
327     // On se connecte en tant que "instr"
328     $this->login("instr", "instr");
329     // On clique sur le lien "Mes encours" dans le menu
330     $this->byLinkText("Mes Encours")->click();
331     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
332     $this->verifyNoErrors();
333     // On clique sur le lien "AZ0130551200001P0" dans le tableau
334     $this->byLinkText("AZ0130551200001P0")->click();
335     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
336     $this->verifyNoErrors();
337     // On clique sur l'onglet "Instruction"
338     $this->byId("instruction")->click();
339     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
340     $this->verifyNoErrors();
341     // On clique sur le bouton d'ajout de lots
342     $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
343     // Vérification des champs obligatoires
344     $this->byXPath("//input[@value='Ajouter']")->click();
345     sleep(1);
346     //On choisi un événement
347     $this->select($this->byId("evenement"))->selectOptionByValue("94");
348     // Validation du formulaire
349     $this->byXPath("//input[@value='Ajouter']")->click();
350     sleep(1);
351     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
352     $this->verifyNoErrors();
353     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
354     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
355     // Retour à l'onglet principal
356     $this->byId("main")->click();
357     $this->refresh();
358     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
359     $this->verifyNoErrors();
360     // On verifie que l'autorité compétente à changée.
361     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
362     // On se déconnecte
363     $this->deconnect();
364     // On se connecte en tant que "admin"
365     $this->login("admin", "admin");
366     sleep(1);
367     $this->byLinkText("Instruction")->click();
368     // On clique sur le lien "Recherche" dans le menu
369     $this->byLinkText("Recherche")->click();
370     // On clique sur le lien "AZ0130551200001P0" dans le tableau
371     $this->byLinkText("AZ0130551200001P0")->click();
372     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
373     $this->verifyNoErrors();
374     // On verifie que l'autorité compétente à changée.
375     $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
376     // On clique sur l'onglet "Instruction"
377     $this->byId("instruction")->click();
378     $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
379     sleep(1);
380     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
381     $this->verifyNoErrors();
382     $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
383     // On supprime l'element et on verifie le retour de l'autorité "commune"
384     $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
385     // Retour à l'onglet principal
386     $this->byId("main")->click();
387     $this->refresh();
388     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
389     $this->verifyNoErrors();
390     // On verifie que l'autorité compétente à changée.
391     $this->assertRegExp('/.*Commune*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
392     // On se déconnecte
393     $this->logout();
394     }
395    
396 fmichon 1664 }
397    
398     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26