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

Contents of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2112 - (show annotations)
Wed Jul 24 17:08:32 2013 UTC (11 years, 6 months ago) by softime
File size: 19730 byte(s)
Ajout du champ dossier_libelle pour la table dossier
Ajout du champ dossier_autorisation_libelle pour la table dossier_autorisation
Génération OM
Modification des formulaires, messages, tableaux et fil d'Ariane pour affiché le numéro de dossier formaté
Traduction des nouveaux champs
Correction des tests utilisant les numéro de dossier
MàJ HISTORY.txt

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Instruction extends Base2TestCase {
16
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 public function test_01_ouverture_de_chaque_ecran_par_l_instructeur() {
22 //
23 $this->login("instr", "instr");
24 //
25 $this->byLinkText("Mes Encours")->click();
26 $this->verifyNoErrors();
27 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
28 //
29 $this->byLinkText("Tous Les Encours")->click();
30 $this->verifyNoErrors();
31 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
32 //
33 $this->byLinkText("Mes Clôturés")->click();
34 $this->verifyNoErrors();
35 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
36 //
37 $this->byLinkText("Tous Les Clôturés")->click();
38 $this->verifyNoErrors();
39 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
40 //
41 $this->byLinkText("Recherche")->click();
42 $this->verifyNoErrors();
43 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
44 //
45 $this->byLinkText("Dossiers À Qualifier")->click();
46 $this->verifyNoErrors();
47 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
48 //
49 $this->byLinkText("Mes Retours")->click();
50 $this->verifyNoErrors();
51 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
52 //
53 $this->byLinkText("Tous Les Retours")->click();
54 $this->verifyNoErrors();
55 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
56 //
57 $this->byLinkText("Mes Messages")->click();
58 $this->verifyNoErrors();
59 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
60 //
61 $this->byLinkText("Tous Les Messages")->click();
62 $this->verifyNoErrors();
63 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
64 //
65 $this->byCssSelector("a.commission_mes_retours-16")->click();
66 $this->verifyNoErrors();
67 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
68 //
69 $this->byCssSelector("a.commission_tous_retours-16")->click();
70 $this->verifyNoErrors();
71 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
72
73 //
74 $this->logout();
75 }
76
77 /**
78 *
79 */
80 public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
81
82 // 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 $this->byLinkText("Mes Encours")->click();
88 // 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 $this->byLinkText("AZ 013055 12 00001P0")->click();
92 // 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 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
96 // On clique sur l'onglet "Instruction"
97 $this->byId("instruction")->click();
98 // 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 $this->byId("consultation")->click();
102 // 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 $this->byId("lot")->click();
106 // 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 $this->byId("dossier_message")->click();
110 // 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 $this->byId("dossier_commission")->click();
114 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
115 $this->verifyNoErrors();
116 // On clique sur l'onglet "Bloc-note"
117 $this->byId("blocnote")->click();
118 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
119 $this->verifyNoErrors();
120 // On clique sur l'onglet "DA"
121 $this->byId("dossier_autorisation")->click();
122 // 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 $this->byLinkText("AZ 013055 12 00001")->click();
126 // 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 $this->assertEquals("AZ 013055 12 00001", $this->byCssSelector(".form-content #dossier_autorisation_libelle")->text());
130 // On clique sur l'onglet "Dossier(s) d'instruction"
131 $this->byId("dossier_instruction")->click();
132 // 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 $this->byLinkText("AZ 013055 12 00001P0")->click();
136 // 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 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
140 // On se déconnecte
141 $this->logout();
142 }
143
144 /**
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 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
154 // On vérifie que le nom de l'instructeur affiché est le bon
155 $this->assertEquals("Louis Laurent", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
156 // On vérifie que la division de l'instructeur affichée est la bonne
157 $this->assertEquals("H", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
158 // On se déconnecte
159 $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 // 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 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
168 // On vérifie que le nom de l'instructeur affiché est le bon
169 $this->assertEquals("Martine Nadeau", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
170 // On vérifie que la division de l'instructeur affichée est la bonne
171 $this->assertEquals("H", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
172 // On se déconnecte
173 $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 // 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 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
182 // On vérifie que le nom de l'instructeur affiché est le bon
183 $this->assertEquals("Roland Richard", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
184 // On vérifie que la division de l'instructeur affichée est la bonne
185 $this->assertEquals("J", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
186 // On se déconnecte
187 $this->logout();
188 }
189
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 sleep(1);
205 // On clique sur le lien "AZ0130551200001P0" dans le tableau
206 $this->byLinkText("DP 013055 12 00001P0")->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
269 /**
270 * 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("AZ 013055 12 00001P0")->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 sleep(1);
312 // 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 // On se déconnecte
319 $this->logout();
320 }
321
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("AZ 013055 12 00001P0")->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("AZ 013055 12 00001P0")->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 }
397
398 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26