/[openfoncier]/branches/3.14.x/tests/testGestionIncompletude.php
ViewVC logotype

Contents of /branches/3.14.x/tests/testGestionIncompletude.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3626 - (show annotations)
Mon Aug 31 16:36:43 2015 UTC (9 years, 5 months ago) by vpihour
File size: 39578 byte(s)
Correction des tests 

1 <?php
2 /**
3 * Fichier contenant la classe test pour l'incomplétude
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Classe permettant de tester l'incomplétude
14 *
15 * Pour lancer le test seul, changer les données :
16 * - dossier : PC0130551200002P0
17 * - code barres de retour de l’AR incomplétude : 110000000011
18 * - code barres de retour de l’AR de majoration de délai consultation ABF : 110000000010
19 *
20 * Pour lancer le test à la fin du run_testsuite, changer les données :
21 * - dossier : PC0130551300001P0
22 * - code barres de retour de l’AR incomplétude : 110000000021
23 * - code barres de retour de l’AR de majoration de délai consultation ABF : 110000000020
24 */
25 class GestionIncompletude extends Base2TestCase {
26
27 /**
28 * Test l'incomplétude sur un dossier d'instruction
29 */
30 public function testIncompletude() {
31
32 /**
33 * Création d'un dossier d'instruction
34 */
35 // On se connecte à l'application
36 $this->login("guichet", "guichet");
37 // On clique sur le menu "Nouveau Dossier"
38 $this->byLinkText("Nouveau Dossier")->click();
39 // On vérifie qu'il n'y ait pas d'erreur
40 $this->verifynoerrors();
41 // On vérifie le nom de l'onglet
42 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
43 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
44 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
45 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
46 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
47 // On clique pour ajouter un pétitionnaire principale
48 $this->byId("add_petitionnaire_principal")->click();
49 // On remplit le champ
50 $this->byId("particulier_nom")->value("DURAND");
51 // On remplit le champ
52 $this->byId("particulier_prenom")->value("MICKAEL");
53 // On remplit le champ
54 $this->byId("particulier_date_naissance")->value("03/01/1956");
55 // On remplit le champ
56 $this->byId("particulier_commune_naissance")->value("LILLE");
57 // On remplit le champ
58 $this->byId("particulier_departement_naissance")->value("NORD");
59 // On remplit le champ
60 $this->byId("numero")->value("12");
61 // On remplit le champ
62 $this->byId("voie")->value("RUE DE LA LOI");
63 // On remplit le champ
64 $this->byId("complement")->value("APPT 12");
65 // On remplit le champ
66 $this->byId("localite")->value("MARSEILLE");
67 // On remplit le champ
68 $this->byId("code_postal")->value("13012");
69 // On remplit le champ
70 $this->byId("telephone_fixe")->value("0404040404");
71 // On clique sur ajouter
72 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
73 // On vérifie qu'il n'y ait pas d'erreur
74 $this->verifynoerrors();
75 // On vérifie le message
76 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
77 // On clique sur le bouton retour
78 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
79 // On vérifie que le text est présent
80 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
81 // On clique sur ajouter
82 $this->byXPath("//input[@value='Ajouter']")->click();
83 // On vérifie qu'il n'y ait pas d'erreur
84 $this->verifynoerrors();
85 // On vérifie le message
86 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
87 // Récupération du numéro de dossier
88 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
89 $dossier_libelle = $matches[0];
90 $dossier = str_replace(' ', '', $dossier_libelle);
91 $dossier_dir = substr_replace($dossier, '.', -2, -3);
92 // On clique
93 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
94 // Liste les fenêtres
95 $windows = $this->windowHandles();
96 // Change la fenêtre
97 $this->window($windows[1]);
98 // On vérifie qu'il n'y ait pas d'erreur
99 $this->verifynoerrors();
100 // On vérifie que le text est présent
101 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
102 // On ferme la fenêtre
103 $this->closeWindow();
104 // On change le focus de la fenêtre
105 $this->window($windows[0]);
106 // On clique sur le bouton retour
107 $this->byLinkText("Retour")->click();
108 // On vérifie qu'il n'y ait pas d'erreur
109 $this->verifynoerrors();
110 // On vérifie que le répertoire s'est crée
111 $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
112 // On se déconnecte
113 $this->deconnect();
114
115 /**
116 * Envoi d’un courrier de majoration de délai pour consultation ABF
117 */
118 // on se connecte à l'application
119 $this->login("instr", "instr");
120 // On clique sur le menu
121 $this->byLinkText("Recherche")->click();
122 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123 $this->verifyNoErrors();
124 // On recherche le dossier crée
125 $this->byId("dossier")->value($dossier);
126 // On clique sur le bouton recherche
127 $this->byId("adv-search-submit")->click();
128 // On clique sur le résultat
129 $this->byLinkText($dossier_libelle)->click();
130 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
131 $this->verifyNoErrors();
132 // On clique sur l'onglet instruction
133 $this->byId("instruction")->click();
134 // On clique sur le + pour ajouter une instruction
135 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
136 // On choisi l'événement ABF recours contre avis [majoration]
137 $this->select($this->byId("evenement"))->selectOptionByValue("21");
138 // On clique sur le bouton ajouter
139 $this->byXPath("//input[@value='Ajouter']")->click();
140 // On vérifie que l'instruction s'est bien ajouté
141 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
142 // On clique sur le bouton retour
143 $this->byCssSelector("#sousform-instruction form a.retour")->click();
144 //On récupère le numéro de l'instruction créée
145 $this->byLinkText("ABF recours contre avis")->click();
146 $idInstrAbf = $this->byCssSelector(".form-content #instruction")->text();
147 // Finalisation du document
148 $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click();
149 // On vérifie le message de validation
150 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
151 // On clique sur l'onglet DI
152 $this->byId("main")->click();
153 // on rafraichis la page
154 $this->refresh();
155 // On vérifie le délai du dossier
156 $this->assertEquals("5", $this->byId('delai')->text());
157
158 /**
159 * Envoi notification de pièces manquantes
160 */
161 // On clique sur l'onglet instruction
162 $this->byId("instruction")->click();
163 // On clique sur le + pour ajouter une instruction
164 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
165 // On choisi l'événement "Notification de pieces manquante [rejet]"
166 $this->select($this->byId("evenement"))->selectOptionByValue("2");
167 // On clique sur le bouton ajouter
168 $this->byXPath("//input[@value='Ajouter']")->click();
169 // On vérifie que l'instruction s'est bien ajouté
170 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
171 // On clique sur le bouton retour
172 $this->byCssSelector("#sousform-instruction form a.retour")->click();
173 //On récupère le numéro de l'instruction créée
174 $this->byLinkText("Notification de pieces manquante")->click();
175 $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text();
176 // Finalisation du document
177 $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click();
178 // On vérifie le message de validation
179 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
180 // On clique sur l'onglet DI
181 $this->byId("main")->click();
182 // on rafraichis la page
183 $this->refresh();
184 // On vérifie que l'état du dossier
185 $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
186 // On se deconnecte
187 $this->deconnect();
188
189 /**
190 * Retour de l’AR incomplétude
191 */
192 // on se connecte en tant que suivi
193 $this->login("suivi", "suivi");
194 // On clique sur le menu
195 $this->byLinkText("Mise À Jour Des Dates")->click();
196 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
197 $this->verifyNoErrors();
198 // on choisit le type de mise à jour
199 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
200 // on choisit la date
201 $this->byId("date")->value(date("d/m/Y"));
202 // on rentre le code barre
203 $this->byId("code_barres")->value("1100000000".$idInstrIncompletude);
204 // on clique sur le bouton valider
205 $this->byName("validation")->click();
206 // on vérifie que la mise à jour est pour le bon évenement
207 $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text());
208 // on clique encore sur le bouton valider
209 $this->byName("validation")->click();
210 // on vérifie que la mise à jour est faite
211 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
212
213 /**
214 * Retour de l’AR de majoration de délai consultation ABF
215 */
216 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217 $this->verifyNoErrors();
218 // on choisit le type de mise à jour
219 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
220 // on choisit la date
221 $this->byId("date")->value(date("d/m/Y"));
222 // on rentre le code barre
223 $this->byId("code_barres")->value("1100000000".$idInstrAbf);
224 // on clique sur le bouton valider
225 $this->byName("validation")->click();
226 // on vérifie que la mise à jour est pour le bon évenement
227 $this->assertEquals("ABF recours contre avis", $this->byId('evenement')->text());
228 // on clique encore sur le bouton valider
229 $this->byName("validation")->click();
230 // on vérifie que la mise à jour est faite
231 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
232 // On se deconnecte
233 $this->deconnect();
234
235 /**
236 * Dépôt de pièces complémentaires
237 */
238 // on se connecte à l'application
239 $this->login("instr", "instr");
240 // On clique sur le menu
241 $this->byLinkText("Recherche")->click();
242 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
243 $this->verifyNoErrors();
244 // On recherche le dossier crée
245 $this->byId("dossier")->value($dossier);
246 // On clique sur le bouton recherche
247 $this->byId("adv-search-submit")->click();
248 // On clique sur le résultat
249 $this->byLinkText($dossier_libelle)->click();
250 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
251 $this->verifyNoErrors();
252 // On clique sur l'onglet instruction
253 $this->byId("instruction")->click();
254 // on vérifie que les instruction après AR se sont ajouté
255 $this->assertRegExp("/^[\s\S]*incomplétude après accusé de réception[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text());
256 $this->assertRegExp("/^[\s\S]*majoration délai abf[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text());
257 // On clique sur le + pour ajouter une instruction
258 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
259 // On choisi l'événement "dépôt de pièces complémentaires [retour]"
260 $this->select($this->byId("evenement"))->selectOptionByValue("91");
261 // On clique sur le bouton ajouter
262 $this->byXPath("//input[@value='Ajouter']")->click();
263 // On vérifie que l'instruction s'est bien ajouté
264 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
265 // On clique sur le bouton retour
266 $this->byCssSelector("#sousform-instruction form a.retour")->click();
267 // On clique sur l'onglet DI
268 $this->byId("main")->click();
269 // on rafraichis la page
270 $this->refresh();
271 // on vérifie que l'état ne soit plus à incomplet
272 $this->assertTrue($this->byId('etat')->text() != "dossier incomplet");
273 // on vérifie que le délai est à 8
274 $this->assertEquals("8", $this->byId('delai')->text());
275 // on vérifie la date de complétude
276 $this->assertEquals(date("d/m/Y"), $this->byId('date_complet')->text());
277 // on vérifie la date de limite de l'instruction
278 $date_limite = $this->mois_date(date("Y-m-d"), 8, "+");
279 $date_limite = date("d/m/Y", strtotime($date_limite));
280 $this->assertEquals($date_limite, $this->byId('date_limite')->text());
281 // On se deconnecte
282 $this->logout();
283 }
284
285 /**
286 * Test l'incomplétude sur un dossier d'instruction en ajoutant une date de
287 * retour AR dépassée
288 */
289 public function testIncompletudeDelaiDepasse() {
290
291 /**
292 * Création d'un dossier d'instruction
293 */
294 // On se connecte à l'application
295 $this->login("guichet", "guichet");
296 // On clique sur le menu "Nouveau Dossier"
297 $this->byLinkText("Nouveau Dossier")->click();
298 // On vérifie qu'il n'y ait pas d'erreur
299 $this->verifynoerrors();
300 // On vérifie le nom de l'onglet
301 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
302 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
303 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
304 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
305 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
306 // On clique pour ajouter un pétitionnaire principale
307 $this->byId("add_petitionnaire_principal")->click();
308 // On remplit le champ
309 $this->byId("particulier_nom")->value("DURAND");
310 // On remplit le champ
311 $this->byId("particulier_prenom")->value("MICKAEL");
312 // On remplit le champ
313 $this->byId("particulier_date_naissance")->value("03/01/1956");
314 // On remplit le champ
315 $this->byId("particulier_commune_naissance")->value("LILLE");
316 // On remplit le champ
317 $this->byId("particulier_departement_naissance")->value("NORD");
318 // On remplit le champ
319 $this->byId("numero")->value("12");
320 // On remplit le champ
321 $this->byId("voie")->value("RUE DE LA LOI");
322 // On remplit le champ
323 $this->byId("complement")->value("APPT 12");
324 // On remplit le champ
325 $this->byId("localite")->value("MARSEILLE");
326 // On remplit le champ
327 $this->byId("code_postal")->value("13012");
328 // On remplit le champ
329 $this->byId("telephone_fixe")->value("0404040404");
330 // On clique sur ajouter
331 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
332 // On vérifie qu'il n'y ait pas d'erreur
333 $this->verifynoerrors();
334 // On vérifie le message
335 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
336 // On clique sur le bouton retour
337 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
338 // On vérifie que le text est présent
339 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
340 // On clique sur ajouter
341 $this->byXPath("//input[@value='Ajouter']")->click();
342 // On vérifie qu'il n'y ait pas d'erreur
343 $this->verifynoerrors();
344 // On vérifie le message
345 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
346 // Récupération du numéro de dossier
347 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
348 $dossier_libelle = $matches[0];
349 $dossier = str_replace(' ', '', $dossier_libelle);
350 $dossier_dir = substr_replace($dossier, '.', -2, -3);
351 // On se déconnecte
352 $this->deconnect();
353
354 /**
355 * Envoi d’un courrier de majoration de délai pour consultation ABF
356 */
357 // on se connecte à l'application
358 $this->login("instr", "instr");
359 // On clique sur le menu
360 $this->byLinkText("Recherche")->click();
361 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
362 $this->verifyNoErrors();
363 // On recherche le dossier crée
364 $this->byId("dossier")->value($dossier);
365 // On clique sur le bouton recherche
366 $this->byId("adv-search-submit")->click();
367 // On clique sur le résultat
368 $this->byLinkText($dossier_libelle)->click();
369 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
370 $this->verifyNoErrors();
371
372 /**
373 * Envoi notification de pièces manquantes
374 */
375 // On clique sur l'onglet instruction
376 $this->byId("instruction")->click();
377 // On clique sur le + pour ajouter une instruction
378 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
379 // On choisi l'événement "Notification de pieces manquante [rejet]"
380 $this->select($this->byId("evenement"))->selectOptionByValue("2");
381 // On clique sur le bouton ajouter
382 $this->byXPath("//input[@value='Ajouter']")->click();
383 // On vérifie que l'instruction s'est bien ajouté
384 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
385 // On clique sur le bouton retour
386 $this->byCssSelector("#sousform-instruction form a.retour")->click();
387 //On récupère le numéro de l'instruction créée
388 $this->byLinkText("Notification de pieces manquante")->click();
389 $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text();
390 // Finalisation du document
391 $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click();
392 // On vérifie le message de validation
393 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
394 // On clique sur l'onglet DI
395 $this->byId("main")->click();
396 // on rafraichis la page
397 $this->refresh();
398 // On vérifie que l'état du dossier
399 $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
400 // On se deconnecte
401 $this->deconnect();
402
403 /**
404 * Retour de l’AR incomplétude
405 */
406 // on se connecte en tant que suivi
407 $this->login("suivi", "suivi");
408 // On clique sur le menu
409 $this->byLinkText("Mise À Jour Des Dates")->click();
410 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
411 $this->verifyNoErrors();
412 // on choisit le type de mise à jour
413 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
414 // on choisit la date
415 $this->byId("date")->value(date("d/m/Y", strtotime('+1 month 2 days')));
416 // on rentre le code barre
417 $this->byId("code_barres")->value("1100000000".$idInstrIncompletude);
418 // on clique sur le bouton valider
419 $this->byName("validation")->click();
420 // on vérifie que la mise à jour est pour le bon évenement
421 $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text());
422 // on clique encore sur le bouton valider
423 $this->byName("validation")->click();
424 // on vérifie que la mise à jour est faite
425 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
426 // On se deconnecte
427 $this->deconnect();
428
429 /**
430 * Dépôt de pièces complémentaires
431 */
432 // on se connecte à l'application
433 $this->login("instr", "instr");
434 // On clique sur le menu
435 $this->byLinkText("Recherche")->click();
436 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
437 $this->verifyNoErrors();
438 // On recherche le dossier crée
439 $this->byId("dossier")->value($dossier);
440 // On clique sur le bouton recherche
441 $this->byId("adv-search-submit")->click();
442 // On clique sur le résultat
443 $this->byLinkText($dossier_libelle)->click();
444 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
445 $this->verifyNoErrors();
446 //On vérifie que le dossier n'est pas dans un état incomplet notifié
447 $this->assertFalse($this->byId('date_limite_incompletude')->displayed());
448 $this->assertFalse($this->byId('delai_incompletude')->displayed());
449 $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
450 // On se deconnecte
451 $this->logout();
452 }
453
454 /**
455 * Test des dates affichées en fonction de l'état du dossier
456 */
457 public function testVerificationDateLimiteAffichee() {
458
459 /**
460 * Création d'un dossier d'instruction
461 */
462 // On se connecte à l'application
463 $this->login("guichet", "guichet");
464 // On clique sur le menu "Nouveau Dossier"
465 $this->byLinkText("Nouveau Dossier")->click();
466 // On vérifie qu'il n'y ait pas d'erreur
467 $this->verifynoerrors();
468 // On vérifie le nom de l'onglet
469 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
470 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
471 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
472 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
473 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
474 // On clique pour ajouter un pétitionnaire principale
475 $this->byId("add_petitionnaire_principal")->click();
476 // On remplit le champ
477 $this->byId("particulier_nom")->value("DURAND");
478 // On remplit le champ
479 $this->byId("particulier_prenom")->value("MICKAEL");
480 // On remplit le champ
481 $this->byId("particulier_date_naissance")->value("03/01/1956");
482 // On remplit le champ
483 $this->byId("particulier_commune_naissance")->value("LILLE");
484 // On remplit le champ
485 $this->byId("particulier_departement_naissance")->value("NORD");
486 // On remplit le champ
487 $this->byId("numero")->value("12");
488 // On remplit le champ
489 $this->byId("voie")->value("RUE DE LA LOI");
490 // On remplit le champ
491 $this->byId("complement")->value("APPT 12");
492 // On remplit le champ
493 $this->byId("localite")->value("MARSEILLE");
494 // On remplit le champ
495 $this->byId("code_postal")->value("13012");
496 // On remplit le champ
497 $this->byId("telephone_fixe")->value("0404040404");
498 // On clique sur ajouter
499 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
500 // On vérifie qu'il n'y ait pas d'erreur
501 $this->verifynoerrors();
502 // On vérifie le message
503 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
504 // On clique sur le bouton retour
505 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
506 // On vérifie que le text est présent
507 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
508 // On clique sur ajouter
509 $this->byXPath("//input[@value='Ajouter']")->click();
510 // On vérifie qu'il n'y ait pas d'erreur
511 $this->verifynoerrors();
512 // On vérifie le message
513 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
514 // Récupération du numéro de dossier
515 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
516 $dossier_libelle = $matches[0];
517 $dossier = str_replace(' ', '', $dossier_libelle);
518 $dossier_dir = substr_replace($dossier, '.', -2, -3);
519 $dossier_autorisation_libelle = substr($dossier_libelle, 0, -2);
520 $dossier_autorisation = substr($dossier, 0, -2);
521 // On se déconnecte
522 $this->deconnect();
523
524 /**
525 * On vérifie les dates affichées si ce n'est pas une incomplétude
526 */
527 // on se connecte à l'application
528 $this->login("instr", "instr");
529 // On clique sur le menu
530 $this->byLinkText("Autorisation")->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 menu
534 $this->byLinkText("Dossiers D'autorisation")->click();
535 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
536 $this->verifyNoErrors();
537 // On recherche le dossier crée
538 $this->byId("dossier")->value($dossier_autorisation);
539 // On clique sur le bouton recherche
540 $this->byId("adv-search-submit")->click();
541 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
542 $this->verifyNoErrors();
543 // On clique sur le résultat
544 $this->byLinkText($dossier_autorisation_libelle)->click();
545 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
546 $this->verifyNoErrors();
547 //On clique sur l'onglet Dossiers D'instruction
548 // On clique sur l'onglet instruction
549 $this->byId("dossier_instruction")->click();
550 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
551 $this->verifyNoErrors();
552 //On vérifie la date affiché
553 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byCssSelector("#sousform-dossier_instruction tbody .col-7 a")->text());
554
555 // On clique sur le menu
556 $this->byLinkText("Instruction")->click();
557 // On clique sur le menu
558 $this->byLinkText("Recherche")->click();
559 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
560 $this->verifyNoErrors();
561 // On recherche le dossier crée
562 $this->byId("dossier")->value($dossier);
563 // On clique sur le bouton recherche
564 $this->byId("adv-search-submit")->click();
565 /**
566 * Date du tableau des DI
567 */
568 //On vérifie la date affichée
569 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byCssSelector("#formulaire tbody .col-7 a")->text());
570 // On clique sur le résultat
571 $this->byLinkText($dossier_libelle)->click();
572 /**
573 * Date dans l'affichage des DI
574 */
575 // On vérifie que la date affichée est toujours la date limite initiale
576 $this->assertFalse($this->byId('date_limite_incompletude')->displayed());
577 // On vérifie que la date affichée est toujours la date limite initiale
578 $this->assertTrue($this->byId('date_limite')->displayed());
579 /**
580 * Date dans la visualisation de la demande d'avis
581 */
582 // On clique sur l'onglet instruction
583 $this->byId("consultation")->click();
584 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
585 $this->verifyNoErrors();
586 // On clique sur le lien "Ajouter" dans le tableau
587 $this->byId("action-soustab-consultation-corner-ajouter")->click();
588 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
589 $this->verifyNoErrors();
590 // On sélectionne le service "59.07 Service de l' Espace Public"
591 $this->select($this->byId("service"))->selectOptionByValue("7");
592 // On clique sur le bouton "Ajouter" du formulaire
593 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
594 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
595 $this->verifyNoErrors();
596 // On se deconnecte
597 $this->deconnect();
598 // on se connecte à l'application
599 $this->connect("consu", "consu");
600 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
601 $this->verifyNoErrors();
602 // On recherche le dossier crée
603 $this->byCssSelector(".adv-search-widget .champFormulaire")->value($dossier);
604 // On clique sur le bouton recherche
605 $this->byId("adv-search-submit")->click();
606 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
607 $this->verifyNoErrors();
608 // On clique sur le résultat
609 $this->byLinkText($dossier_libelle)->click();
610 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
611 $this->verifyNoErrors();
612 // On vérifie la date
613 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byId('dossier_date_limite')->text());
614 // On se deconnecte
615 $this->deconnect();
616
617 /**
618 * Envoi notification de pièces manquantes
619 */
620 // on se connecte à l'application
621 $this->login("instr", "instr");
622 // On clique sur le menu
623 $this->byLinkText("Recherche")->click();
624 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
625 $this->verifyNoErrors();
626 // On recherche le dossier crée
627 $this->byId("dossier")->value($dossier);
628 // On clique sur le bouton recherche
629 $this->byId("adv-search-submit")->click();
630 // On clique sur le résultat
631 $this->byLinkText($dossier_libelle)->click();
632 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
633 $this->verifyNoErrors();
634 // On clique sur l'onglet instruction
635 $this->byId("instruction")->click();
636 // On clique sur le + pour ajouter une instruction
637 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
638 // On choisi l'événement "Notification de pieces manquante [rejet]"
639 $this->select($this->byId("evenement"))->selectOptionByValue("2");
640 // On clique sur le bouton ajouter
641 $this->byXPath("//input[@value='Ajouter']")->click();
642 // On vérifie que l'instruction s'est bien ajouté
643 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
644 // On clique sur le bouton retour
645 $this->byCssSelector("#sousform-instruction form a.retour")->click();
646 //On récupère le numéro de l'instruction créée
647 $this->byLinkText("Notification de pieces manquante")->click();
648 $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text();
649 // Finalisation du document
650 $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click();
651 // On vérifie le message de validation
652 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
653 // On clique sur l'onglet DI
654 $this->byId("main")->click();
655 // on rafraichis la page
656 $this->refresh();
657 // On vérifie que l'état du dossier
658 $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
659 // On se deconnecte
660 $this->deconnect();
661
662 /**
663 * Retour de l’AR incomplétude
664 */
665 // on se connecte en tant que suivi
666 $this->login("suivi", "suivi");
667 // On clique sur le menu
668 $this->byLinkText("Mise À Jour Des Dates")->click();
669 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
670 $this->verifyNoErrors();
671 // on choisit le type de mise à jour
672 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
673 // on choisit la date
674 $this->byId("date")->value(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),1))));
675 // on rentre le code barre
676 $this->byId("code_barres")->value("1100000000".$idInstrIncompletude);
677 // on clique sur le bouton valider
678 $this->byName("validation")->click();
679 // on vérifie que la mise à jour est pour le bon évenement
680 $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text());
681 // on clique encore sur le bouton valider
682 $this->byName("validation")->click();
683 // on vérifie que la mise à jour est faite
684 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
685 // On se deconnecte
686 $this->deconnect();
687
688 /**
689 * On vérifie les dates affichées si c'est une incomplétude
690 */
691 // on se connecte à l'application
692 $this->login("instr", "instr");
693
694
695 // On clique sur le menu
696 $this->byLinkText("Autorisation")->click();
697 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
698 $this->verifyNoErrors();
699 // On clique sur le menu
700 $this->byLinkText("Dossiers D'autorisation")->click();
701 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
702 $this->verifyNoErrors();
703 // On recherche le dossier crée
704 $this->byId("dossier")->value($dossier_autorisation);
705 // On clique sur le bouton recherche
706 $this->byId("adv-search-submit")->click();
707 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
708 $this->verifyNoErrors();
709 // On clique sur le résultat
710 $this->byLinkText($dossier_autorisation_libelle)->click();
711 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
712 $this->verifyNoErrors();
713 //On clique sur l'onglet Dossiers D'instruction
714 // On clique sur l'onglet instruction
715 $this->byId("dossier_instruction")->click();
716 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
717 $this->verifyNoErrors();
718 //On vérifie la date affiché
719 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date($this->mois_date(date('Y-m-d'),1),3))), $this->byCssSelector("#sousform-dossier_instruction tbody .col-7 a")->text());
720
721 // On clique sur le menu
722 $this->byLinkText("Instruction")->click();
723 // On clique sur le menu
724 $this->byLinkText("Recherche")->click();
725 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
726 $this->verifyNoErrors();
727 // On recherche le dossier crée
728 $this->byId("dossier")->value($dossier);
729 // On clique sur le bouton recherche
730 $this->byId("adv-search-submit")->click();
731 /**
732 * Date du tableau des DI
733 */
734 //On vérifie la date affichée
735 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date($this->mois_date(date('Y-m-d'),1),3))), $this->byCssSelector("#formulaire tbody .col-7 a")->text());
736 // On clique sur le résultat
737 $this->byLinkText($dossier_libelle)->click();
738 /**
739 * Date dans l'affichage des DI
740 */
741 // On vérifie que la date affichée est toujours la date limite initiale
742 $this->assertTrue($this->byId('date_limite_incompletude')->displayed());
743 // On vérifie que la date affichée est toujours la date limite initiale
744 $this->assertFalse($this->byId('date_limite')->displayed());
745 // On se deconnecte
746 $this->deconnect();
747
748 /**
749 * Date dans la visualisation de la demande d'avis
750 */
751 // on se connecte à l'application
752 $this->connect("consu", "consu");
753 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
754 $this->verifyNoErrors();
755 // On recherche le dossier crée
756 $this->byCssSelector(".adv-search-widget .champFormulaire")->value($dossier);
757 // On clique sur le bouton recherche
758 $this->byId("adv-search-submit")->click();
759 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
760 $this->verifyNoErrors();
761 // On clique sur le résultat
762 $this->byLinkText($dossier_libelle)->click();
763 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
764 $this->verifyNoErrors();
765 // On vérifie la date
766 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date($this->mois_date(date('Y-m-d'),1),3))), $this->byId('dossier_date_limite')->text());
767
768 // On se deconnecte
769 $this->logout();
770 }
771 }
772 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26