/[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 3684 - (show annotations)
Wed Oct 14 15:13:53 2015 UTC (9 years, 3 months ago) by nhaye
File size: 39636 byte(s)
Correction de la saisie des codes barre dans le suivi des dates

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("11".str_pad($idInstrIncompletude, 10, '0', STR_PAD_LEFT));
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("11".str_pad($idInstrAbf, 10, '0', STR_PAD_LEFT));
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("11".str_pad($idInstrIncompletude, 10, '0', STR_PAD_LEFT));
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 sleep(2);
535 $this->byLinkText("Dossiers D'autorisation")->click();
536 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
537 sleep(2);
538 $this->verifyNoErrors();
539 // On recherche le dossier crée
540 $this->byId("dossier")->clear();
541 $this->byId("dossier")->value($dossier_autorisation);
542 $this->byId("adv-search-submit")->click();
543 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
544 $this->verifyNoErrors();
545 // On clique sur le résultat
546 $this->byLinkText($dossier_autorisation_libelle)->click();
547 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
548 $this->verifyNoErrors();
549 //On clique sur l'onglet Dossiers D'instruction
550 // On clique sur l'onglet instruction
551 $this->byId("dossier_instruction")->click();
552 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
553 $this->verifyNoErrors();
554 //On vérifie la date affiché
555 $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());
556
557 // On clique sur le menu
558 $this->byLinkText("Instruction")->click();
559 // On clique sur le menu
560 $this->byLinkText("Recherche")->click();
561 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
562 $this->verifyNoErrors();
563 // On recherche le dossier crée
564 $this->byId("dossier")->value($dossier);
565 // On clique sur le bouton recherche
566 $this->byId("adv-search-submit")->click();
567 /**
568 * Date du tableau des DI
569 */
570 //On vérifie la date affichée
571 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byCssSelector("#formulaire tbody .col-7 a")->text());
572 // On clique sur le résultat
573 $this->byLinkText($dossier_libelle)->click();
574 /**
575 * Date dans l'affichage des DI
576 */
577 // On vérifie que la date affichée est toujours la date limite initiale
578 $this->assertFalse($this->byId('date_limite_incompletude')->displayed());
579 // On vérifie que la date affichée est toujours la date limite initiale
580 $this->assertTrue($this->byId('date_limite')->displayed());
581 /**
582 * Date dans la visualisation de la demande d'avis
583 */
584 // On clique sur l'onglet instruction
585 $this->byId("consultation")->click();
586 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
587 $this->verifyNoErrors();
588 // On clique sur le lien "Ajouter" dans le tableau
589 $this->byId("action-soustab-consultation-corner-ajouter")->click();
590 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
591 $this->verifyNoErrors();
592 // On sélectionne le service "59.07 Service de l' Espace Public"
593 $this->select($this->byId("service"))->selectOptionByValue("7");
594 // On clique sur le bouton "Ajouter" du formulaire
595 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
596 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
597 $this->verifyNoErrors();
598 // On se deconnecte
599 $this->deconnect();
600 // on se connecte à l'application
601 $this->connect("consu", "consu");
602 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
603 $this->verifyNoErrors();
604 // On recherche le dossier crée
605 $this->byCssSelector(".adv-search-widget .champFormulaire")->value($dossier);
606 // On clique sur le bouton recherche
607 $this->byId("adv-search-submit")->click();
608 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
609 $this->verifyNoErrors();
610 // On clique sur le résultat
611 $this->byLinkText($dossier_libelle)->click();
612 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
613 $this->verifyNoErrors();
614 // On vérifie la date
615 $this->assertEquals(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),2))), $this->byId('dossier_date_limite')->text());
616 // On se deconnecte
617 $this->deconnect();
618
619 /**
620 * Envoi notification de pièces manquantes
621 */
622 // on se connecte à l'application
623 $this->login("instr", "instr");
624 // On clique sur le menu
625 $this->byLinkText("Recherche")->click();
626 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
627 $this->verifyNoErrors();
628 // On recherche le dossier crée
629 $this->byId("dossier")->value($dossier);
630 // On clique sur le bouton recherche
631 $this->byId("adv-search-submit")->click();
632 // On clique sur le résultat
633 $this->byLinkText($dossier_libelle)->click();
634 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
635 $this->verifyNoErrors();
636 // On clique sur l'onglet instruction
637 $this->byId("instruction")->click();
638 // On clique sur le + pour ajouter une instruction
639 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
640 // On choisi l'événement "Notification de pieces manquante [rejet]"
641 $this->select($this->byId("evenement"))->selectOptionByValue("2");
642 // On clique sur le bouton ajouter
643 $this->byXPath("//input[@value='Ajouter']")->click();
644 // On vérifie que l'instruction s'est bien ajouté
645 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
646 // On clique sur le bouton retour
647 $this->byCssSelector("#sousform-instruction form a.retour")->click();
648 //On récupère le numéro de l'instruction créée
649 $this->byLinkText("Notification de pieces manquante")->click();
650 $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text();
651 // Finalisation du document
652 $this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-finalisation")->click();
653 // On vérifie le message de validation
654 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
655 // On clique sur l'onglet DI
656 $this->byId("main")->click();
657 // on rafraichis la page
658 $this->refresh();
659 // On vérifie que l'état du dossier
660 $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
661 // On se deconnecte
662 $this->deconnect();
663
664 /**
665 * Retour de l’AR incomplétude
666 */
667 // on se connecte en tant que suivi
668 $this->login("suivi", "suivi");
669 // On clique sur le menu
670 $this->byLinkText("Mise À Jour Des Dates")->click();
671 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
672 $this->verifyNoErrors();
673 // on choisit le type de mise à jour
674 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
675 // on choisit la date
676 $this->byId("date")->value(date("d/m/Y", strtotime($this->mois_date(date('Y-m-d'),1))));
677 // on rentre le code barre
678 $this->byId("code_barres")->value("11".str_pad($idInstrIncompletude, 10, '0', STR_PAD_LEFT));
679 // on clique sur le bouton valider
680 $this->byName("validation")->click();
681 // on vérifie que la mise à jour est pour le bon évenement
682 $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text());
683 // on clique encore sur le bouton valider
684 $this->byName("validation")->click();
685 // on vérifie que la mise à jour est faite
686 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
687 // On se deconnecte
688 $this->deconnect();
689
690 /**
691 * On vérifie les dates affichées si c'est une incomplétude
692 */
693 // on se connecte à l'application
694 $this->login("instr", "instr");
695 // On clique sur le lien "Autorisation" dans le menu
696 $this->byCssSelector(".autorisation-20")->click();
697 sleep(2);
698 // On clique sur le lien "Dossiers D'autorisation" dans le menu
699 $this->byCssSelector(".dossier_autorisation-16")->click();
700 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
701 sleep(2);
702 $this->verifyNoErrors();
703 // On recherche le dossier crée
704 $this->byId("dossier")->clear();
705 $this->byId("dossier")->value($dossier_autorisation);
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 instruction
714 $this->byId("dossier_instruction")->click();
715 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
716 $this->verifyNoErrors();
717 //On vérifie la date affiché
718 $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());
719
720 // On clique sur le menu
721 $this->byLinkText("Instruction")->click();
722 // On clique sur le menu
723 $this->byLinkText("Recherche")->click();
724 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
725 $this->verifyNoErrors();
726 // On recherche le dossier crée
727 $this->byId("dossier")->value($dossier);
728 // On clique sur le bouton recherche
729 $this->byId("adv-search-submit")->click();
730 /**
731 * Date du tableau des DI
732 */
733 //On vérifie la date affichée
734 $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());
735 // On clique sur le résultat
736 $this->byLinkText($dossier_libelle)->click();
737 /**
738 * Date dans l'affichage des DI
739 */
740 // On vérifie que la date affichée est toujours la date limite initiale
741 $this->assertTrue($this->byId('date_limite_incompletude')->displayed());
742 // On vérifie que la date affichée est toujours la date limite initiale
743 $this->assertFalse($this->byId('date_limite')->displayed());
744 // On se deconnecte
745 $this->deconnect();
746
747 /**
748 * Date dans la visualisation de la demande d'avis
749 */
750 // on se connecte à l'application
751 $this->connect("consu", "consu");
752 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
753 $this->verifyNoErrors();
754 // On recherche le dossier crée
755 $this->byCssSelector(".adv-search-widget .champFormulaire")->value($dossier);
756 // On clique sur le bouton recherche
757 $this->byId("adv-search-submit")->click();
758 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
759 $this->verifyNoErrors();
760 // On clique sur le résultat
761 $this->byLinkText($dossier_libelle)->click();
762 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
763 $this->verifyNoErrors();
764 // On vérifie la date
765 $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());
766
767 // On se deconnecte
768 $this->logout();
769 }
770 }
771 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26