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

Contents of /trunk/tests/testInstructions.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4372 - (show annotations)
Wed Jun 1 07:59:36 2016 UTC (8 years, 8 months ago) by fmichon
File size: 149410 byte(s)
* Tests : Déplacement du testcase PHPUnit Selenium complet concernant le widget "Infos Profil"
  dans le testcase RF existant concerné.

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testInstruction.php 6134 2016-03-09 09:30:00Z stimezouaght $
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Instructions 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 * Fonction lancée en debut de chaque test
31 */
32 public function setUp() {
33 parent::setUp();
34 echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
35 }
36
37 public function onNotSuccessfulTest(Exception $e){
38 echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
39 parent::onNotSuccessfulTest($e);
40 }
41
42 //
43 public function test_01_OuvertureMenu() {
44 // Récupération des utilisateurs
45 $utilisateurs = $this->listUtlisateurs;
46 // Pour chaque utilisateur on lance le test
47 foreach ($utilisateurs as $utilisateur) {
48 //
49 $this->ouvertureMenu($utilisateur);
50 }
51 // On vérifie la déconnexion
52 $this->verifyDeconnect();
53 }
54
55 //
56 public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
57
58 // On se connecte en tant que "instr"
59 $this->login("instr", "instr");
60 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
61 $this->verifyNoErrors();
62 // On clique sur le lien "Mes encours" dans le menu
63 $this->byLinkText("Mes Encours")->click();
64 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
65 $this->verifyNoErrors();
66 // On clique sur le lien "AZ0130551200001P0" dans le tableau
67 $this->byLinkText("AZ 013055 12 00001P0")->click();
68 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
69 $this->verifyNoErrors();
70 // On vérifie que le breadcrumb est correct
71 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
72 // On clique sur l'onglet "Instruction"
73 $this->byId("instruction")->click();
74 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
75 $this->verifyNoErrors();
76 // On clique sur l'onglet "Consultation(s)"
77 $this->byId("consultation")->click();
78 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
79 $this->verifyNoErrors();
80 // On clique sur l'onglet "Lot(s)"
81 $this->byId("lot")->click();
82 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
83 $this->verifyNoErrors();
84 // On clique sur l'onglet "Message(s)"
85 $this->byId("dossier_message")->click();
86 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
87 $this->verifyNoErrors();
88 // On clique sur l'onglet "Commission(s)"
89 $this->byId("dossier_commission")->click();
90 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
91 $this->verifyNoErrors();
92 // On clique sur l'onglet "Bloc-note"
93 $this->byId("blocnote")->click();
94 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
95 $this->verifyNoErrors();
96 // On clique sur l'onglet "DA"
97 $this->byId("dossier_autorisation")->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 le lien "AZ0130551200001" dans le tableau
101 $this->byLinkText("AZ 013055 12 00001")->click();
102 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103 $this->verifyNoErrors();
104 // On vérifie que le breadcrumb est correct
105 $this->assertEquals("AZ 013055 12 00001", $this->byCssSelector(".form-content #dossier_autorisation_libelle")->text());
106 // On clique sur l'onglet "Dossier(s) d'instruction"
107 $this->byId("dossier_instruction")->click();
108 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
109 $this->verifyNoErrors();
110 // On clique sur le lien "AZ0130551200001P0" dans le tableau
111 $this->byLinkText("AZ 013055 12 00001P0")->click();
112 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113 $this->verifyNoErrors();
114 // On vérifie que le breadcrumb est correct
115 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
116 // On se déconnecte
117 $this->logout();
118 }
119
120 /**
121 * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
122 * Modification d'un événement
123 */
124 public function test_04_ajout_instructions_par_instructeur() {
125
126 // On se connecte en tant que "admin"
127 $this->login("admin", "admin");
128 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
129 $this->verifyNoErrors();
130 // On clique sur le lien "Paramétrage Dossiers" dans le menu
131 $this->byLinkText("Paramétrage Dossiers")->click();
132 // On clique sur le sousmenu "Événement"
133 $this->byLinkText("Événement")->click();
134 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
135 $this->verifyNoErrors();
136 // On remplis le champs de recherche simple
137 $this->byCssSelector("input[name='recherche']")->value('CDEC');
138 // On clique sur le bouton recherche
139 $this->byCssSelector(".ui-button")->click();
140 // On clique sur le résultat
141 $this->byLinkText("CDEC majoration appel decision")->click();
142 // On clique sur le bouton "Modifier"
143 $this->byId('action-form-evenement-modifier')->click();
144 // On modifie le champ restriction avec des données erronées
145 $this->byId('restriction')->clear();
146 $this->byId('restriction')->value("date_evenement >= champ_errone + 1");
147 // On valide la modification
148 $this->byCssSelector("input[value='Modifier']")->click();
149 // On vérifie le message de validation
150 $this->assertRegExp("/^[\s\S]*Le champ champ_errone n'est pas utilisable pour le champ restriction[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
151 // On modifie le champ restriction pour qu'il retourne une erreur au
152 // moment de l'ajout de l'instruction
153 $this->byId('restriction')->clear();
154 $this->byId('restriction')->value("date_evenement >= date_evenement + 1");
155 // On valide la modification
156 $this->byCssSelector("input[value='Modifier']")->click();
157 // On vérifie le message de validation
158 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
159 // On se déconnecte
160 $this->deconnect();
161 //{{{ Ajout de d'un nouveau dossier
162 // On se connecte à l'application
163 $this->login("guichet", "guichet");
164 //On clique sur le menu des instructions
165 $this->byLinkText("Nouveau Dossier")->click();
166 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
167 $this->verifyNoErrors();
168 //On ajoute un nouveau dossier
169 $dossier = $this->addDossierInstruction(1, 1);
170 // On se déconnecte
171 $this->deconnect();
172 //}}}
173 // On se connecte en tant que "instr"
174 $this->login("instr", "instr");
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 "Mes encours" dans le menu
178 $this->byLinkText("Mes Encours")->click();
179 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
180 $this->verifyNoErrors();
181 sleep(1);
182 // On clique sur le dossier dernièrement créé
183 $this->byLinkText($dossier)->click();
184 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
185 $this->verifyNoErrors();
186 // On clique sur l'onglet "Instruction"
187 $this->byId("instruction")->click();
188 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
189 $this->verifyNoErrors();
190 //Ajout d'une instruction simple
191 // On clique sur le lien d'ajout dans le tableau
192 $this->byCssSelector(".actions-max-1 a")->click();
193 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
194 $this->verifyNoErrors();
195 //On choisi l'événement CDEC majoration appel decision [majoration]
196 $this->select($this->byId("evenement"))->selectOptionByValue("22");
197 //On valide le formulaire
198 $this->byXPath("//input[@value='Ajouter']")->click();
199 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
200 $this->verifyNoErrors();
201 // On vérifie le mesage d'erreur
202 // on vérifie que le retour d'incomplétude est en erreur
203 $this->assertRegExp(
204 '/.*Problème de dates :*/',
205 $this->byCssSelector("#formulaire .message .text")->text()
206 );
207 $this->assertRegExp(
208 '/.*date d\'événement \>\= date d\'événement \+ 1*/',
209 $this->byCssSelector("#formulaire .message .text")->text()
210 );
211 $this->assertRegExp(
212 '/.*SAISIE NON ENREGISTRÉE*/',
213 $this->byCssSelector("#formulaire .message .text")->text()
214 );
215 // On se déconnecte
216 $this->deconnect();
217 // On se connecte en tant que "admin"
218 $this->login("admin", "admin");
219 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
220 $this->verifyNoErrors();
221 // On clique sur le lien "Paramétrage Dossiers" dans le menu
222 $this->byLinkText("Paramétrage Dossiers")->click();
223 // On clique sur le sousmenu "Événement"
224 $this->byLinkText("Événement")->click();
225 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
226 $this->verifyNoErrors();
227 // On remplis le champs de recherche simple
228 $this->byCssSelector("input[name='recherche']")->value('CDEC');
229 // On clique sur le bouton recherche
230 $this->byCssSelector(".ui-button")->click();
231 // On clique sur le résultat
232 $this->byLinkText("CDEC majoration appel decision")->click();
233 // On clique sur le bouton "Modifier"
234 $this->byId('action-form-evenement-modifier')->click();
235 // On modifie le champ restriction pour qu'il ne retourne pas d'erreur
236 // au moment de l'ajout de l'instruction
237 $this->byId('restriction')->clear();
238 $this->byId('restriction')->value("date_evenement <= date_evenement + 1");
239 // On valide la modification
240 $this->byCssSelector("input[value='Modifier']")->click();
241 // On vérifie le message de validation
242 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
243 // On se déconnecte
244 $this->deconnect();
245
246 // On se connecte en tant que "admin"
247 $this->login("admin", "admin");
248 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249 $this->verifyNoErrors();
250 // On clique sur le lien "Paramétrage Dossiers" dans le menu
251 $this->byLinkText("Paramétrage Dossiers")->click();
252 // On clique sur le sousmenu "Événement"
253 $this->byLinkText("Événement")->click();
254 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
255 $this->verifyNoErrors();
256 // On remplis le champs de recherche simple
257 $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
258 // On clique sur le bouton recherche
259 $this->byCssSelector(".ui-button")->click();
260 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
261 $this->verifyNoErrors();
262 // On clique sur le résultat
263 $this->byLinkText("accepter un dossier sans réserve")->click();
264 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
265 $this->verifyNoErrors();
266 // On clique sur le bouton "Modifier"
267 $this->byId('bible')->click();
268 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
269 $this->verifyNoErrors();
270 // On Ajoute 2 éléments de bible automatique
271 $this->byId('bible')->click();
272 //On clique sur le "+" du tableau
273 $this->byClassName("add-16")->click();
274 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
275 $this->verifyNoErrors();
276 $this->byCssSelector('#sousform-bible #libelle')->value("test 1");
277 $this->byId('contenu')->value("test contenu 1");
278 $this->select($this->byId("complement"))->selectOptionByValue("1");
279 $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
280 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
281 // On valide la modification
282 $this->byCssSelector("input[value='Ajouter']")->click();
283 sleep(1);
284 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285 $this->verifyNoErrors();
286 // On vérifie le message de validation
287 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
288 //On retourne sur le tableau d'instructions
289 $this->byCssSelector("#sousform-bible .retour")->click();
290 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
291 $this->verifyNoErrors();
292 //On clique sur le "+" du tableau
293 $this->byClassName("add-16")->click();
294 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
295 $this->verifyNoErrors();
296 $this->byCssSelector('#sousform-bible #libelle')->value("test 2");
297 $this->byId('contenu')->value("test contenu 2");
298 $this->select($this->byId("complement"))->selectOptionByValue("2");
299 $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
300 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
301 // On valide la modification
302 $this->byCssSelector("input[value='Ajouter']")->click();
303 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
304 $this->verifyNoErrors();
305 // On vérifie le message de validation
306 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
307 //On retourne sur le tableau d'instructions
308 $this->byCssSelector("#sousform-bible .retour")->click();
309 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
310 $this->verifyNoErrors();
311 //On clique sur le "+" du tableau
312 $this->byClassName("add-16")->click();
313 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
314 $this->verifyNoErrors();
315 $this->byCssSelector('#sousform-bible #libelle')->value("test 3");
316 $this->byId('contenu')->value("test contenu 3");
317 $this->select($this->byId("complement"))->selectOptionByValue("3");
318 $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
319 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
320 // On valide la modification
321 $this->byCssSelector("input[value='Ajouter']")->click();
322 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
323 $this->verifyNoErrors();
324 // On vérifie le message de validation
325 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
326 //On retourne sur le tableau d'instructions
327 $this->byCssSelector("#sousform-bible .retour")->click();
328 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
329 $this->verifyNoErrors();
330 //On clique sur le "+" du tableau
331 $this->byClassName("add-16")->click();
332 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
333 $this->verifyNoErrors();
334 $this->byCssSelector('#sousform-bible #libelle')->value("test 4");
335 $this->byId('contenu')->value("test contenu 4");
336 $this->select($this->byId("complement"))->selectOptionByValue("4");
337 $this->select($this->byId("automatique"))->selectOptionByValue("Oui");
338 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
339 // On valide la modification
340 $this->byCssSelector("input[value='Ajouter']")->click();
341 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
342 $this->verifyNoErrors();
343 // On vérifie le message de validation
344 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-bible .message")->text());
345 // On se déconnecte
346 $this->deconnect();
347 //
348 // On se connecte en tant que "instr"
349 $this->login("instr", "instr");
350 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
351 $this->verifyNoErrors();
352 // On clique sur le lien "Mes encours" dans le menu
353 $this->byLinkText("Mes Encours")->click();
354 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
355 $this->verifyNoErrors();
356 sleep(1);
357 // On clique sur le dossier dernièrement créé
358 $this->byLinkText($dossier)->click();
359 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
360 $this->verifyNoErrors();
361 // On clique sur l'onglet "Instruction"
362 $this->byId("instruction")->click();
363 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
364 $this->verifyNoErrors();
365 //Ajout d'une instruction simple
366 // On clique sur le lien d'ajout dans le tableau
367 $this->byCssSelector(".actions-max-1 a")->click();
368 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
369 $this->verifyNoErrors();
370 //On choisi l'événement CDEC majoration appel decision [majoration]
371 $this->select($this->byId("evenement"))->selectOptionByValue("22");
372 //On valide le formulaire
373 $this->byXPath("//input[@value='Ajouter']")->click();
374 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
375 $this->verifyNoErrors();
376 sleep(1);
377 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
378 //On retourne sur le tableau d'instructions
379 $this->byCssSelector("#sousform-instruction .retour")->click();
380 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
381 $this->verifyNoErrors();
382 //On affiche l'instruction
383 $this->byLinkText("CDEC majoration appel decision")->click();
384 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
385 $this->verifyNoErrors();
386 //On vérifie que certains champs n'apparaissent pas
387 $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
388 $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
389 //On retourne sur le tableau d'instructions
390 $this->byCssSelector("#sousform-instruction .retour")->click();
391 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
392 $this->verifyNoErrors();
393 //Ajout d'une instruction de type arrêté
394 // On clique sur le lien d'ajout dans le tableau
395 $this->byCssSelector(".actions-max-1 a")->click();
396 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
397 $this->verifyNoErrors();
398 //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
399 $this->select($this->byId("evenement"))->selectOptionByValue("81");
400 // On clique sur la bible automatique
401 $this->byLinkText('automatique')->click();
402 // On clique sur la bible
403 $this->byLinkText('bible')->click();
404 // On vérifie qu'il y est les enregistrments "V56" et "V64"
405 $this->assertRegExp('/^[\s\S]*V56[\s\S]*$/',
406 $this->byCssSelector("#tab-bible")->text());
407 $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
408 $this->byCssSelector("#tab-bible")->text());
409 // On choisit plusieurs éléments
410 $this->byId('checkbox5')->click();
411 $this->byId('checkbox6')->click();
412 // On valide le formulaire
413 $this->byXPath("//input[@value='Valider']")->click();
414 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
415 $this->verifyNoErrors();
416 // On valide le formulaire
417 $this->byXPath("//input[@value='Ajouter']")->click();
418 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
419 $this->verifyNoErrors();
420 // On vérifie le message de validation
421 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
422 //On retourne sur le tableau d'instructions
423 $this->byCssSelector("#sousform-instruction .retour")->click();
424 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
425 $this->verifyNoErrors();
426 // On clique sur l'instruction
427 $this->byLinkText("accepter un dossier sans réserve")->click();
428 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
429 $this->verifyNoErrors();
430 // On vérifie le contenu du champ "complément"
431 $this->assertContains("contenu 1", $this->byId("complement_om_html")->text());
432 $this->assertContains("Vu l'avis favorable de l'Architecte des Bâtiments de France en date du", $this->byId("complement_om_html")->text());
433 $this->assertContains("Vu l'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du", $this->byId("complement_om_html")->text());
434 $this->assertContains("contenu 2", $this->byId("complement2_om_html")->text());
435 $this->assertContains("contenu 3", $this->byId("complement3_om_html")->text());
436 $this->assertContains("contenu 4", $this->byId("complement4_om_html")->text());
437 //On vérifie que certains champs apparaissent
438 $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
439 $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
440 // On se déconnecte
441 $this->deconnect();
442
443 //{{{
444 // Ajout de d'un nouveau dossier pour test d'ajout d'événement d'instruction
445 // sans lettretype
446 // On se connecte à l'application
447 $this->login("guichet", "guichet");
448 //On clique sur le menu des instructions
449 $this->byLinkText("Nouveau Dossier")->click();
450 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
451 $this->verifyNoErrors();
452 //On ajoute un nouveau dossier
453 $dossier = $this->addDossierInstruction(1, 1, "Test instruction sans édition");
454 // On se déconnecte
455 $this->deconnect();
456 // On se connecte en tant que "instr"
457 $this->login("instr", "instr");
458 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
459 $this->verifyNoErrors();
460 // On clique sur le lien "Mes encours" dans le menu
461 $this->byLinkText("Mes Encours")->click();
462 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
463 $this->verifyNoErrors();
464 sleep(1);
465 // On clique sur le dossier dernièrement créé
466 $this->byLinkText($dossier)->click();
467 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
468 $this->verifyNoErrors();
469 // On clique sur l'onglet "Instruction"
470 $this->byId("instruction")->click();
471 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
472 $this->verifyNoErrors();
473 //Ajout d'une instruction de refus
474 // On clique sur le lien d'ajout dans le tableau
475 $this->byCssSelector(".actions-max-1 a")->click();
476 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
477 $this->verifyNoErrors();
478 //On choisi l'événement Refus HS
479 $this->select($this->byId("evenement"))->selectOptionByValue("94");
480 //On valide le formulaire
481 $this->byXPath("//input[@value='Ajouter']")->click();
482 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
483 $this->verifyNoErrors();
484 // On vérifie le mesage de validation
485 $this->assertRegExp(
486 '/.*Vos modifications ont bien été enregistrées.*/',
487 $this->byCssSelector("#sousform-instruction .message .text")->text()
488 );
489 //On retourne sur le tableau d'instructions
490 $this->byCssSelector("#sousform-instruction .retour")->click();
491 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
492 $this->verifyNoErrors();
493 // On clique sur l'instruction
494 $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
495 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496 $this->verifyNoErrors();
497 // On vérifie qu'il n'y a pas d'action "Édition" dans le portlet d'actions
498 $test = preg_match(
499 '/Édition/i',
500 $this->byCssSelector("#sousform-instruction #portlet-actions")->text()
501 );
502 $this->assertTrue(!$test);
503 // On vérifie qu'il n'y a pas d'action "Finaliser le document" dans
504 // le portlet d'actions
505 $test = preg_match(
506 '/Finaliser le document/i',
507 $this->byCssSelector("#sousform-instruction #portlet-actions")->text()
508 );
509 $this->assertTrue(!$test);
510 // On se déconnecte
511 $this->logout();
512 // }}}
513 }
514
515 /**
516 * test le formulaire de la demande de type qui possède des select filtrés
517 */
518 public function test_05_ajout_lot() {
519 // On se connecte en tant que "instr"
520 $this->login("instr", "instr");
521 // On clique sur le lien "Mes encours" dans le menu
522 $this->byLinkText("Mes Encours")->click();
523 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
524 $this->verifyNoErrors();
525 // On clique sur le lien "AZ0130551200001P0" dans le tableau
526 $this->byLinkText("AZ 013055 12 00001P0")->click();
527 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
528 $this->verifyNoErrors();
529 // On clique sur l'onglet "Lot(s)"
530 $this->byId("lot")->click();
531 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
532 $this->verifyNoErrors();
533 // On clique sur le bouton d'ajout de lots
534 $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
535 // Vérification des champs obligatoires
536 $this->byXPath("//input[@value='Ajouter']")->click();
537 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
538 $this->verifyNoErrors();
539 // On vérifie que le message de champ vide soit affiché
540 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
541 // Insertion d'un lot
542 $this->byId("libelle")->value("Lot n°1");
543 $this->byXPath("//input[@value='Ajouter']")->click();
544 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
545 $this->verifyNoErrors();
546 sleep(1);
547 // On retourne sur le tableau listant les lots
548 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
549 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
550 $this->verifyNoErrors();
551 // On clique sur le bouton d'ajout de lots
552 $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
553 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
554 $this->verifyNoErrors();
555 // Insertion d'un second lot
556 $this->byId("libelle")->value("Lot n°2");
557 $this->byXPath("//input[@value='Ajouter']")->click();
558 sleep(1);
559 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
560 $this->verifyNoErrors();
561 // On retourne sur le tableau listant les lots
562 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
563 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
564 $this->verifyNoErrors();
565 // On se déconnecte
566 $this->logout();
567 }
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 "guichet"
587 $this->login("guichet", "guichet");
588 // On clique sur le sous-menu "Nouveau Dossier"
589 $this->byLinkText("Nouveau Dossier")->click();
590 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
591 $this->verifyNoErrors();
592 $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
593 $dossier = $this->addDossierInstruction(1, 1, "Test cerfa");
594 // On se déconnecte
595 $this->deconnect();
596 // On se connecte en tant que "admin"
597 $this->login("admin", "admin");
598 sleep(1);
599 // Ouverture du menu de paramétrage des dossiers
600 $this->byLinkText("Paramétrage Dossiers")->click();
601 // Ouverture du menu des cerfa
602 $this->byLinkText("Cerfa")->click();
603 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
604 $this->verifyNoErrors();
605 // Ouverture d'un cerfa
606 $this->byLinkText("cerfa de test n°3")->click();
607 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
608 $this->verifyNoErrors();
609 // Modification du cerfa affiché
610 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
611 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
612 $this->verifyNoErrors();
613 // On modifie la durée de validité
614 $this->byId("om_validite_fin")->clear();
615 $this->byId("om_validite_fin")->value("31/12/2013");
616 // On valide le formulaire
617 $this->byXPath("//input[@value='Modifier']")->click();
618 // On vérifie le message de validation
619 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
620 // On se déconnecte
621 $this->deconnect();
622 // On verifie que les données techniques sont toujours disponibles
623 // On se connecte en tant que "instr"
624 $this->login("instr", "instr");
625 // On clique sur le lien "Mes encours" dans le menu
626 $this->byLinkText("Mes Encours")->click();
627 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
628 $this->verifyNoErrors();
629 // On recherche le dossier crée
630 $this->byName("recherche")->value(str_replace(' ', '', $dossier));
631 // On clique sur le bouton recherche
632 $this->byName("s1")->click();
633 // On clique sur le lien "PC 013055 12 00002P0" dans le tableau
634 $this->byLinkText($dossier)->click();
635 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
636 $this->verifyNoErrors();
637 // On click sur le lien "Données techniques"
638 $this->byId("action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
639 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
640 $this->verifyNoErrors();
641 sleep(1);
642 // Vérification des fieldset
643 $this->assertContains("Aménager", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
644 $this->assertContains("Construire", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
645 $this->assertContains("Démolir", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
646 $this->byCssSelector(".ui-dialog-titlebar-close")->click();
647 // On se déconnecte
648 $this->deconnect();
649 // On se connecte en tant que "admin"
650 $this->login("admin", "admin");
651 sleep(1);
652 // Ouverture du menu de paramétrage des dossiers
653 $this->byLinkText("Paramétrage Dossiers")->click();
654 // Ouverture du menu des cerfa
655 $this->byLinkText("Cerfa")->click();
656 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
657 $this->verifyNoErrors();
658 //On clique sur le "+" du tableau
659 $this->byClassName("add-16")->click();
660 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
661 $this->verifyNoErrors();
662 $this->byId("libelle")->value("test cerfa 3");
663 $this->byId("code")->value("cerfa 3");
664 $this->byId("om_validite_debut")->value("01/04/2014");
665 $this->byId("om_validite_fin")->value("01/04/2018");
666 // Ajout de champs au formulaire des données techniques
667 $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
668 $this->byId("terr_juri_titul")->click();
669 $this->byId("terr_juri_lot")->click();
670 $this->byId("terr_juri_zac")->click();
671 $this->byId("terr_juri_afu")->click();
672 $this->byId("terr_juri_pup")->click();
673 $this->byId("terr_juri_oin")->click();
674 $this->byId("terr_juri_desc")->click();
675 // Validation du formulaire
676 $this->byXPath("//input[@value='Ajouter']")->click();
677 // Vérification des erreurs
678 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
679 $this->byLinkText("Retour")->click();
680 // Ouverture du menu des DATD
681 $this->byLinkText("Type DA Détaillé")->click();
682 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
683 $this->verifyNoErrors();
684 // Ouverture du PCI
685 $this->byLinkText("PCI")->click();
686 // Modification du DATD affiché
687 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
688 $this->select($this->byId("cerfa"))->clearSelectedOptions();
689 $this->select($this->byName("cerfa"))->selectOptionByLabel("test cerfa 3");
690 // On valide le formulaire
691 $this->byXPath("//input[@value='Modifier']")->click();
692 // On vérifie le message de validation
693 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
694 // On clique sur "Retour"
695 $this->byLinkText("Retour")->click();
696 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
697 $this->verifyNoErrors();
698 // On clique sur "Retour"
699 $this->byLinkText("Retour")->click();
700 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
701 $this->verifyNoErrors();
702 // Ouverture du PCI
703 $this->byLinkText("AZ")->click();
704 // Modification du DATD affiché
705 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
706 $this->select($this->byName("cerfa"))->selectOptionByValue("");
707 // On valide le formulaire
708 $this->byXPath("//input[@value='Modifier']")->click();
709 // On vérifie le message de validation
710 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
711 // On clique sur "Retour"
712 $this->byLinkText("Retour")->click();
713 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
714 $this->verifyNoErrors();
715 // On se déconnecte
716 $this->deconnect();
717 // On verifie que les données techniques sont toujours disponibles
718 // On se connecte en tant que "instr"
719 $this->login("instr", "instr");
720 // On clique sur le lien "Mes encours" dans le menu
721 $this->byLinkText("Mes Encours")->click();
722 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
723 $this->verifyNoErrors();
724 // On clique sur le lien "AZ0130551200001P0" dans le tableau
725 $this->byLinkText($dossier)->click();
726 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
727 $this->verifyNoErrors();
728 // On click sur le lien "Données techniques"
729 $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
730 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
731 $this->verifyNoErrors();
732 // Vérification des fieldset
733 $this->assertContains("Aménager", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
734 $this->assertContains("Construire", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
735 $this->assertContains("Démolir", $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
736 $this->byCssSelector(".ui-dialog-titlebar-close")->click();
737 // On se déconnecte
738 $this->deconnect();
739 // On se connecte en tant que "instr"
740 $this->login("guichet", "guichet");
741 /** On instancie une nouvelle demande initial PCI **/
742 // On clique sur le sous-menu "Nouveau Dossier"
743 $this->byLinkText("Nouveau Dossier")->click();
744 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
745 $this->verifyNoErrors();
746 $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
747 $dossier = $this->addDossierInstruction(1, 1, "Test cerfa");
748 // On se déconnecte
749 $this->deconnect();
750 // On se connecte en tant que "instr"
751 $this->login("instr", "instr");
752 // On clique sur le lien "Mes encours" dans le menu
753 $this->byLinkText("Mes Encours")->click();
754 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
755 $this->verifyNoErrors();
756 //On cherche le service
757 $this->byName("recherche")->value(str_replace(" ","",$dossier));
758 //On valide
759 $this->byName("s1")->click();
760 // On clique sur le lien "AZ0130551200001P0" dans le tableau
761 $this->byLinkText($dossier)->click();
762 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
763 $this->verifyNoErrors();
764 // On click sur le lien "Données techniques"
765 $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
766 sleep(1);
767 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
768 $this->verifyNoErrors();
769 $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sousform-donnees_techniques #form-content")->text());
770 $this->byCssSelector(".ui-dialog-titlebar-close")->click();
771 // On se déconnecte
772 $this->deconnect();
773 // On se connecte en tant que "instr"
774 $this->login("admin", "admin");
775 sleep(1);
776 // Ouverture du menu de paramétrage des dossiers
777 $this->byLinkText("Paramétrage Dossiers")->click();
778 // Ouverture du menu des cerfa
779 $this->byLinkText("Cerfa")->click();
780 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
781 $this->verifyNoErrors();
782 // Afficher les éléments expirés
783 $this->byLinkText("Afficher les éléments expirés")->click();
784 sleep(0.5);
785 // Ouverture d'un cerfa
786 $this->byLinkText("cerfa de test n°3")->click();
787 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
788 $this->verifyNoErrors();
789 // Modification du cerfa affiché
790 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
791 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
792 $this->verifyNoErrors();
793 // On modifie la durée de validité
794 $this->byId("om_validite_fin")->clear();
795 $this->byId("om_validite_fin")->value("31/12/2018");
796 // On valide le formulaire
797 $this->byXPath("//input[@value='Modifier']")->click();
798 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
799 $this->verifyNoErrors();
800 // Ouverture du menu des DATD
801 $this->byLinkText("Type DA Détaillé")->click();
802 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
803 $this->verifyNoErrors();
804 // Ouverture du PCI
805 $this->byLinkText("PCI")->click();
806 // Modification du DATD affiché
807 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
808 $this->select($this->byId("cerfa"))->clearSelectedOptions();
809 $this->select($this->byName("cerfa"))->selectOptionByLabel("cerfa de test n°3");
810 // On valide le formulaire
811 $this->byXPath("//input[@value='Modifier']")->click();
812 // On vérifie le message de validation
813 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
814 // On clique sur "Retour"
815 $this->byLinkText("Retour")->click();
816 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
817 $this->verifyNoErrors();
818 // On clique sur "Retour"
819 $this->byLinkText("Retour")->click();
820 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
821 $this->verifyNoErrors();
822 // Ouverture du PCI
823 $this->byLinkText("AZ")->click();
824 // Modification du DATD affiché
825 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
826 $this->select($this->byName("cerfa"))->selectOptionByLabel("cerfa de test n°3");
827 // On valide le formulaire
828 $this->byXPath("//input[@value='Modifier']")->click();
829 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
830 $this->verifyNoErrors();
831 // On se déconnecte
832 $this->logout();
833 }
834 //
835 /**
836 * test un événement d'instruction qui a un événement "retour"
837 */
838 public function test_08_evenement_instruction_retour() {
839 //
840 // On se connecte à l'application en tant qu'administrateur
841 $this->login("admin", "admin");
842 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
843 $this->verifyNoErrors();
844 //
845 /** On ajoute une action "retour signature" **/
846 // On clique sur le menu "Paramétrage Dossiers"
847 $this->byLinkText("Paramétrage Dossiers")->click();
848 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
849 $this->verifyNoErrors();
850 // On clique sur le sous-menu "Action"
851 $this->byLinkText("Action")->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 bouton "ajouter"
855 $this->byId("action-tab-action-corner-ajouter")->click();
856 // On remplis les champs
857 $this->byId("action")->value("retour signature");
858 $this->byId("libelle")->value("retour signature");
859 $this->byId("regle_etat")->value("etat");
860 $this->byId("regle_date_validite")->value("date_retour_signature + duree_validite");
861 // On valide le formulaire
862 $this->byXPath("//input[@value='Ajouter']")->click();
863 // On vérifie le message de validation
864 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
865 /** Fin **/
866 //
867 /** On ajoute un événement "retour signature" **/
868 // On clique sur le sous-menu "Événement"
869 $this->byLinkText("Événement")->click();
870 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
871 $this->verifyNoErrors();
872 // On clique sur le bouton "ajouter"
873 $this->byId("action-tab-evenement-corner-ajouter")->click();
874 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
875 $this->verifyNoErrors();
876 // On remplis les champs
877 $this->byId("libelle")->value("retour signature");
878 $this->byId("retour")->click();
879 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
880 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("dossier accepter");
881 $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
882 $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
883 $this->select($this->byId("action"))->selectOptionByLabel("retour signature");
884 // On valide le formulaire
885 $this->byXPath("//input[@value='Ajouter']")->click();
886 // On vérifie le message de validation
887 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
888 // On clique sur "Retour"
889 $this->byLinkText("Retour")->click();
890 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
891 $this->verifyNoErrors();
892 // On recherche l'événement "accepter un dossier sans réserve"
893 $this->byCssSelector("input[name='recherche']")->value('accepter un dossier sans réserve');
894 // On clique sur le bouton recherche
895 $this->byCssSelector(".ui-button")->click();
896 // On clique sur le résultat
897 $this->byLinkText("accepter un dossier sans réserve")->click();
898 // On clique sur le bouton "Modifier"
899 $this->byId('action-form-evenement-modifier')->click();
900 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
901 $this->verifyNoErrors();
902 // On sélectionne l'événement "retour" dans "evenement_retour_signature"
903 $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("retour signature");
904 // On valide le formulaire
905 $this->byXPath("//input[@value='Modifier']")->click();
906 // On vérifie le message de validation
907 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
908 /** Fin **/
909 //
910 /** On ajoute une durée de validité au type de DA PCI **/
911 // On clique sur le sous-menu "Type DA Détaillé"
912 $this->byLinkText("Type DA Détaillé")->click();
913 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
914 $this->verifyNoErrors();
915 // On clique sur le PCI
916 $this->byLinkText("PCI")->click();
917 // On clique sur le bouton "modifier"
918 $this->byId("action-form-dossier_autorisation_type_detaille-modifier")->click();
919 // On modifie la durée de validité
920 $this->byId("duree_validite_parametrage")->clear();
921 $this->byId("duree_validite_parametrage")->value("5");
922 // On valide le formulaire
923 $this->byXPath("//input[@value='Modifier']")->click();
924 // On vérifie le message de validation
925 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
926 /** Fin **/
927 //
928 /** On instancie une nouvelle demande initial PCI **/
929 // On clique sur le menu "Guichet Unique"
930 $this->byLinkText("Guichet Unique")->click();
931 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
932 $this->verifyNoErrors();
933 // On clique sur le sous-menu "Nouveau Dossier"
934 $this->byLinkText("Nouveau Dossier")->click();sleep(1);
935 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
936 $this->verifyNoErrors();
937 // On selectionne le type de dossier d'autorisation détaillé "Permis de construire pour une maison individuelle et / ou ses annexes"
938 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
939 // On selectionne le type de demande "Dépôt Initial"
940 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
941 // Puis la collectivité
942 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
943 // On clique pour ajouter un pétitionnaire principale
944 $this->byId("add_petitionnaire_principal")->click();
945 $this->byId("particulier_nom")->value("DURAND");
946 $this->byId("particulier_prenom")->value("MICKAEL");
947 $this->byId("particulier_date_naissance")->value("03/01/1956");
948 $this->byId("particulier_commune_naissance")->value("LILLE");
949 $this->byId("particulier_departement_naissance")->value("NORD");
950 $this->byId("numero")->value("12");
951 $this->byId("voie")->value("RUE DE LA LOI");
952 $this->byId("complement")->value("APPT 12");
953 $this->byId("localite")->value("MARSEILLE");
954 $this->byId("code_postal")->value("13012");
955 $this->byId("telephone_fixe")->value("0404040404");
956 $this->select($this->byCssSelector("#sformulaire #om_collectivite"))->selectOptionByLabel("agglo");
957 // On clique sur ajouter
958 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
959 // On vérifie le message
960 $this->assertContains("Vos modifications ont bien été enregistrées", $this->byCssSelector("#sousform-petitionnaire .message")->text());
961 // On clique sur le bouton retour
962 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
963 // On vérifie que le text est présent
964 $this->assertContains("DURAND MICKAEL",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
965 // On clique sur ajouter
966 $this->byXPath("//input[@value='Ajouter']")->click();
967 // On vérifie le message
968 $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
969 // Récupération du numéro de dossier
970 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
971 $dossier = $dossier[0];
972 /** Fin **/
973 //
974 /** On ajoute une instruction de dossier accepter et on la finalise **/
975 // On clique sur le menu "Instruction"
976 $this->byLinkText("Instruction")->click();
977 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
978 $this->verifyNoErrors();
979 // On clique sur le sous-menu "Recherche"
980 $this->byLinkText("Recherche")->click();
981 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
982 $this->verifyNoErrors();
983 // On recherche le dossier crée
984 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
985 // On clique sur le bouton recherche
986 $this->byId("adv-search-submit")->click();
987 // On clique sur le résultat
988 $this->byLinkText($dossier)->click();
989 // On clique sur l'onglet "Instruction"
990 $this->byId("instruction")->click();
991 // On ajoute un événement d'instruction
992 $this->byId("action-soustab-instruction-corner-ajouter")->click();
993 // On choisit un signataire Albert Dupont
994 $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
995 //On choisit l'instruction 'accepter un dossier sans réserve
996 //[acceptation]'
997 $this->select($this->byId("evenement"))->selectOptionByValue(81);
998 // On valide le formulaire
999 $this->byXPath("//input[@value='Ajouter']")->click();
1000 // On vérifie le message
1001 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
1002 // On clique sur le bouton "retour"
1003 $this->byLinkText("Retour")->click();
1004 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1005 $this->verifyNoErrors();
1006 // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
1007 $this->byLinkText("accepter un dossier sans réserve")->click();
1008 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1009 $this->verifyNoErrors();
1010 // On valide l'instruction
1011 $this->byId("action-sousform-instruction-finaliser")->click();
1012 // On vérifie le message de validation
1013 $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1014 sleep(1);
1015 // On clique sur le bouton "Retour"
1016 $this->byLinkText("Retour")->click();
1017 // On clique sur l'événement "accepter un dossier sans réserve"
1018 $this->byLinkText("accepter un dossier sans réserve")->click();sleep(1);
1019 // Récupération du numéro d'événement
1020 $evenement = $this->byCssSelector("#instruction.field_value")->text();
1021 /** Fin **/
1022 //
1023 /** On met à jour la date de retour signature **/
1024 // Date de retour signature
1025 $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5, date("Y")));
1026 // On clique sur le menu "Suivi"
1027 $this->byLinkText("Suivi")->click();
1028 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1029 $this->verifyNoErrors();
1030 // On clique sur le sous-menu "Mise À Jour Des Dates"
1031 $this->byLinkText("Mise À Jour Des Dates")->click();
1032 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1033 $this->verifyNoErrors();
1034 // On sélectionne "date de retour de signature + Envoi contrôle légalite"
1035 $this->select($this->byId("type_mise_a_jour"))->selectOptionByLabel("date de retour de signature + Envoi contrôle légalite");
1036 // On remplit à la date du jour + 5 jours
1037 $this->byId("date")->value($date_retour_signature);
1038 // On remplit le code barres de l'instruction
1039 $this->byId("code_barres")->value("11".str_pad($evenement, 10, "0", STR_PAD_LEFT));
1040 // On clique sur Valider
1041 $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();sleep(1);
1042 // On vérifie la synthèse avec le numéro du dossier et l'événement
1043 $this->assertContains($dossier, $this->byId("dossier_libelle")->text());
1044 $this->assertContains("accepter un dossier sans réserve", $this->byId("evenement")->text());
1045 // On clique sur Valider
1046 $this->byCssSelector("#suivi_mise_a_jour_des_dates_form div.formControls input.om-button")->click();
1047 // On vérifie le message de validation
1048 $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
1049 /** Fin **/
1050 //
1051 /** Vérifie l'instruction "retour" et le DI **/
1052 // Date de validité
1053 $date_validite = $this->mois_date(date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+5, date("Y"))), 5, "+");
1054 $date_validite = date("d/m/Y", strtotime($date_validite));
1055 // On clique sur le menu "Instruction"
1056 $this->byLinkText("Instruction")->click();
1057 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1058 $this->verifyNoErrors();
1059 // On clique sur le sous-menu "Recherche"
1060 $this->byLinkText("Recherche")->click();
1061 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1062 $this->verifyNoErrors();
1063 // On recherche le dossier crée
1064 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1065 // On clique sur le bouton recherche
1066 $this->byId("adv-search-submit")->click();
1067 // On clique sur le résultat
1068 $this->byLinkText($dossier)->click();
1069 // On vérifie la date de validité mise à jour par l'action
1070 $this->assertContains($date_validite, $this->byId("date_validite")->text());
1071 // On clique sur l'onglet "Instruction"
1072 $this->byId("instruction")->click();
1073 // On clique sur l'instruction "retour signature"
1074 $this->byLinkText("retour signature")->click();
1075 // On contrôle la date de retour signature
1076 $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
1077 /** Fin **/
1078 //
1079 // On se déconnecte
1080 $this->logout();
1081 //
1082 }
1083 //
1084 /**
1085 * test la suppression d'un événement d'instruction lié à une demande qui ne
1086 * créée pas de nouveau dossier d'instruction
1087 */
1088 public function test_09_suppression_evenement_demande(){
1089 //
1090 //Ajout du paramétrage d'une nouvelle demande
1091 // On se connecte à l'application en tant qu'administrateur
1092 $this->login("admin", "admin");
1093 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1094 $this->verifyNoErrors();
1095 //On clique sur "Paramétrage dossier"
1096 $this->byLinkText("Paramétrage Dossiers")->click();
1097 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1098 $this->verifyNoErrors();
1099 //On clique sur Type
1100 $this->byLinkText("Type")->click();
1101 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1102 $this->verifyNoErrors();
1103 //On clique sur le "+" du tableau
1104 $this->byClassName("add-16")->click();
1105 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1106 $this->verifyNoErrors();
1107 //On saisit le type de la demande
1108 $this->byId("code")->value("test_09_suppression");
1109 $this->byId("libelle")->value("test_09_suppression");
1110 // On sélectionne le groupe 'Autorisation ADS'
1111 $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
1112 // On sélectionne 'AZ (Demande d'autorisation spéciale de travaux dans
1113 // le périmètre d'une AVAP)'
1114 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
1115 // On sélectionne la nature 'Dossier existant'
1116 $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
1117 // On sélectionne l'état 'En cours'
1118 $this->select($this->byName("etats_autorises[]"))->selectOptionByValue("notifier");
1119 // On sélectionne l'événement 'Defrichement soumis a enquete publique'
1120 $this->select($this->byId("evenement"))->selectOptionByValue("15");
1121 // On sélectionne la contrainte 'Avec récupération demandeur'
1122 $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
1123 // On clique sur le bouton ajouter
1124 $this->byXPath("//input[@value='Ajouter']")->click();
1125 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1126 $this->verifyNoErrors();
1127 // On vérifie que le type de demande a bien été ajouté
1128 $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1129 //On se déconnecte
1130 $this->deconnect();
1131 //
1132 //Création d'un nouveau dossier d'instruction
1133 // On se connecte à l'application
1134 $this->login("guichet", "guichet");
1135 //On clique sur "Dossier En Cours"
1136 $this->byLinkText("Dossier En Cours")->click();
1137 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1138 $this->verifyNoErrors();
1139 //On clique sur le dossier "AZ0130551200001P0"
1140 $this->byId("action-tab-demande_dossier_encours-left-consulter-AZ0130551200001P0")->click();
1141 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1142 $this->verifyNoErrors();
1143 // On vérifie l'état du DI
1144 $this->assertContains("delai de notification envoye", $this->byCssSelector("#fieldset-form-demande_dossier_encours-etat-du-dossier-d_instruction.cadre .fieldsetContent .form-content")->text());
1145 //On sélectionne le type de la demande
1146 $this->select($this->byId("demande_type"))->selectOptionByLabel("test_09_suppression");sleep(1);
1147 // On clique sur le bouton ajouter
1148 $this->byXPath("//input[@value='Ajouter']")->click();
1149 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1150 $this->verifyNoErrors();
1151 // On vérifie que le type de demande a bien été ajouté
1152 $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1153 //On se déconnecte
1154 $this->deconnect();
1155 //
1156 //Suppression de l'événement d'instruction
1157 // On se connecte à l'application
1158 $this->login("admin", "admin");
1159 //On clique sur le menu "Instruction"
1160 $this->byLinkText("Instruction")->click();
1161 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1162 $this->verifyNoErrors();
1163 //On clique sur le menu "Recherche"
1164 $this->byLinkText("Recherche")->click();
1165 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1166 $this->verifyNoErrors();
1167 //On clique sur le dossier "AZ 013055 12 00001P0"
1168 $this->byLinkText("AZ 013055 12 00001P0")->click();
1169 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1170 $this->verifyNoErrors();
1171 //On clique sur l'onglet "Instruction"
1172 $this->byId("instruction")->click();
1173 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1174 $this->verifyNoErrors();
1175 //On clique sur l'instruction "Defrichement soumis a enquete publique"
1176 $this->byLinkText("Defrichement soumis a enquete publique")->click();
1177 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1178 $this->verifyNoErrors();
1179 //On définalise l'instruction
1180 $this->byClassName("definalise")->click();
1181 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1182 $this->verifyNoErrors();
1183 //On clique "Supprimer"
1184 $this->byCssSelector("#sousform-instruction .delete-16")->click();
1185 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1186 $this->verifyNoErrors();
1187 //On clique sur supprimer
1188 $this->byXPath("//input[@value='Supprimer']")->click();
1189 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1190 $this->verifyNoErrors();
1191 //On vérifie que lasuppression a été éffectuée
1192 $this->assertContains("La suppression a été correctement effectuée.",
1193 $this->byCssSelector("#sousform-instruction .message .text")->text());
1194 // On se déconnecte
1195 $this->logout();
1196 }
1197
1198 /**
1199 * test sur un événement non verrouillable
1200 */
1201 public function test_11_evenement_non_verrouillable(){
1202 //
1203 /* On crée une nouvelle demande initial */
1204 // On se connecte à l'application
1205 $this->login("guichet", "guichet");
1206 // On clique sur le menu "Nouveau Dossier"
1207 $this->byLinkText("Nouveau Dossier")->click();
1208 // On vérifie qu'il n'y ait pas d'erreur
1209 $this->verifynoerrors();
1210 // On vérifie le nom de l'onglet
1211 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
1212 // On sélectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
1213 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
1214 // On selectionne le label "Dépôt Initial"
1215 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
1216 // On clique pour ajouter un pétitionnaire principale
1217 $this->byId("add_petitionnaire_principal")->click();
1218 // On remplit le champ
1219 $this->byId("particulier_nom")->value("DURAND");
1220 // On remplit le champ
1221 $this->byId("particulier_prenom")->value("MICKAEL");
1222 // On remplit le champ
1223 $this->byId("particulier_date_naissance")->value("03/01/1956");
1224 // On remplit le champ
1225 $this->byId("particulier_commune_naissance")->value("LILLE");
1226 // On remplit le champ
1227 $this->byId("particulier_departement_naissance")->value("NORD");
1228 // On remplit le champ
1229 $this->byId("numero")->value("12");
1230 // On remplit le champ
1231 $this->byId("voie")->value("RUE DE LA LOI");
1232 // On remplit le champ
1233 $this->byId("complement")->value("APPT 12");
1234 // On remplit le champ
1235 $this->byId("localite")->value("MARSEILLE");
1236 // On remplit le champ
1237 $this->byId("code_postal")->value("13012");
1238 // On remplit le champ
1239 $this->byId("telephone_fixe")->value("0404040404");
1240 // On clique sur ajouter
1241 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
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]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1246 // On clique sur le bouton retour
1247 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1248 // On vérifie que le text est présent
1249 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1250 // On clique sur ajouter
1251 $this->byXPath("//input[@value='Ajouter']")->click();
1252 // On vérifie qu'il n'y ait pas d'erreur
1253 $this->verifynoerrors();
1254 // On vérifie le message
1255 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
1256 // Récupération du numéro de dossier
1257 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
1258 $dossier_libelle = $matches[0];
1259 $dossier = str_replace(' ', '', $dossier_libelle);
1260 // On clique
1261 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
1262 // Liste les fenêtres
1263 $windows = $this->windowHandles();
1264 // Change la fenêtre
1265 $this->window($windows[1]);
1266 // On vérifie qu'il n'y ait pas d'erreur
1267 $this->verifynoerrors();
1268 // On vérifie que le text est présent
1269 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
1270 // On ferme la fenêtre
1271 $this->closeWindow();
1272 // On change le focus de la fenêtre
1273 $this->window($windows[0]);
1274 // On clique sur le bouton retour
1275 $this->byLinkText("Retour")->click();
1276 // On vérifie qu'il n'y ait pas d'erreur
1277 $this->verifynoerrors();
1278 // On se déconnecte
1279 $this->deconnect();
1280 /* Fin */
1281 //
1282 /* On accepte le dossier d'instruction et le finalise */
1283 // On se connecte à l'application
1284 $this->login("instr", "instr");
1285 // On clique sur le menu 'Recherche'
1286 $this->byLinkText("Recherche")->click();
1287 // On recherche le dossier crée
1288 $this->byId("dossier")->value($dossier);
1289 // On clique sur le bouton recherche
1290 $this->byId("adv-search-submit")->click();
1291 // On clique sur le résultat
1292 $this->byLinkText($dossier_libelle)->click();
1293 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1294 $this->verifyNoErrors();
1295 // On clique sur l'onglet "Instruction"
1296 $this->byId("instruction")->click();
1297 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1298 $this->verifyNoErrors();
1299 // On clique sur le lien d'ajout dans le tableau
1300 $this->byCssSelector(".actions-max-1 a")->click();
1301 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1302 $this->verifyNoErrors();
1303 //On choisit l'instruction 'accepter un dossier sans réserve
1304 //[acceptation]'
1305 $this->select($this->byId("evenement"))->selectOptionByValue(81);
1306 // On valide le formulaire
1307 $this->byXPath("//input[@value='Ajouter']")->click();
1308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1309 $this->verifyNoErrors();
1310 sleep(1);
1311 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
1312 // On retourne sur le tableau d'instructions
1313 $this->byCssSelector("#sousform-instruction .retour")->click();
1314 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1315 $this->verifyNoErrors();
1316 // On clique sur l'événement d'instruction "accepter un dossier sans réserve"
1317 $this->byLinkText("accepter un dossier sans réserve")->click();
1318 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1319 $this->verifyNoErrors();
1320 // On valide l'instruction (un événement verrouillable ne pourrait pas
1321 // être finalisé)
1322 $this->byId("action-sousform-instruction-finaliser")->click();
1323 // On vérifie le message de validation
1324 $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1325 /* Fin */
1326 }
1327 //
1328 /**
1329 * test que les données du dossier d'autorisation sont recopiés dans les
1330 * champs 'archive_' de l'événement d'instruction de la création du nouveau
1331 * dossier d'instruction
1332 */
1333 public function test_12_recopie_donnees_da_vers_nouveau_di(){
1334 //
1335 //{{{ Ajout de d'un nouveau dossier
1336 // On se connecte à l'application
1337 $this->login("guichet", "guichet");
1338 //On clique sur le menu des instructions
1339 $this->byLinkText("Nouveau Dossier")->click();
1340 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1341 $this->verifyNoErrors();
1342 //On ajoute un nouveau dossier
1343 $dossier = $this->addDossierInstruction( 1, 1);
1344 // On se déconnecte
1345 $this->deconnect();
1346 //}}}
1347 //
1348 //{{{ Clôture du nouveau dossier
1349 // On se connecte à l'application
1350 $this->login("instr", "instr");
1351 //On clique sur le menu "Recherche"
1352 $this->byLinkText("Recherche")->click();
1353 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1354 $this->verifyNoErrors();
1355 // On recherche le dossier crée
1356 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1357 // On clique sur le bouton recherche
1358 $this->byId("adv-search-submit")->click();
1359 // On clique sur le résultat
1360 $this->byLinkText($dossier)->click();
1361 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1362 $this->verifyNoErrors();
1363 //On clique sur l'onglet "instruction"
1364 $this->byId("instruction")->click();
1365 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1366 $this->verifyNoErrors();
1367 // On ajoute une instruction
1368 $this->byCssSelector("#sousform-instruction .add-16")->click();
1369 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1370 $this->verifyNoErrors();
1371 //On choisit l'instruction 'accepter un dossier sans réserve
1372 //[acceptation]'
1373 $this->select($this->byId("evenement"))->selectOptionByValue(81);
1374 // On clique sur ajouter
1375 $this->byXPath("//input[@value='Ajouter']")->click();
1376 // On vérifie qu'il n'y ait pas d'erreur
1377 $this->verifynoerrors();
1378 // On vérifie le message
1379 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1380 //On rafraichit la page pour vérifier que le dossier est clôturé
1381 $this->refresh();
1382 $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1383 // On se déconnecte
1384 $this->deconnect();
1385 //}}}
1386 //
1387 //{{{ Ajout de l'action
1388 // On se connecte à l'application
1389 $this->login("admin", "admin");
1390 //On clique sur le menu "Paramétrage dossiers"
1391 $this->byLinkText("Paramétrage Dossiers")->click();
1392 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1393 $this->verifyNoErrors();
1394 //On clique sur le menu "Action"
1395 $this->byLinkText("Action")->click();
1396 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1397 $this->verifyNoErrors();
1398 //On clique sur le "+" du tableau
1399 $this->byClassName("add-16")->click();
1400 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1401 $this->verifyNoErrors();
1402 //On remplit la règle de calcul de la date de validité
1403 $this->byId("action")->value("test_12_recopie_donnees");
1404 $this->byId("libelle")->value("test_12_recopie_donnees");
1405 $this->byId("regle_date_validite")->value("archive_date_validite+12");
1406 // On clique sur ajouter
1407 $this->byXPath("//input[@value='Ajouter']")->click();
1408 // On vérifie qu'il n'y ait pas d'erreur
1409 $this->verifynoerrors();
1410 // On vérifie le message
1411 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1412 //}}}
1413 //
1414 //{{{ Ajout de l'événement
1415 //On clique sur le menu "Événement"
1416 $this->byLinkText("Événement")->click();
1417 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1418 $this->verifyNoErrors();
1419 //On clique sur le "+" du tableau
1420 $this->byClassName("add-16")->click();
1421 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1422 $this->verifyNoErrors();
1423 //On remplit l'événement qui va être ajouté avec la nouvelle demande
1424 $this->byId("libelle")->value("test_12_recopie_donnees");
1425 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByValue("accepter");
1426 // On sélectionne PCI - P - Initial
1427 $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByValue(1);
1428 $this->select($this->byName("action"))->selectOptionByLabel("test_12_recopie_donnees");
1429 // On clique sur ajouter
1430 $this->byXPath("//input[@value='Ajouter']")->click();
1431 // On vérifie qu'il n'y ait pas d'erreur
1432 $this->verifynoerrors();
1433 // On vérifie le message
1434 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1435 //}}}
1436 //
1437 //{{{ Ajout du type de dossier d'instruction
1438 //On clique sur le menu "Type DI"
1439 $this->byLinkText("Type DI")->click();
1440 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1441 $this->verifyNoErrors();
1442 //On clique sur le "+" du tableau
1443 $this->byClassName("add-16")->click();
1444 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1445 $this->verifyNoErrors();
1446 //On remplit le type de la demande
1447 $this->byId("code")->value("DT");
1448 $this->byId("libelle")->value("test_12_recopie_donnees");
1449 // On sélectionne PCI (Permis de construire pour une maison individuelle
1450 // et / ou ses annexes)
1451 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);sleep(1);
1452 $this->byId("suffixe")->click();
1453 // On clique sur ajouter
1454 $this->byXPath("//input[@value='Ajouter']")->click();
1455 // On vérifie qu'il n'y ait pas d'erreur
1456 $this->verifynoerrors();
1457 // On vérifie le message
1458 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1459 //}}}
1460 //
1461 //{{{ Ajout du type de la demande
1462 //On clique sur le menu "Type"
1463 $this->byLinkText("Type")->click();
1464 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1465 $this->verifyNoErrors();
1466 //On clique sur le "+" du tableau
1467 $this->byClassName("add-16")->click();
1468 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1469 $this->verifyNoErrors();
1470 //On remplit le type de la demande
1471 $this->byId("code")->value("test_12_recopie_donnees");
1472 $this->byId("libelle")->value("test_12_recopie_donnees");
1473 // On sélectionne Autorisation ADS
1474 $this->select($this->byId("groupe"))->selectOptionByValue(1);sleep(1);
1475 // On sélectionne PCI (Permis de construire pour une maison individuelle
1476 // et / ou ses annexes)
1477 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1478 // On sélectionne Dossier existant
1479 $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1480 // On sélectionne Accordé
1481 $this->select($this->byName("etats_autorises[]"))->selectOptionByValue('accepter');
1482 $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1483 $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1484 // On clique sur ajouter
1485 $this->byXPath("//input[@value='Ajouter']")->click();
1486 // On vérifie qu'il n'y ait pas d'erreur
1487 $this->verifynoerrors();
1488 // On vérifie le message
1489 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1490 //On clique sur retour
1491 $this->byClassName("retour")->click();
1492 // On vérifie qu'il n'y ait pas d'erreur
1493 $this->verifynoerrors();
1494 //On saisit le libellé du type de la demande saisit
1495 $this->byName("recherche")->value("test_12_recopie_donnees");
1496 //On valide
1497 $this->byName("s1")->click();
1498 // On vérifie qu'il n'y ait pas d'erreur
1499 $this->verifynoerrors();
1500 //On clique sur le type de la demande
1501 $this->byLinkText("test_12_recopie_donnees")->click();
1502 // On vérifie qu'il n'y ait pas d'erreur
1503 $this->verifynoerrors();
1504 //On récupère l'identifiant du type de la demande
1505 $demande_type = $this->byId("demande_type")->text();
1506 // On se déconnecte
1507 $this->deconnect();
1508 //}}}
1509 //
1510 //{{{ Ajout de d'un nouveau dossier
1511 // On se connecte à l'application
1512 $this->login("guichet", "guichet");
1513 //On clique sur le menu des instructions
1514 $this->byLinkText("Dossier En Cours")->click();
1515 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1516 $this->verifyNoErrors();
1517 //On ajoute un nouveau dossier
1518 $dossier = $this->addDossierInstruction(1, $demande_type, "Test validité", 2, str_replace(" ", "", $dossier));
1519 // On se déconnecte
1520 $this->deconnect();
1521 //}}}
1522 //
1523 //{{{ Vérification de la date de validité
1524 // On se connecte à l'application
1525 $this->login("instr", "instr");
1526 //On clique sur le menu "Recherche"
1527 $this->byLinkText("Recherche")->click();
1528 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1529 $this->verifyNoErrors();
1530 // On recherche le dossier crée
1531 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1532 // On clique sur le bouton recherche
1533 $this->byId("adv-search-submit")->click();
1534 // On clique sur le résultat
1535 $this->byLinkText($dossier)->click();
1536 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1537 $this->verifyNoErrors();
1538 //On vérifie la date de validité
1539 $date_validite = $this->mois_date(date("Y-m-d"), 12, "+");
1540 $date_validite = date("d/m/Y", strtotime($date_validite));
1541 $this->assertEquals($date_validite, $this->byId("date_validite")->text());
1542 // On se déconnecte
1543 $this->deconnect();
1544 //}}}
1545 }
1546 //
1547 /**
1548 * test de la numérotation des DI successifs
1549 */
1550 function test_13_numerotation_dossier_instruction_successif(){
1551 //
1552 //{{{ Ajout de d'un nouveau dossier d'instruction P0
1553 // On se connecte à l'application
1554 $this->login("guichet", "guichet");
1555 // On clique sur le menu "Nouveau Dossier"
1556 $this->byLinkText("Nouveau Dossier")->click();
1557 // On vérifie qu'il n'y ait pas d'erreur
1558 $this->verifynoerrors();
1559 // On ajoute un nouveau dossier d'instruction
1560 $dossierP0 = str_replace(" ", "", trim($this->addDossierInstruction(1, 1)));
1561 // On se déconnecte
1562 $this->deconnect();
1563 //}}}
1564 //
1565 //{{{ Accord du P0 créé
1566 // On se connecte à l'application
1567 $this->login("instr", "instr");
1568 // On clique sur le menu "Recherche"
1569 $this->byLinkText("Recherche")->click();
1570 // On vérifie qu'il n'y ait pas d'erreur
1571 $this->verifynoerrors();
1572 // On saisit le numéro du dossier d'instruction
1573 $this->byId("dossier")->value($dossierP0);
1574 // On valide la recherche
1575 $this->byId("adv-search-submit")->click();
1576 // On vérifie qu'il n'y ait pas d'erreur
1577 $this->verifynoerrors();
1578 // On clique sur le dossier d'instruction
1579 $this->byId("action-tab-dossier_instruction-left-consulter-".$dossierP0)->click();
1580 // On vérifie qu'il n'y ait pas d'erreur
1581 $this->verifynoerrors();
1582 // On clique sur l'onglet instruction
1583 $this->byId("instruction")->click();
1584 // On vérifie qu'il n'y ait pas d'erreur
1585 $this->verifynoerrors();
1586 // On clique sur le + du tableau
1587 $this->byClassName("add-16")->click();
1588 // On vérifie qu'il n'y ait pas d'erreur
1589 $this->verifynoerrors();
1590 // On choisit l'événement n°81 accepter un dossier sans réserve
1591 $this->select($this->byName("evenement"))->selectOptionByValue(81);
1592 // On clique sur ajouter
1593 $this->byXPath("//input[@value='Ajouter']")->click();
1594 sleep(1);
1595 // On vérifie qu'il n'y ait pas d'erreur
1596 $this->verifynoerrors();
1597 // On vérifie que l'événement d'instruction s'est bien ajouté
1598 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());
1599 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1600 $this->verifyNoErrors();
1601 // On se déconnecte
1602 $this->deconnect();
1603 //}}}
1604 //
1605 //{{{ Ajout d'un nouveau type de dossier d'instruction
1606 // On se connecte à l'application
1607 $this->login("admin", "admin");
1608 // On clique sur le menu "Paramétrage Dossiers"
1609 $this->byLinkText("Paramétrage Dossiers")->click();
1610 // On vérifie qu'il n'y ait pas d'erreur
1611 $this->verifynoerrors();
1612 // On clique sur le menu "Type DI"
1613 $this->byLinkText("Type DI")->click();
1614 // On vérifie qu'il n'y ait pas d'erreur
1615 $this->verifynoerrors();
1616 // On clique sur le + du tableau
1617 $this->byClassName("add-16")->click();
1618 // On vérifie qu'il n'y ait pas d'erreur
1619 $this->verifynoerrors();
1620 //On saisit les données
1621 $this->byId("code")->value("TN");
1622 $this->byId("libelle")->value("Test numérotation");
1623 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1624 $this->byId("suffixe")->click();
1625 // On clique sur ajouter
1626 $this->byXPath("//input[@value='Ajouter']")->click();
1627 // On vérifie qu'il n'y ait pas d'erreur
1628 $this->verifynoerrors();
1629 // On vérifie que le type de dossier d'instruction s'est bien ajouté
1630 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1631 // On clique sur "Retour"
1632 $this->byClassName("retour")->click();
1633 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1634 $this->verifyNoErrors();
1635 //On saisie le nom due l'événement dans la recherche simple
1636 $this->byName("recherche")->value("Test numérotation");
1637 //On valide la recherche
1638 $this->byName('s1')->submit();
1639 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1640 $this->verifyNoErrors();
1641 //On clique sur l'événement
1642 $this->byLinkText("Test numérotation")->click();
1643 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1644 $this->verifyNoErrors();
1645 //On récupère l'identifiant
1646 $dossier_instruction_type = trim($this->byId("dossier_instruction_type")->text());
1647 //}}}
1648 //
1649 //{{{ Ajout d'un nouveau type de demande
1650 // On clique sur le menu "Type"
1651 $this->byLinkText("Type")->click();
1652 // On vérifie qu'il n'y ait pas d'erreur
1653 $this->verifynoerrors();
1654 // On clique sur le + du tableau
1655 $this->byClassName("add-16")->click();
1656 // On vérifie qu'il n'y ait pas d'erreur
1657 $this->verifynoerrors();
1658 //On saisit les données
1659 $this->byId("code")->value("TN");
1660 $this->byId("libelle")->value("Test numérotation");
1661 $this->select($this->byId("groupe"))->selectOptionByValue(1);
1662 sleep(1);
1663 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1664 sleep(1);
1665 $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1666 sleep(1);
1667 $this->select($this->byName("etats_autorises[]"))->selectOptionByValue('accepter');
1668 sleep(1);
1669 $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue($dossier_instruction_type);
1670 sleep(1);
1671 $this->select($this->byId("evenement"))->selectOptionByValue(1);
1672 // On clique sur ajouter
1673 $this->byXPath("//input[@value='Ajouter']")->click();
1674 // On vérifie qu'il n'y ait pas d'erreur
1675 $this->verifynoerrors();
1676 // On vérifie qu'il n'y ait pas d'erreur
1677 $this->verifynoerrors();
1678 // On vérifie que le type de dossier d'instruction s'est bien ajouté
1679 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1680 // On clique sur "Retour"
1681 $this->byClassName("retour")->click();
1682 // On vérifie qu'il n'y ait pas d'erreur
1683 $this->verifynoerrors();
1684 // On saisit le libelle du type de la demande nouvellement créée
1685 $this->byClassName("champFormulaire")->value("Test numérotation");
1686 // On valide la recherche
1687 $this->byName("f1")->submit();
1688 //On clique sur le type de la demande
1689 $this->byLinkText("Test numérotation")->click();
1690 // On vérifie qu'il n'y ait pas d'erreur
1691 $this->verifynoerrors();
1692 // On récupère l'identifiant
1693 $idDemandeType = trim($this->byId("demande_type")->text());
1694 // On se déconnecte
1695 $this->deconnect();
1696 //}}}
1697 //
1698 //{{{ Ajout de d'un nouveau dossier d'instruction avec le nouveau type
1699 //de dossier d'instruction
1700 // On se connecte à l'application
1701 $this->login("guichet", "guichet");
1702 // On clique sur le menu "Dossier En Cours"
1703 $this->byLinkText("Dossier En Cours")->click();
1704 // On vérifie qu'il n'y ait pas d'erreur
1705 $this->verifynoerrors();
1706 // On ajoute un nouveau dossier d'instruction
1707 $dossierTN01 = trim($this->addDossierInstruction(1, $idDemandeType, "Test nouveau DI", 3, $dossierP0));
1708 //On vérifie que le numéro du dossier d'instruction est celui attendu
1709 assert(preg_match('/(PC)[0-9 ]*(TN01)/', $dossierTN01) === 1);
1710 // On se déconnecte
1711 $this->deconnect();
1712 //}}}
1713
1714
1715 }
1716
1717 /**
1718 * test de la numérotation des DI successifs
1719 */
1720 function test_14_recalcul_donnees_DI_vers_DA(){
1721 //{{{ Ajout de d'un nouveau dossier
1722 // On se connecte à l'application
1723 $this->login("guichet", "guichet");
1724 //On clique sur le menu des instructions
1725 $this->byLinkText("Nouveau Dossier")->click();
1726 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1727 $this->verifyNoErrors();
1728 //On ajoute un nouveau dossier
1729 $dossier = $this->addDossierInstruction( 1, 1);
1730 // On se déconnecte
1731 $this->deconnect();
1732 //}}}
1733 //
1734 //{{{
1735 // Mise à jour des données techniques
1736 // On se connecte à l'application
1737 $this->login("instr", "instr");
1738 //On clique sur le menu "Recherche"
1739 $this->byLinkText("Recherche")->click();
1740 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1741 $this->verifyNoErrors();
1742 // On recherche le dossier crée
1743 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1744 // On clique sur le bouton recherche
1745 $this->byId("adv-search-submit")->click();
1746 // On clique sur le résultat
1747 $this->byLinkText($dossier)->click();
1748 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1749 $this->verifyNoErrors();
1750 // Ouverture du formulaire des données techniques
1751 $this->byCssSelector("#formulaire .rediger-16")->click();
1752 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1753 $this->verifyNoErrors();
1754 // Modification des données techniques
1755 $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
1756 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1757 $this->verifyNoErrors();
1758 sleep(5);
1759 // On déplie le fieldset Construire
1760 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1761 sleep(5);
1762 // On déplie le fieldset Destinations et surfaces des constructions
1763 $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1764 sleep(1);
1765 //On remplit des données techniques
1766 $this->byId("su_cstr_shon1")->value("120");
1767 // On clique sur ajouter
1768 $this->byXPath("//input[@value='Modifier']")->click();
1769 sleep(1);
1770 // On vérifie qu'il n'y ait pas d'erreur
1771 $this->verifynoerrors();
1772 // On vérifie le message
1773 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-donnees_techniques .message")->text());
1774 //On clique sur retour
1775 $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1776 //}}}
1777 //
1778 //{{{ Clôture du nouveau dossier
1779 //On clique sur le menu "Recherche"
1780 $this->byLinkText("Recherche")->click();
1781 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1782 $this->verifyNoErrors();
1783 // On recherche le dossier crée
1784 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1785 // On clique sur le bouton recherche
1786 $this->byId("adv-search-submit")->click();
1787 // On clique sur le résultat
1788 $this->byLinkText($dossier)->click();
1789 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1790 $this->verifyNoErrors();
1791 //On clique sur l'onglet "instruction"
1792 $this->byId("instruction")->click();
1793 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1794 $this->verifyNoErrors();
1795 // On ajoute une instruction
1796 $this->byCssSelector("#sousform-instruction .add-16")->click();
1797 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1798 $this->verifyNoErrors();
1799 //On choisit l'instruction 'accepter un dossier sans réserve
1800 //[acceptation]'
1801 $this->select($this->byId("evenement"))->selectOptionByValue(81);
1802 // On clique sur ajouter
1803 $this->byXPath("//input[@value='Ajouter']")->click();
1804 // On vérifie qu'il n'y ait pas d'erreur
1805 $this->verifynoerrors();
1806 // On vérifie le message
1807 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1808 //On rafraichit la page pour vérifier que le dossier est clôturé
1809 $this->refresh();
1810 $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1811 //}}}
1812 //
1813 //{{{ Vérification des données techniques dans la visu DA
1814 //On clique sur le menu "Recherche"
1815 $this->byLinkText("Recherche")->click();
1816 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1817 $this->verifyNoErrors();
1818 // On recherche le dossier crée
1819 $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1820 // On clique sur le bouton recherche
1821 $this->byId("adv-search-submit")->click();
1822 // On clique sur le résultat
1823 $this->byLinkText($dossier)->click();
1824 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1825 $this->verifyNoErrors();
1826 //On clique sur l'onglet "DA"
1827 $this->byId("dossier_autorisation")->click();
1828 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1829 $this->verifyNoErrors();
1830 // On ajoute une instruction
1831 $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();
1832 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1833 $this->verifyNoErrors();
1834 // Affichage des données techniques
1835 $this->byId("donnees_techniques_da")->click();
1836 sleep(1);
1837 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1838 $this->verifyNoErrors();
1839 // On déplie le fieldset Construire
1840 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1841 sleep(1);
1842 // On déplie le fieldset Destinations et surfaces des constructions
1843 $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1844 sleep(1);
1845 $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());
1846 //On clique sur retour
1847 $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1848 // On se déconnecte
1849 $this->deconnect();
1850 //}}}
1851
1852 // Vérification du calcul de l'état du DA
1853 //{{{ Ajout de d'un nouveau dossier
1854 // On se connecte à l'application
1855 $this->login("guichet", "guichet");
1856 //On clique sur le menu des instructions
1857 $this->byLinkText("Nouveau Dossier")->click();
1858 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1859 $this->verifyNoErrors();
1860 //On ajoute un nouveau dossier
1861 $dossier = $this->addDossierInstruction( 1, 1, "test recalcul état DA");
1862 // On se déconnecte
1863 $this->deconnect();
1864 //}}}
1865 // On se connecte à l'application
1866 $this->login("instr", "instr");
1867 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1868 $this->verifyNoErrors();
1869 // On clique sur le lien "Mes encours" dans le menu
1870 $this->byLinkText("Mes Encours")->click();
1871 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1872 $this->verifyNoErrors();
1873 sleep(1);
1874 //On cherche le dossier d'instruction
1875 $this->byName("recherche")->value(str_replace(" ", "", $dossier));
1876 // On valide la recherche
1877 $this->byName("s1")->click();
1878 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1879 $this->verifyNoErrors();
1880 // On clique sur le dossier dernièrement créé
1881 $this->byLinkText($dossier)->click();
1882 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1883 $this->verifyNoErrors();
1884 $this->verifierEtatDA($dossier,81, "Accordé");
1885 // On se déconnecte
1886 $this->deconnect();
1887 //}}}
1888 //{{{ Ajout de d'un nouveau dossier
1889 // On se connecte à l'application
1890 $this->login("guichet", "guichet");
1891 //On clique sur le menu des instructions
1892 $this->byLinkText("Nouveau Dossier")->click();
1893 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1894 $this->verifyNoErrors();
1895 //On ajoute un nouveau dossier
1896 $dossier = $this->addDossierInstruction( 1, 1, "test recalcul état DA");
1897 // On se déconnecte
1898 $this->deconnect();
1899 //}}}
1900 // On se connecte à l'application
1901 $this->login("instr", "instr");
1902 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1903 $this->verifyNoErrors();
1904 // On clique sur le lien "Mes encours" dans le menu
1905 $this->byLinkText("Mes Encours")->click();
1906 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1907 $this->verifyNoErrors();
1908 sleep(1);
1909 //On cherche le dossier d'instruction
1910 $this->byClassName("champFormulaire")->value(str_replace(" ", "", $dossier));
1911 // On valide la recherche
1912 $this->byId("f1")->submit();
1913 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1914 $this->verifyNoErrors();
1915 // On clique sur le dossier dernièrement créé
1916 $this->byLinkText($dossier)->click();
1917 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1918 $this->verifyNoErrors();
1919 $this->verifierEtatDA($dossier,31, "Refusé");
1920 // On se déconnecte
1921 $this->deconnect();
1922 //}}}
1923 }
1924
1925 /*
1926 * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
1927 * d'instruction
1928 */
1929 public function test_15_envoi_de_message_erp(){
1930
1931 // On se connecte en tant que "admin"
1932 $this->login("admin", "admin");
1933 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1934 $this->verifyNoErrors();
1935 //On clique sur Paramétrage Dossiers
1936 $this->byLinkText("Paramétrage Dossiers")->click();
1937 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1938 $this->verifyNoErrors();
1939 //On clique sur Service
1940 $this->byLinkText("Événement")->click();
1941 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1942 $this->verifyNoErrors();
1943 //Initialisation de la variable
1944 $evenements = array();
1945 //{{{ Ajout d'événements
1946 //On ajoute trois événements
1947 for ($i = 1 ; $i < 3 ; $i++){
1948 $evenements[] = $this->addEvenement("test_evenement_erp_".$i);
1949 }
1950 //}}}
1951
1952 //{{{ On change trois variables erp_service_accessibilite,
1953 // erp_service_securite et erp_service_conformite
1954 //On clique sur Administration
1955 $this->byLinkText("Administration")->click();
1956 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1957 $this->verifyNoErrors();
1958 //On clique sur Paramètre
1959 $this->byLinkText("Paramètre")->click();
1960 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1961 $this->verifyNoErrors();
1962 $erp_evenement_accepter_sans_reserve = $this->changeParametreEvenementErp("erp_evenement_accepter_sans_reserve", $evenements[0]);
1963 $erp_evenement_refuser_dossier = $this->changeParametreEvenementErp("erp_evenement_refuser_dossier", $evenements[1]);
1964 $option_referentiel_arrete = $this->changeParametreEvenementErp("option_referentiel_arrete", 'true');
1965 ///}}}
1966 // On se déconnecte
1967 $this->deconnect();
1968
1969 // On se connecte en tant que "guichet"
1970 $this->login("guichet", "guichet");
1971 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1972 $this->verifyNoErrors();
1973 //{{{On ajoute un dossier d'instruction
1974 //On clique sur Nouveau Dossier
1975 $this->byLinkText("Nouveau Dossier")->click();
1976 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1977 $this->verifyNoErrors();
1978 //On ajoute le dossier
1979 $dossier = $this->addDossierInstruction("1", "1");
1980 //}}}
1981 // On se déconnecte
1982 $this->deconnect();
1983
1984 // On se connecte en tant que "instr"
1985 $this->login("instr", "instr");
1986 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1987 $this->verifyNoErrors();
1988 //{{{ On ajoute trois événement
1989 //On clique sur Nouveau Dossier
1990 $this->byLinkText("Recherche")->click();
1991 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1992 $this->verifyNoErrors();
1993 //On cherche le dossier d'instruction
1994 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
1995 // On valide la recherche
1996 $this->byId("adv-search-submit")->click();
1997 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1998 $this->verifyNoErrors();
1999 //On clique sur le dossier d'instruction
2000 $this->byLinkText($dossier)->click();
2001 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2002 $this->verifyNoErrors();
2003 //On clique sur Modifier
2004 $this->byClassName("edit-16")->click();
2005 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2006 $this->verifyNoErrors();
2007 //On clique sur erp
2008 $this->byId("erp")->click();
2009 //On valide le formulaire
2010 $this->byName("f1")->submit();
2011 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2012 $this->verifyNoErrors();
2013 // On vérifie le message
2014 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
2015 //On clique sur l'onglet instruction
2016 $this->byId("instruction")->click();
2017 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2018 $this->verifyNoErrors();
2019 //On ajoute trois consultations
2020 foreach ($evenements as $value) {
2021 $this->addInstruction($value);
2022 }
2023
2024 //On clique sur le + du tableau
2025 $this->byClassName("add-16")->click();
2026 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2027 $this->verifyNoErrors();
2028 //On choisit l'événement
2029 $this->select($this->byId("evenement"))->selectOptionByValue(81);
2030 //On valide le formulaire
2031 $this->byName("f2")->submit();
2032 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2033 $this->verifyNoErrors();
2034 // On vérifie que le message de validation est présent
2035 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2036 //On clique sur Retour
2037 $this->byLinkText("Retour")->click();
2038 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2039 $this->verifyNoErrors();
2040 //On clique sur l'instruction
2041 $this->byLinkText("accepter un dossier sans réserve")->click();
2042 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2043 $this->verifyNoErrors();
2044 //On récupère le numéro d'instruction
2045 //$instruction = trim($this->byId("instruction")->text());
2046 //On la finalise
2047 $this->byClassName("finalise")->click();
2048 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2049 $this->verifyNoErrors();
2050 // On vérifie que le message de validation est présent
2051 $this->assertContains('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2052 // On se déconnecte
2053 $this->deconnect();
2054
2055 // On se connecte en tant que "admin"
2056 $this->login("admin", "admin");
2057 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2058 $this->verifyNoErrors();
2059 //On clique sur instruction
2060 $this->byLinkText("Instruction")->click();
2061 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2062 $this->verifyNoErrors();
2063 //On clique sur Recherche
2064 $this->byLinkText("Recherche")->click();
2065 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2066 $this->verifyNoErrors();
2067 //On cherche le dossier d'instruction
2068 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2069 // On valide la recherche
2070 $this->byId("adv-search-submit")->click();
2071 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2072 $this->verifyNoErrors();
2073 //On clique sur le dossier d'instruction
2074 $this->byLinkText($dossier)->click();
2075 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2076 $this->verifyNoErrors();
2077 //On clique sur l'onglet instruction
2078 $this->byId("instruction")->click();
2079 //On clique sur l'instruction accepter un dossier sans réserve
2080 $this->byLinkText("accepter un dossier sans réserve")->click();
2081 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2082 $this->verifyNoErrors();
2083 //On la definalise
2084 $this->byClassName("definalise")->click();
2085 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2086 $this->verifyNoErrors();
2087 // On vérifie que le message de validation est présent
2088 $this->assertContains('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2089 //On clique sur modifier
2090 $this->byCssSelector("#sousform-instruction .edit-16")->click();
2091 sleep(2);
2092 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2093 $this->verifyNoErrors();
2094 //On choisit un signataire Albert Dupont
2095 $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
2096 //On remplit la date de retour sign
2097 $this->byId("date_retour_signature")->value(date('d/m/Y'));
2098 //On valide le formulaire
2099 $this->byName("f2")->submit();
2100 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2101 $this->verifyNoErrors();
2102 // On vérifie que le message de validation est présent
2103 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2104 // On vérifie que le message d'envoi est présent
2105 $this->assertContains('Le message a été transmis au référentiel arrêté.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2106 //}}}
2107
2108 // On se déconnecte
2109 $this->deconnect();
2110
2111 // On se connecte en tant que "admin"
2112 $this->login("admin", "admin");
2113 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2114 $this->verifyNoErrors();
2115 //{{{ On remet les valeurs par défaut des paramètres
2116 //On clique sur Administration
2117 $this->byLinkText("Administration")->click();
2118 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2119 $this->verifyNoErrors();
2120 //On clique sur Paramètre
2121 $this->byLinkText("Paramètre")->click();
2122 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2123 $this->verifyNoErrors();
2124 $this->changeParametreEvenementErp("erp_evenement_accepter_sans_reserve", $erp_evenement_accepter_sans_reserve);
2125 $this->changeParametreEvenementErp("erp_evenement_refuser_dossier", $erp_evenement_refuser_dossier);
2126 $this->changeParametreEvenementErp("option_referentiel_arrete", $option_referentiel_arrete);
2127 //}}}
2128
2129 //On se déconnecte
2130 $this->logout();
2131 }
2132
2133 /*
2134 * Cette méthode teste l'envoi de message au référentiel ERP lors de la
2135 * modification d'un dossier d'insruction
2136 */
2137 public function test_16_envoi_de_message_erp_dossier_instruction(){
2138
2139 // On se connecte en tant que "admin"
2140 $this->login("admin", "admin");
2141 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2142 $this->verifyNoErrors();
2143
2144 //{{{ On change deux variables erp_nature_dat et erp_dossier_nature_pc
2145 //On clique sur Administration
2146 $this->byLinkText("Administration")->click();
2147 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2148 $this->verifyNoErrors();
2149 //On clique sur Paramètre
2150 $this->byLinkText("Paramètre")->click();
2151 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2152 $this->verifyNoErrors();
2153 //On change la valeur des paramètres
2154 $erp_nature_dat = $this->changeParametreEvenementErp("erp_nature_dat", "AT");
2155 $erp_dossier_nature_pc = $this->changeParametreEvenementErp("erp_dossier_nature_pc", "PCI");
2156 //}}}
2157 // On se déconnecte
2158 $this->deconnect();
2159
2160 //{{{Ajout d'un dossier AT par le guichet unique
2161 // On se connecte en tant que "guichet"
2162 $this->login("guichet", "guichet");
2163 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2164 $this->verifyNoErrors();
2165 //On clique sur Nouveau Dossier
2166 $this->byLinkText("Nouveau Dossier")->click();
2167 //On ajoute un dossier d'instruction de type AT
2168 $dossier = $this->addDossierInstruction(8, 8);
2169 //}}}
2170 // On se déconnecte
2171 $this->deconnect();
2172
2173 // On se connecte en tant que "instr"
2174 $this->login("instr", "instr");
2175 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2176 $this->verifyNoErrors();
2177 //{{{On change le dossier en a été qualifié
2178 //On clique sur Recherche
2179 $this->byLinkText("Recherche")->click();
2180 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2181 $this->verifyNoErrors();
2182 //On cherche le dossier d'instruction
2183 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2184 // On valide la recherche
2185 $this->byId("adv-search-submit")->click();
2186 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2187 $this->verifyNoErrors();
2188 //On clique sur le dossier d'instruction
2189 $this->byLinkText($dossier)->click();
2190 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2191 $this->verifyNoErrors();
2192 //On clique sur modifier
2193 $this->byClassName("edit-16")->click();
2194 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2195 $this->verifyNoErrors();
2196 //On décoche à qualifier
2197 $this->byId("a_qualifier")->click();
2198 //On valide le formulaire
2199 $this->byName("f1")->submit();
2200 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2201 $this->verifyNoErrors();
2202 // On vérifie que le message de validation est présent
2203 $this->assertContains('Vos modifications ont bien été enregistrées.',
2204 $this->byCssSelector(".message .text")->text());
2205 // On vérifie que le message d'envoi est présent
2206 $this->assertContains('Le message a été transmis au référentiel ERP.',
2207 $this->byCssSelector(".message .text")->text());
2208 //}}}
2209 // On se déconnecte
2210 $this->deconnect();
2211
2212 //{{{Ajout d'un dossier PC par le guichet unique
2213 // On se connecte en tant que "guichet"
2214 $this->login("guichet", "guichet");
2215 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2216 $this->verifyNoErrors();
2217 //On clique sur Nouveau Dossier
2218 $this->byLinkText("Nouveau Dossier")->click();
2219 //On ajoute un dossier d'instruction de type AT
2220 $dossier = $this->addDossierInstruction(1, 1);
2221 //}}}
2222 // On se déconnecte
2223 $this->deconnect();
2224
2225 // On se connecte en tant que "instr"
2226 $this->login("instr", "instr");
2227 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2228 $this->verifyNoErrors();
2229 //{{{On change le dossier en ERP
2230 //On clique sur Recherche
2231 $this->byLinkText("Recherche")->click();
2232 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2233 $this->verifyNoErrors();
2234 //On cherche le dossier d'instruction
2235 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2236 // On valide la recherche
2237 $this->byId("adv-search-submit")->click();
2238 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2239 $this->verifyNoErrors();
2240 //On clique sur le dossier d'instruction
2241 $this->byLinkText($dossier)->click();
2242 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2243 $this->verifyNoErrors();
2244 //On clique sur modifier
2245 $this->byClassName("edit-16")->click();
2246 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2247 $this->verifyNoErrors();
2248 //On décoche à qualifier
2249 $this->byId("a_qualifier")->click();
2250 //On coche ERP
2251 $this->byId("erp")->click();
2252 //On valide le formulaire
2253 $this->byName("f1")->submit();
2254 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2255 $this->verifyNoErrors();
2256 // On vérifie que le message de validation est présent
2257 $this->assertContains('Vos modifications ont bien été enregistrées.',
2258 $this->byCssSelector(".message .text")->text());
2259 // On vérifie que le message d'envoi est présent
2260 $this->assertContains('Le message a été transmis au référentiel ERP.',
2261 $this->byCssSelector(".message .text")->text());
2262 //}}}
2263 // On se déconnecte
2264 $this->deconnect();
2265
2266 // On se connecte en tant que "admin"
2267 $this->login("admin", "admin");
2268 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2269 $this->verifyNoErrors();
2270
2271 //{{{ On change deux variables erp_nature_dat et erp_dossier_nature_pc
2272 //On clique sur Administration
2273 $this->byLinkText("Administration")->click();
2274 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2275 $this->verifyNoErrors();
2276 //On clique sur Paramètre
2277 $this->byLinkText("Paramètre")->click();
2278 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2279 $this->verifyNoErrors();
2280 //On change la valeur des paramètres
2281 $this->changeParametreEvenementErp("erp_nature_dat", $erp_nature_dat);
2282 $this->changeParametreEvenementErp("erp_dossier_nature_pc", $erp_dossier_nature_pc);
2283 //}}}
2284
2285 //On se déconnecte
2286 $this->logout();
2287 }
2288
2289 /**
2290 * test d'annulation d'un DA.
2291 */
2292 function test_17_di_annulation() {
2293 // On se connecte en tant que "admin"
2294 $this->login("admin", "admin");
2295 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2296 $this->verifyNoErrors();
2297
2298 //On clique sur Administration
2299 $this->byLinkText("Paramétrage Dossiers")->click();
2300 // Ajout d'un type de DI ANNULATION
2301 $this->byLinkText("Type DI")->click();
2302 $this->byCssSelector(".add-16")->click();
2303 $this->byId("code")->value('ANNUL');
2304 $this->byId("libelle")->value('Demande d\'annulation');
2305 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue('1');
2306 $this->byId('suffixe')->click();
2307 $this->select($this->byName("mouvement_sitadel"))->selectOptionByValue('SUPPRESSION');
2308 // On clique sur ajouter
2309 $this->byXPath("//input[@value='Ajouter']")->click();
2310 // On vérifie qu'il n'y ait pas d'erreur
2311 $this->verifynoerrors();
2312 // On vérifie que le message de validation est présent
2313 $this->assertContains('Vos modifications ont bien été enregistrées.',
2314 $this->byCssSelector(".message .text")->text());
2315 //On clique sur le bouton retour
2316 $this->byLinkText("Retour")->click();
2317 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2318 $this->verifyNoErrors();
2319 //On saisie le nom due l'événement dans la recherche simple
2320 $this->byClassName("champFormulaire")->value("ANNUL");
2321 //On valide la recherche
2322 $this->byName('s1')->submit();
2323 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2324 $this->verifyNoErrors();
2325 //On clique sur l'événement
2326 $this->byLinkText("ANNUL")->click();
2327 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2328 $this->verifyNoErrors();
2329 // Récupération de l'id du type de DI
2330 $idDIAnnul = $this->byId("dossier_instruction_type")->text();
2331 // Ajout d'un type de demande ANNULATION
2332 $this->byLinkText("Type")->click();
2333 $this->byCssSelector(".add-16")->click();
2334 $this->byId("code")->value('ANNUL');
2335 $this->byId("libelle")->value('Demande d\'annulation');
2336 $this->select($this->byName("groupe"))->selectOptionByValue('1');
2337 $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue('1');
2338 $this->select($this->byName("demande_nature"))->selectOptionByValue('2');
2339 $this->select($this->byName("etats_autorises[]"))
2340 ->selectOptionByValue("notifier");
2341 $this->select($this->byName("contraintes"))->selectOptionByValue('avec_recup');
2342 $this->select($this->byName("dossier_instruction_type"))->selectOptionByValue($idDIAnnul);
2343 $this->select($this->byName("evenement"))->selectOptionByValue('25');
2344 // On clique sur ajouter
2345 $this->byXPath("//input[@value='Ajouter']")->click();
2346 // On vérifie qu'il n'y ait pas d'erreur
2347 $this->verifynoerrors();
2348 // On vérifie que le message de validation est présent
2349 $this->assertContains('Vos modifications ont bien été enregistrées.',
2350 $this->byCssSelector(".message .text")->text());
2351 //On clique sur le bouton retour
2352 $this->byLinkText("Retour")->click();
2353 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2354 $this->verifyNoErrors();
2355 //On saisie le nom due l'événement dans la recherche simple
2356 $this->byClassName("champFormulaire")->value("ANNUL");
2357 //On valide la recherche
2358 $this->byName('s1')->submit();
2359 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2360 $this->verifyNoErrors();
2361 //On clique sur l'événement
2362 $this->byLinkText("ANNUL")->click();
2363 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2364 $this->verifyNoErrors();
2365 // Récupération de l'id de la demande
2366 $idDemandeAnnul = $this->byId("demande_type")->text();
2367 // Modification de l'action d'abandon de dossier
2368 $this->byLinkText("Action")->click();
2369 // On vérifie qu'il n'y ait pas d'erreur
2370 $this->verifynoerrors();
2371 // Modification de l'action d'abandon de dossier
2372 $this->byLinkText("abandon")->click();
2373 // Modification de l'action d'abandon de dossier
2374 $this->byCssSelector(".edit-16")->click();
2375 // On vérifie qu'il n'y ait pas d'erreur
2376 $this->verifynoerrors();
2377 $this->byId("regle_avis")->clear();
2378 $this->byId("regle_avis")->value('avis_decision');
2379 $this->byId("regle_date_decision")->clear();
2380 $this->byId("regle_date_decision")->value('date_evenement');
2381 // On clique sur ajouter
2382 $this->byXPath("//input[@value='Modifier']")->click();
2383 // On vérifie qu'il n'y ait pas d'erreur
2384 $this->verifynoerrors();
2385 // On vérifie que le message de validation est présent
2386 $this->assertContains('Vos modifications ont bien été enregistrées.',
2387 $this->byCssSelector(".message .text")->text());
2388 // On se déconnecte
2389 $this->deconnect();
2390 // On se connecte en tant que "admin"
2391 $this->login("guichet", "guichet");
2392 //On clique sur le menu des instructions
2393 $this->byLinkText("Nouveau Dossier")->click();
2394 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2395 $this->verifyNoErrors();
2396 // Création d'un DI
2397 $dossier = $this->addDossierInstruction(1, 1, "test annulation");
2398 // On se déconnecte
2399 $this->deconnect();
2400 // On se connecte en tant que "instr"
2401 $this->login("instr", "instr");
2402 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2403 $this->verifyNoErrors();
2404 // On clique sur le lien "Mes encours" dans le menu
2405 $this->byLinkText("Recherche")->click();
2406 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2407 $this->verifyNoErrors();
2408 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2409 $this->byName("advanced-search-submit")->click();
2410 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2411 $this->verifyNoErrors();
2412 // On clique sur le dossier dernièrement créé
2413 $this->byLinkText($dossier)->click();
2414 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2415 $this->verifyNoErrors();
2416 // On clique sur l'onglet "Instruction"
2417 $this->byId("dossier_autorisation")->click();
2418 sleep(1);
2419 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2420 $this->verifyNoErrors();
2421 // Verification de l'état du DA correspondant
2422 $this->assertContains('En cours', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2423 // On se déconnecte
2424 $this->deconnect();
2425 // On se connecte en tant que "guichet"
2426 $this->login("guichet", "guichet");
2427 //On clique sur le menu des instructions
2428 $this->byLinkText("Dossier En Cours")->click();
2429 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2430 $this->verifyNoErrors();
2431 // Création d'un DI
2432 $dossier = $this->addDossierInstruction(
2433 1,
2434 $idDemandeAnnul,
2435 "test annulation",
2436 2,
2437 $dossier,
2438 false);
2439 // On se déconnecte
2440 $this->deconnect();
2441 // On se connecte en tant que "instr"
2442 $this->login("instr", "instr");
2443 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2444 $this->verifyNoErrors();
2445 // On clique sur le lien "Mes encours" dans le menu
2446 $this->byLinkText("Recherche")->click();
2447 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2448 $this->verifyNoErrors();
2449 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
2450 $this->byName("advanced-search-submit")->click();
2451 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2452 $this->verifyNoErrors();
2453 // On clique sur le dossier dernièrement créé
2454 $this->byLinkText($dossier)->click();
2455 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2456 $this->verifyNoErrors();
2457 // On clique sur l'onglet "Instruction"
2458 $this->byId("dossier_autorisation")->click();
2459 sleep(1);
2460 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2461 $this->verifyNoErrors();
2462 // Verification de l'état du DA correspondant
2463 $this->assertContains('Abandonné', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2464 //On se déconnecte
2465 $this->logout();
2466 }
2467
2468 public function test_18_verification_references_cadastrales(){
2469 //{{{ On ajoute un nouveau dossier }}}
2470 // On se connecte à l'application
2471 $this->login("guichet", "guichet");
2472 // On clique sur le menu "Nouveau Dossier"
2473 $this->byLinkText("Nouveau Dossier")->click();
2474 // On vérifie qu'il n'y ait pas d'erreur
2475 $this->verifynoerrors();
2476 // On vérifie le nom de l'onglet
2477 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
2478 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
2479 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
2480 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
2481 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
2482 // On clique pour ajouter un pétitionnaire principale
2483 $this->byId("add_petitionnaire_principal")->click();
2484 // On remplit le champ
2485 $this->byId("particulier_nom")->value("DURAND");
2486 // On remplit le champ
2487 $this->byId("particulier_prenom")->value("MICKAEL");
2488 // On clique sur ajouter
2489 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
2490 // On vérifie qu'il n'y ait pas d'erreur
2491 $this->verifynoerrors();
2492 // On vérifie le message
2493 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
2494 // On clique sur le bouton retour
2495 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
2496 // On vérifie que le text est présent
2497 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
2498 // On clique sur ajouter
2499 $this->byXPath("//input[@value='Ajouter']")->click();
2500 // On vérifie qu'il n'y ait pas d'erreur
2501 $this->verifynoerrors();
2502 // On vérifie le message
2503 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
2504 // Récupération du numéro de dossier
2505 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
2506 $dossier_libelle = $dossier[0];
2507 $dossier = str_replace(' ', '', $dossier_libelle);
2508 //On se déconnecte
2509 $this->deconnect();
2510 //{{{ On modifie les références cadastrales }}}
2511 // On se connecte en tant que "instr"
2512 $this->login("instr", "instr");
2513 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2514 $this->verifyNoErrors();
2515 // On clique sur le lien "Mes encours" dans le menu
2516 $this->byLinkText("Recherche")->click();
2517 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2518 $this->verifyNoErrors();
2519 $this->byId("dossier")->value($dossier);
2520 $this->byName("advanced-search-submit")->click();
2521 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2522 $this->verifyNoErrors();
2523 // On clique sur le dossier dernièrement créé
2524 $this->byLinkText($dossier_libelle)->click();
2525 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2526 $this->verifyNoErrors();
2527 //On clique sur Modifier
2528 $this->byClassName("edit-16")->click();
2529 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2530 $this->verifyNoErrors();
2531 // On modifie les références cadastrales
2532
2533 //On déplie le fieldset
2534 $this->byCssSelector("#fieldset-form-dossier_instruction-localisation-du-terrain legend")->click();
2535 sleep(1);
2536 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2537 $this->verifyNoErrors();
2538 //On saisit les références cadastrale
2539 $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
2540 $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
2541 // On valide le formulaire
2542 $this->byXPath("//input[@value='Modifier']")->click();
2543 //Un alert javascript doit apparaître, on vérifie le message
2544 $this->assertEquals("Les références cadastrales saisies sont incorrectes. Veuillez les corriger.", $this->alertText());
2545 // On valide l'alert
2546 $this->acceptAlert();sleep(1);
2547 //On ajoute la référence
2548 $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
2549 //On valide le formulaire
2550 $this->byXPath("//input[@value='Modifier']")->click();
2551 }
2552
2553 /**
2554 * Ajout d'un dossier d'instruction par le guichet unique
2555 *
2556 * @param int $dossier_autorisation_type_detaille L'identifiant du type détaillé
2557 * de dossier d'autorisation
2558 * @param int $demande_type L'identifiant du type de la demande
2559 * @param int $type Type de la demande : nouveau dossier ou dossier existant
2560 * @return le numéro de dossier d'instruction qui vient d'être créé
2561 */
2562 public function addDossierInstruction($dossier_autorisation_type_detaille,
2563 $demande_type, $nom_petit = "test recopie", $type = 1, $dossier = "",
2564 $petit = true){
2565
2566 if ($type===1){
2567 //On choisit le type détaillé de dossier d'autorisation
2568 $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue($dossier_autorisation_type_detaille);
2569 }
2570 else {
2571 sleep(5);
2572 // On remplit le champ de recherche simple
2573 $this->byCssSelector("input[name='recherche']")->value(str_replace(' ', '', $dossier));
2574 // On clique sur le bouton recherche
2575 $this->byCssSelector(".ui-button")->click();sleep(1);
2576 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2577 $this->verifyNoErrors();
2578 // On clique sur le résultat
2579 $this->byId("action-tab-demande_dossier_encours-left-consulter-".str_replace(' ', '', $dossier))->click();
2580 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2581 $this->verifyNoErrors();
2582 }
2583 //On choisit le type de demande
2584 $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
2585 if($petit) {
2586 //On clique sur "Saisir le pétitionnaire principal"
2587 $this->byId("add_petitionnaire_principal")->click();
2588 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2589 $this->verifyNoErrors();
2590 //On saisie le nom du pétitionnaire principal
2591 $this->byId("particulier_nom")->value($nom_petit);
2592 // On clique sur ajouter
2593 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
2594 // On vérifie qu'il n'y ait pas d'erreur
2595 $this->verifynoerrors();
2596 //On vérifie que le pétitionnaire s'est bien ajouté
2597 // On vérifie le message
2598 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
2599 // On clique sur le bouton retour
2600 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
2601 // On vérifie que le text est présent
2602 $this->assertContains($nom_petit,$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
2603 }
2604 // On clique sur ajouter
2605 $this->byXPath("//input[@value='Ajouter']")->click();
2606 // On vérifie qu'il n'y ait pas d'erreur
2607 $this->verifynoerrors();
2608 // On vérifie le message
2609 $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
2610 //On récupère le numéro de dossier d'instruction créé
2611 if ($type===1){
2612 preg_match('/(PC|AT)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2613 }
2614 elseif ($type===2){
2615 preg_match('/(PC|AT)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2616 }
2617 else{
2618 preg_match('/(PC|AT)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
2619 }
2620 return $dossier[0];
2621 }
2622
2623 /*
2624 * Ajoute un événement
2625 * @param $libelle le libelle de l'événement
2626 *
2627 * @return l'identifiant de l'événement
2628 */
2629 private function addEvenement($libelle){
2630
2631 //On clique sur le + du tableau
2632 $this->byClassName("add-16")->click();
2633 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2634 $this->verifyNoErrors();
2635 //On remplit les champs
2636 $this->byId("libelle")->value($libelle);
2637 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))
2638 ->selectOptionByValue("notifier");
2639 $this->select($this->byName("dossier_instruction_type[]"))
2640 ->selectOptionByValue("1");
2641 //On valide le formulaire
2642 $this->byName('f1')->submit();
2643 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2644 $this->verifyNoErrors();
2645 // On vérifie que le message de validation est présent
2646 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
2647 //On clique sur le bouton retour
2648 $this->byLinkText("Retour")->click();
2649 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2650 $this->verifyNoErrors();
2651 //On saisie le nom due l'événement dans la recherche simple
2652 $this->byClassName("champFormulaire")->value($libelle);
2653 //On valide la recherche
2654 $this->byName('s1')->submit();
2655 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2656 $this->verifyNoErrors();
2657 //On clique sur l'événement
2658 $this->byLinkText($libelle)->click();
2659 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2660 $this->verifyNoErrors();
2661 //On récupère l'identifiant
2662 $evenementId = trim($this->byId("evenement")->text());
2663 //On clique sur le bouton Retour
2664 $this->byLinkText("Retour")->click();
2665 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2666 $this->verifyNoErrors();
2667 //On retourne l'identifiant
2668 return $evenementId;
2669 }
2670
2671 /*
2672 * Modifie la valeur du paramètre du numéro de'événement pour le message ERP
2673 * @param string $parametre le libelle du paramètre
2674 * @param string $valeur la valeur à renseigner
2675 *
2676 * @return string la valeur précédente du paramètre
2677 */
2678 private function changeParametreEvenementErp($parametre, $valeur){
2679
2680 //On vide le champ
2681 $this->byClassName("champFormulaire")->clear();
2682 //On saisie le nom de la variable dans la recherche simple
2683 $this->byClassName("champFormulaire")->value($parametre);
2684 //On valide la recherche
2685 $this->byName('s1')->submit();
2686 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2687 $this->verifyNoErrors();
2688 //On clique sur le paramètre
2689 $this->byLinkText($parametre)->click();
2690 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2691 $this->verifyNoErrors();
2692 //On clique sur modifier dans le portail d'action
2693 $this->byClassName("edit-16")->click();
2694 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2695 $this->verifyNoErrors();
2696 //On récupère la valeur actuelle du paramètre
2697 $parametre = trim($this->byId("valeur")->attribute('value'));
2698 //On vide le champ
2699 $this->byId("valeur")->clear();
2700 //On change la valeur du paramètre
2701 $this->byId("valeur")->value($valeur);
2702 //On valide le formulaire
2703 $this->byName('f1')->submit();
2704 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2705 $this->verifyNoErrors();
2706 // On vérifie que le message de validation est présent
2707 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
2708 //On clique sur le bouton retour
2709 $this->byLinkText("Retour")->click();
2710 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2711 $this->verifyNoErrors();
2712 //On clique sur le bouton retour
2713 $this->byLinkText("Retour")->click();
2714 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2715 $this->verifyNoErrors();
2716 //On retourne la valeur
2717 return $parametre;
2718 }
2719
2720 /*
2721 * Ajoute une instruction
2722 * @param int $service l'identifiant du service
2723 */
2724 private function addInstruction($evenement, $erp = true){
2725
2726 //On clique sur le + du tableau
2727 $this->byClassName("add-16")->click();
2728 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2729 $this->verifyNoErrors();
2730 //On choisit l'événement
2731 $this->select($this->byId("evenement"))->selectOptionByValue($evenement);
2732 //On valide le formulaire
2733 $this->byName("f2")->submit();
2734 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2735 $this->verifyNoErrors();
2736 // On vérifie que le message de validation est présent
2737 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2738 if($erp) {
2739 // On vérifie que le message d'envoi est présent
2740 $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-instruction .message .text")->text());
2741 }
2742 //On clique sur le bouton retour
2743 $this->byLinkText("Retour")->click();
2744 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2745 $this->verifyNoErrors();
2746 }
2747
2748 /**
2749 * Permet de vérifier l'état d'un DA en fonction de l'état de ses DI.
2750 * @param string $dossier numéro de dossier
2751 * @param integer $event numéro d'événement
2752 * @param string $etat état du DA
2753 */
2754 private function verifierEtatDA($dossier, $event, $etat) {
2755 // On clique sur l'onglet "DA"
2756 $this->byId("dossier_autorisation")->click();
2757 sleep(1);
2758 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2759 $this->verifyNoErrors();
2760 $this->assertContains('En cours', $this->byCssSelector("#sousform-dossier_autorisation")->text());
2761 // retour sur l'ajout d'événement
2762 $this->byId("instruction")->click();
2763 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2764 $this->verifyNoErrors();
2765 $this->addInstruction($event, false);
2766 // On clique sur l'onglet "DA"
2767 $this->byId("dossier_autorisation")->click();
2768 sleep(1);
2769 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2770 $this->verifyNoErrors();
2771 $this->assertContains($etat, $this->byCssSelector("#sousform-dossier_autorisation")->text());
2772 }
2773
2774 /**
2775 * test du lien automatique entre choix autorité compétente dans DI et
2776 * événement d'instruction à créer
2777 */
2778 // Fonction privé
2779 private function modification_autorite_competente($utilisateur) {
2780 // On se connecte à l'application
2781 $this->login($utilisateur["login"], $utilisateur["mdp"]);
2782 // Ouvre le menu
2783 $this->openMenu("Instruction", $utilisateur);
2784 // On clique sur le lien "Mes encours" dans le menu
2785 $this->byLinkText("Recherche")->click();
2786 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2787 $this->verifyNoErrors();
2788 // On clique sur le lien "AZ0130551200001P0" dans le tableau
2789 $this->byLinkText("AZ 013055 12 00001P0")->click();
2790 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2791 $this->verifyNoErrors();
2792 // On clique sur l'onglet "Instruction"
2793 $this->byId("instruction")->click();
2794 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2795 $this->verifyNoErrors();
2796 // On clique sur le bouton d'ajout de lots
2797 $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
2798 // Vérification des champs obligatoires
2799 $this->byXPath("//input[@value='Ajouter']")->click();
2800 sleep(1);
2801 //On choisi un événement
2802 $this->select($this->byId("evenement"))->selectOptionByValue("94");
2803 // Validation du formulaire
2804 $this->byXPath("//input[@value='Ajouter']")->click();
2805 sleep(1);
2806 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2807 $this->verifyNoErrors();
2808 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
2809 $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
2810 // Retour à l'onglet principal
2811 $this->byId("main")->click();
2812 $this->refresh();
2813 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2814 $this->verifyNoErrors();
2815 // On verifie que l'autorité compétente à changée.
2816 $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
2817 // On se déconnecte
2818 $this->deconnect();
2819 // On se connecte en tant que "admin"
2820 $this->login("admin", "admin");
2821 sleep(1);
2822 $this->byLinkText("Instruction")->click();
2823 // On clique sur le lien "Recherche" dans le menu
2824 $this->byLinkText("Recherche")->click();
2825 // On clique sur le lien "AZ0130551200001P0" dans le tableau
2826 $this->byLinkText("AZ 013055 12 00001P0")->click();
2827 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2828 $this->verifyNoErrors();
2829 // On verifie que l'autorité compétente à changée
2830 $this->assertEquals('Commune pour état', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
2831 // On clique sur l'onglet "Instruction"
2832 $this->byId("instruction")->click();
2833 $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
2834 sleep(1);
2835 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2836 $this->verifyNoErrors();
2837 // On supprime l'element et on verifie le retour de l'autorité "commune"
2838 $this->byId("action-sousform-instruction-supprimer")->click();
2839 // On valide le formulaire
2840 $this->byXPath("//input[@value='Supprimer']")->click();sleep(1);
2841 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2842 $this->verifyNoErrors();
2843 // On clique sur le bouton retour
2844 $this->byLinkText("Retour")->click();
2845 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2846 $this->verifyNoErrors();
2847 // On vérifie que l'événement d'instruction n'est plus dans le tableau
2848 $this->assertNotContains("Changer l'autorité compétente 'commune état'", $this->byId("sousform-instruction")->text());
2849 // Retour à l'onglet principal
2850 $this->byId("main")->click();
2851 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2852 $this->verifyNoErrors();
2853 // On rafraîchit la page
2854 $this->refresh();
2855 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
2856 $this->verifyNoErrors();
2857 // On verifie que l'autorité compétente à changée.
2858 $this->assertEquals('Commune', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
2859 // On se déconnecte
2860 $this->deconnect();
2861 }
2862
2863 /**
2864 * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
2865 * entrée de menu ne génère pas une erreur de base de données
2866 */
2867 // Fonction privé
2868 private function ouvertureMenu($utilisateur) {
2869 // On se connecte
2870 $this->login($utilisateur["login"], $utilisateur["mdp"]);
2871 // Ouvre le menu
2872 $this->openMenu("Instruction", $utilisateur);
2873 // On vérifie le menu ""
2874 $this->byLinkText("Mes Encours")->click();
2875 $this->assertContains("Instruction > Dossiers D'instruction",
2876 $this->byId("title")->text());
2877 $this->verifyNoErrors();
2878 // On vérifie le menu ""
2879 $this->byLinkText("Tous Les Encours")->click();
2880 $this->assertContains("Instruction > Dossiers D'instruction",
2881 $this->byId("title")->text());
2882 $this->verifyNoErrors();
2883 // On vérifie le menu ""
2884 $this->byLinkText("Mes Clôturés")->click();
2885 $this->assertContains("Instruction > Dossiers D'instruction",
2886 $this->byId("title")->text());
2887 $this->verifyNoErrors();
2888 // On vérifie le menu ""
2889 $this->byLinkText("Tous Les Clôturés")->click();
2890 $this->assertContains("Instruction > Dossiers D'instruction",
2891 $this->byId("title")->text());
2892 $this->verifyNoErrors();
2893 // On vérifie le menu ""
2894 $this->byLinkText("Recherche")->click();
2895 $this->assertContains("Instruction > Dossiers D'instruction",
2896 $this->byId("title")->text());
2897 $this->verifyNoErrors();
2898 // On vérifie le menu ""
2899 $this->byLinkText("Dossiers À Qualifier")->click();
2900 $this->assertContains("Instruction > Qualification > Dossiers À Qualifier",
2901 $this->byId("title")->text());
2902 $this->verifyNoErrors();
2903 // On vérifie le menu ""
2904 $this->byLinkText("Architecte Fréquent")->click();
2905 $this->assertContains("Instruction > Qualification > Architecte Fréquent",
2906 $this->byId("title")->text());
2907 $this->verifyNoErrors();
2908 // On vérifie le menu ""
2909 $this->byLinkText("Mes Retours")->click();
2910 $this->assertContains("Instruction > Consultations > Mes Retours",
2911 $this->byId("title")->text());
2912 $this->verifyNoErrors();
2913 // On vérifie le menu ""
2914 $this->byLinkText("Tous Les Retours")->click();
2915 $this->assertContains("Instruction > Consultations > Tous Les Retours",
2916 $this->byId("title")->text());
2917 $this->verifyNoErrors();
2918 // On vérifie le menu ""
2919 $this->byLinkText("Mes Messages")->click();
2920 $this->assertContains("Instruction > Messages > Mes Messages",
2921 $this->byId("title")->text());
2922 $this->verifyNoErrors();
2923 // On vérifie le menu ""
2924 $this->byLinkText("Tous Les Messages")->click();
2925 $this->assertContains("Instruction > Messages > Tous Les Messages",
2926 $this->byId("title")->text());
2927 $this->verifyNoErrors();
2928 // On vérifie le menu ""
2929 $this->byCssSelector("a.commission_mes_retours-16")->click();
2930 $this->assertContains("Instruction > Commissions > Mes Retours",
2931 $this->byId("title")->text());
2932 $this->verifyNoErrors();
2933 // On vérifie le menu ""
2934 $this->byCssSelector("a.commission_tous_retours-16")->click();
2935 $this->assertContains("Instruction > Commissions > Tous Les Retours",
2936 $this->byId("title")->text());
2937 $this->verifyNoErrors();
2938 // On se déconnecte
2939 $this->deconnect();
2940 }
2941 }
2942
2943 ?>

Properties

Name Value
svn:executable *

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26