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

Contents of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2633 - (show annotations)
Mon Dec 23 16:22:02 2013 UTC (11 years, 1 month ago) by softime
File size: 81275 byte(s)
- Correction de la vérification dans la classe instruction : les événements d'instruction non liés à une demande provoquaient des Warning.
- Correction des tests : ajout de commentaire + test sur la suppr d'un événement d'instruction non lié à une demande.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26