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

Contents of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2271 - (show annotations)
Tue Sep 10 15:07:51 2013 UTC (11 years, 4 months ago) by softime
File size: 36360 byte(s)
- Correction du bug de refresh de la page sur les références cadastrales lors du rechargement de la p
age
- Ajout de traitement pour les références cadastrales : contrôle  sur le type de
  saisie (chaîne de caractère ou numérique), mise en majuscule automatique de la
  section et ajout automatique de "0" devant le numéro de quaartier et celui des
  parcelles.

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class GuichetUnique extends Base2TestCase {
16
17 /**
18 * Test l'ajout d'une demande
19 */
20 public function testAjoutDemandeInitial() {
21
22 // On se connecte à l'application
23 $this->login("guichet", "guichet");
24 // On clique sur le menu "Nouveau Dossier"
25 $this->byLinkText("Nouveau Dossier")->click();
26 // On vérifie qu'il n'y ait pas d'erreur
27 $this->verifynoerrors();
28 // On vérifie le nom de l'onglet
29 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
30 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
31 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
32 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
33 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
34 // On clique pour ajouter un pétitionnaire principale
35 $this->byId("add_petitionnaire_principal")->click();
36 // On remplit le champ
37 $this->byId("particulier_nom")->value("DURAND");
38 // On remplit le champ
39 $this->byId("particulier_prenom")->value("MICKAEL");
40 // On remplit le champ
41 $this->byId("particulier_date_naissance")->value("03/01/1956");
42 // On remplit le champ
43 $this->byId("particulier_commune_naissance")->value("LILLE");
44 // On remplit le champ
45 $this->byId("particulier_departement_naissance")->value("NORD");
46 // On remplit le champ
47 $this->byId("numero")->value("12");
48 // On remplit le champ
49 $this->byId("voie")->value("RUE DE LA LOI");
50 // On remplit le champ
51 $this->byId("complement")->value("APPT 12");
52 // On remplit le champ
53 $this->byId("localite")->value("MARSEILLE");
54 // On remplit le champ
55 $this->byId("code_postal")->value("13012");
56 // On remplit le champ
57 $this->byId("telephone_fixe")->value("0404040404");
58 // On clique sur ajouter
59 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
60 // On vérifie qu'il n'y ait pas d'erreur
61 $this->verifynoerrors();
62 // On vérifie le message
63 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
64 // On clique sur le bouton retour
65 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
66 // On vérifie que le text est présent
67 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
68 // On clique sur ajouter
69 $this->byXPath("//input[@value='Ajouter']")->click();
70 // On vérifie qu'il n'y ait pas d'erreur
71 $this->verifynoerrors();
72 // On vérifie le message
73 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector(".message")->text());
74 // On clique
75 $this->byCssSelector("a.lien")->click();sleep(5);
76 // Liste les fenêtres
77 $windows = $this->windowHandles();
78 // Change la fenêtre
79 $this->window($windows[1]);
80 // On vérifie qu'il n'y ait pas d'erreur
81 $this->verifynoerrors();
82 // On vérifie que le text est présent
83 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
84 // On ferme la fenêtre
85 $this->closeWindow();
86 // On change le focus de la fenêtre
87 $this->window($windows[0]);
88 // On clique sur le bouton retour
89 $this->byLinkText("Retour")->click();
90 // On vérifie qu'il n'y ait pas d'erreur
91 $this->verifynoerrors();
92 // On vérifie que le répertoire s'est crée
93 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));
94 // On se déconnecte
95 $this->logout();
96 }
97
98 /**
99 * Test l'ajout d'une demande initial en utilisant les références cadastrales
100 * pour récupérer l'adresse
101 */
102 public function testAjoutDemandeInitialReferenceCadastrale() {
103
104 // On se connecte à l'application
105 $this->login("guichet", "guichet");
106 // On clique sur le menu "Nouveau Dossier"
107 $this->byLinkText("Nouveau Dossier")->click();
108 // On vérifie qu'il n'y ait pas d'erreur
109 $this->verifynoerrors();
110 // On vérifie le nom de l'onglet
111 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
112 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
113 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
114 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
115 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
116 //On saisie des références cadastrales inccorect
117 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
118 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
119 sleep(1);
120 $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
121 $this->acceptAlert();
122 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
123 sleep(1);
124 $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
125 $this->acceptAlert();
126 //On saisie les références cadastrales
127 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
128 sleep(1);
129 $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
130 $this->acceptAlert();
131 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
132 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
133 //On clique sur le bouton de recherche "Cadastrale = > Adresse"
134 $this->byId("cad-adr-them")->click();
135 sleep(1);
136 // On vérifie que le format des champs est mise à jour automatiquement
137 $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
138 $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
139 $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
140 //On verifie l'adresse
141 $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());
142 $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());
143 $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());
144 $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());
145 // On valide le formulaire
146 $this->byXPath("//input[@value='Ajouter']")->click();
147 // On vérifie le message d'erreur
148 $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/",$this->byCssSelector(".message")->text());
149 sleep(1);
150 // On vérifie que les références cadastrales soient toujours affiché
151 $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
152 $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
153 $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
154 //On saisie les références cadastrales
155 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
156 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
157 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
158 //On clique sur le bouton de recherche "Cadastrale = > Adresse"
159 $this->byId("cad-adr-them")->click();
160 //On valide le message d'erreur
161 $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
162 $this->acceptAlert();
163 // On clique pour ajouter un pétitionnaire principale
164 $this->byId("add_petitionnaire_principal")->click();
165 // On remplit le champ
166 $this->byId("particulier_nom")->value("DURAND");
167 // On remplit le champ
168 $this->byId("particulier_prenom")->value("MICKAEL");
169 // On remplit le champ
170 $this->byId("particulier_date_naissance")->value("03/01/1956");
171 // On remplit le champ
172 $this->byId("particulier_commune_naissance")->value("LILLE");
173 // On remplit le champ
174 $this->byId("particulier_departement_naissance")->value("NORD");
175 // On remplit le champ
176 $this->byId("numero")->value("12");
177 // On remplit le champ
178 $this->byId("voie")->value("RUE DE LA LOI");
179 // On remplit le champ
180 $this->byId("complement")->value("APPT 12");
181 // On remplit le champ
182 $this->byId("localite")->value("MARSEILLE");
183 // On remplit le champ
184 $this->byId("code_postal")->value("13012");
185 // On remplit le champ
186 $this->byId("telephone_fixe")->value("0404040404");
187 // On clique sur ajouter
188 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
189 // On vérifie qu'il n'y ait pas d'erreur
190 $this->verifynoerrors();
191 // On vérifie le message
192 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
193 // On clique sur le bouton retour
194 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
195 // On vérifie que le text est présent
196 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
197 // On clique sur ajouter
198 $this->byXPath("//input[@value='Ajouter']")->click();
199 // On vérifie qu'il n'y ait pas d'erreur
200 $this->verifynoerrors();
201 // On vérifie le message
202 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector(".message")->text());
203 // On clique
204 $this->byCssSelector("a.lien")->click();sleep(5);
205 // Liste les fenêtres
206 $windows = $this->windowHandles();
207 // Change la fenêtre
208 $this->window($windows[1]);
209 // On vérifie qu'il n'y ait pas d'erreur
210 $this->verifynoerrors();
211 // On vérifie que le text est présent
212 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
213 // On ferme la fenêtre
214 $this->closeWindow();
215 // On change le focus de la fenêtre
216 $this->window($windows[0]);
217 // On clique sur le bouton retour
218 $this->byLinkText("Retour")->click();
219 // On vérifie qu'il n'y ait pas d'erreur
220 $this->verifynoerrors();
221 // On vérifie que le répertoire s'est crée
222 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300002.P0"));
223 // On se déconnecte
224 $this->logout();
225 }
226
227 /**
228 * Test l'ajout d'une demande avec un instructeur
229 */
230 public function testAjoutDemandeInitialInstructeur() {
231
232 // On se connecte à l'application
233 $this->login("instr", "instr");
234 // On clique sur le menu "Nouveau Dossier"
235 $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();
236 // On vérifie qu'il n'y ait pas d'erreur
237 $this->verifynoerrors();
238 // On vérifie le nom de l'onglet
239 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
240 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
241 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
242 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
243 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
244 // On clique pour ajouter un pétitionnaire principale
245 $this->byId("add_petitionnaire_principal")->click();
246 // On remplit le champ
247 $this->byId("particulier_nom")->value("DURAND");
248 // On remplit le champ
249 $this->byId("particulier_prenom")->value("MICKAEL");
250 // On remplit le champ
251 $this->byId("particulier_date_naissance")->value("03/01/1956");
252 // On remplit le champ
253 $this->byId("particulier_commune_naissance")->value("LILLE");
254 // On remplit le champ
255 $this->byId("particulier_departement_naissance")->value("NORD");
256 // On remplit le champ
257 $this->byId("numero")->value("12");
258 // On remplit le champ
259 $this->byId("voie")->value("RUE DE LA LOI");
260 // On remplit le champ
261 $this->byId("complement")->value("APPT 12");
262 // On remplit le champ
263 $this->byId("localite")->value("MARSEILLE");
264 // On remplit le champ
265 $this->byId("code_postal")->value("13012");
266 // On remplit le champ
267 $this->byId("telephone_fixe")->value("0404040404");
268 // On clique sur ajouter
269 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
270 // On vérifie qu'il n'y ait pas d'erreur
271 $this->verifynoerrors();
272 // On vérifie le message
273 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("form div.message")->text());
274 // On clique sur le bouton retour
275 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
276 // On vérifie que le text est présent
277 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
278 // On clique sur ajouter
279 $this->byXPath("//input[@value='Ajouter']")->click();
280 // On vérifie qu'il n'y ait pas d'erreur
281 $this->verifynoerrors();
282 // On vérifie le message
283 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector(".message")->text());
284 // On clique
285 $this->byCssSelector("a.lien")->click();sleep(5);
286 // Liste les fenêtres
287 $windows = $this->windowHandles();
288 // Change la fenêtre
289 $this->window($windows[1]);
290 // On vérifie qu'il n'y ait pas d'erreur
291 $this->verifynoerrors();
292 // On vérifie que le text est présent
293 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
294 // On ferme la fenêtre
295 $this->closeWindow();
296 // On change le focus de la fenêtre
297 $this->window($windows[0]);
298 // On clique sur le bouton retour
299 $this->byLinkText("Retour")->click();
300 // On vérifie qu'il n'y ait pas d'erreur
301 $this->verifynoerrors();
302 // On vérifie que le répertoire s'est crée
303 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300003.P0"));
304 // On se déconnecte
305 $this->logout();
306 }
307
308 /**
309 * Test l'ajout d'une demande de modification
310 */
311 public function testAjoutDemandeModification() {
312
313 /// On se connecte à l'application en tant qu'instructeur
314 // pour ajouter une instruction arrêté sur le dossier crée
315 $this->login("instr", "instr");
316 // On clique sur le menu
317 $this->byLinkText("Recherche")->click();
318 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319 $this->verifyNoErrors();
320 // On clique sur le dossier
321 $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
322 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
323 $this->verifyNoErrors();
324 // On clique sur l'onglet instruction
325 $this->byId("instruction")->click();
326 // On clique sur le + pour ajouter une instruction
327 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
328 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
329 $this->verifyNoErrors();
330 // On choisi l'événement
331 $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
332 // On clique sur le bouton ajouter
333 $this->byXPath("//input[@value='Ajouter']")->click();
334 // On vérifie que l'instruction s'est bien ajouté
335 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
336 // On clique sur le bouton retour
337 $this->byCssSelector("#sousform-instruction form a.retour")->click();
338 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
339 $this->verifyNoErrors();
340 // On clique sur l'onglet DI
341 $this->byId("main")->click();
342 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
343 $this->verifyNoErrors();
344 // on rafraichis la page
345 $this->refresh();
346 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
347 $this->verifyNoErrors();
348 // On vérifie l'état du dossier
349 $this->assertEquals("dossier accepter", $this->byId('etat')->text());
350 // On se déconnecte de l'instructeur
351 $this->deconnect();
352 // On se connecte en tant que guichet unique
353 $this->login("guichet", "guichet");
354 // On clique sur le menu "Nouveau Dossier"
355 $this->byLinkText("Dossier Existant")->click();
356 // On vérifie qu'il n'y ait pas d'erreur
357 $this->verifynoerrors();
358 // On vérifie le nom de l'onglet
359 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
360 // On clique pour ajouter une demande au dossier existant
361 $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
362 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
363 $this->verifyNoErrors();
364 // Vérifie le fil d'Ariane
365 $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
366 // On choisis le type de demande
367 $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
368 // On clique sur ajouter
369 $this->byXPath("//input[@value='Ajouter']")->click();
370 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
371 $this->verifyNoErrors();
372 // On vérifie le message
373 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());
374 // On vérifie que le répertoire s'est crée
375 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));
376 // On se déconnecte
377 $this->logout();
378
379 }
380
381 /**
382 * Test l'ajout d'une demande de modification par un instructeur
383 */
384 public function testAjoutDemandeModificationInstructeur() {
385
386 /// On se connecte à l'application en tant qu'instructeur
387 // pour ajouter une instruction arrêté sur le dossier crée
388 $this->login("instr", "instr");
389 // On clique sur le menu
390 $this->byLinkText("Recherche")->click();
391 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
392 $this->verifyNoErrors();
393 // On clique sur le dossier
394 $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
395 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
396 $this->verifyNoErrors();
397 // On clique sur l'onglet instruction
398 $this->byId("instruction")->click();
399 // On clique sur le + pour ajouter une instruction
400 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
401 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
402 $this->verifyNoErrors();
403 // On choisi l'événement
404 $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
405 // On clique sur le bouton ajouter
406 $this->byXPath("//input[@value='Ajouter']")->click();
407 // On vérifie que l'instruction s'est bien ajouté
408 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
409 // On clique sur le bouton retour
410 $this->byCssSelector("#sousform-instruction form a.retour")->click();
411 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
412 $this->verifyNoErrors();
413 // On clique sur l'onglet DI
414 $this->byId("main")->click();
415 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
416 $this->verifyNoErrors();
417 // on rafraichis la page
418 $this->refresh();
419 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
420 $this->verifyNoErrors();
421 // On vérifie l'état du dossier
422 $this->assertEquals("dossier accepter", $this->byId('etat')->text());
423 // On clique sur le menu
424 $this->byLinkText("Guichet Unique")->click();
425 $this->byLinkText("Dossier Existant")->click();
426 // On vérifie qu'il n'y ait pas d'erreur
427 $this->verifynoerrors();
428 // On vérifie le nom de l'onglet
429 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
430 // On clique pour ajouter une demande au dossier existant
431 $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
432 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
433 $this->verifyNoErrors();
434 // Vérifie le fil d'Ariane
435 $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001M01", $this->byXPath("//div[3]/div/h2")->text());
436 // On choisis le type de demande
437 $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
438 // On clique sur ajouter
439 $this->byXPath("//input[@value='Ajouter']")->click();
440 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
441 $this->verifyNoErrors();
442 // On vérifie le message
443 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M02[\s\S]*$/",$this->byCssSelector("BODY")->text());
444 // On vérifie que le répertoire s'est crée
445 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M02"));
446 // On se déconnecte
447 $this->logout();
448
449 }
450
451 /**
452 * Tests l'affichage réglementaire
453 */
454 public function testAffichageReglementaire() {
455
456 // On se connecte à l'application
457 $this->login("guichet", "guichet");
458 // On clique sur le menu "Attestation"
459 $this->byLinkText("Attestation")->click();
460 // On vérifie qu'il n'y ait pas d'erreur
461 $this->verifynoerrors();
462 // On vérifie le nom de l'onglet
463 $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
464 // On écrit "PC0130551200002P0" dans le champ dossier
465 $this->byId("dossier")->value("PC0130551200002P0");
466 // On clique sur "Valider"
467 $this->byXPath("//input[@value='Valider']")->click();
468 // On vérifie qu'il n'y ait pas d'erreur
469 $this->verifynoerrors();
470 // On vérifie que text est présent
471 $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
472 // On clique sur le menu "Registre"
473 $this->byLinkText("Registre")->click();
474 // On vérifie qu'il n'y ait pas d'erreur
475 $this->verifynoerrors();
476 // On vérifie le nom de l'onglet
477 $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
478 // On clique sur "Valider"
479 $this->byXPath("//input[@value='Valider']")->click();
480 // On clique sur "Oui" dans la fenêtre js qui apparaît
481 $this->acceptAlert();sleep(5);
482 // Liste des fenêtres ouvertes
483 $windows = $this->windowHandles();
484 // On change le focus de la fenêtre
485 $this->window($windows[1]);
486 // On vérifie qu'il n'y ait pas d'erreur
487 $this->verifynoerrors();
488 // On vérifie que text est présent
489 $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
490 // On ferme la fenêtre
491 $this->closeWindow();
492 // On change le focus de la fenêtre
493 $this->window($windows[0]);
494 // On vérifie qu'il n'y ait pas d'erreur
495 $this->verifynoerrors();
496 // On vérifie que text est présent
497 $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
498 // On clique sur le menu "Attestation"
499 $this->byLinkText("Attestation")->click();
500 // On vérifie qu'il n'y ait pas d'erreur
501 $this->verifynoerrors();
502 // On vérifie le nom de l'onglet
503 $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
504 // On clique sur "Valider"
505 $this->byXPath("//input[@value='Valider']")->click();
506 // On vérifie qu'il n'y ait pas d'erreur
507 $this->verifynoerrors();
508 // On vérifie que text est présent
509 $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
510 // On écrit "123" dans le champ dossier
511 $this->byId("dossier")->value("123");
512 // On clique sur "Valider"
513 $this->byXPath("//input[@value='Valider']")->click();
514 // On vérifie qu'il n'y ait pas d'erreur
515 $this->verifynoerrors();
516 // On vérifie que text est présent
517 $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
518 // On écrit "PC0130551200002P0" dans le champ dossier
519 $this->byId("dossier")->value("PC0130551200002P0");
520 // On clique sur "Valider"
521 $this->byXPath("//input[@value='Valider']")->click();
522 // On vérifie qu'il n'y ait pas d'erreur
523 $this->verifynoerrors();
524 // On vérifie que le text est présent
525 $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
526 // On clique sur "Attestation d'affichage"
527 $this->byLinkText("Attestation d'affichage")->click();sleep(5);
528 // Liste les fenêtres
529 $windows = $this->windowHandles();
530 // Change la fenêtre
531 $this->window($windows[1]);
532 // On vérifie qu'il n'y ait pas d'erreur
533 $this->verifynoerrors();
534 // On vérifie que le text est
535 // présent
536 $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
537 // On ferme la fenêtre
538 $this->closeWindow();
539 // On change le focus de la fenêtre
540 $this->window($windows[0]);
541 // On se deconnecte
542 $this->logout();
543 }
544
545 /**
546 * Test le Récépissé
547 */
548 public function testRecepisse() {
549
550 // On se connecte à l'application
551 $this->login("guichet", "guichet");
552 // On clique sur le menu "Récépissé"
553 $this->byLinkText("Récépissé")->click();
554 // On vérifie qu'il n'y ait pas d'erreur
555 $this->verifynoerrors();
556 // On vérifie le nom de l'onglet
557 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
558 // On clique sur "AT0130551200001P0"
559 $this->byLinkText("AT 013055 12 00001P0")->click();
560 // On vérifie qu'il n'y ait pas d'erreur
561 $this->verifynoerrors();
562 // Vérifie le fil d'Ariane
563 $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
564 // On vérifie que le text est présent
565 $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
566 // Le nom du pétitionnaire doit apparaître
567 $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
568 // On clique sur le lien
569 $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
570 // Liste les fenêtres
571 $windows = $this->windowHandles();
572 // Change la fenêtre
573 $this->window($windows[1]);
574 // On vérifie qu'il n'y ait pas d'erreur
575 $this->verifynoerrors();
576 // On vérifie que le text est présent
577 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
578 // On ferme la fenêtre
579 $this->closeWindow();
580 // On change le focus de la fenêtre
581 $this->window($windows[0]);
582 // On clique sur "Retour"
583 $this->byLinkText("Retour")->click();
584 // On vérifie qu'il n'y ait pas d'erreur
585 $this->verifynoerrors();
586 // On vérifie le nom de l'onglet
587 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
588 // On se deconnecte
589 $this->logout();
590 }
591
592 /**
593 * Test les pétitionnaires fréquents
594 */
595 public function testPetitionnaireFrequent() {
596
597 // On se connecte à l'application
598 $this->login("guichet", "guichet");
599 // On clique sur le menu "Nouveau Dossier"
600 $this->byLinkText("Nouveau Dossier")->click();
601 // On vérifie qu'il n'y ait pas d'erreur
602 $this->verifynoerrors();
603 // On vérifie le nom de l'onglet
604 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
605 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
606 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
607 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
608 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
609 // On clique pour ajouter un pétitionnaire principale
610 $this->byId("add_petitionnaire_principal")->click();
611 // On remplit le champ
612 $this->byId("particulier_nom")->value("DURAND");
613 // On remplit le champ
614 $this->byId("particulier_prenom")->value("MICKAEL");
615 // On remplit le champ
616 $this->byId("particulier_date_naissance")->value("03/01/1956");
617 // On remplit le champ
618 $this->byId("particulier_commune_naissance")->value("LILLE");
619 // On remplit le champ
620 $this->byId("particulier_departement_naissance")->value("NORD");
621 // On remplit le champ
622 $this->byId("numero")->value("12");
623 // On remplit le champ
624 $this->byId("voie")->value("RUE DE LA LOI");
625 // On remplit le champ
626 $this->byId("complement")->value("APPT 12");
627 // On remplit le champ
628 $this->byId("localite")->value("MARSEILLE");
629 // On remplit le champ
630 $this->byId("code_postal")->value("13012");
631 // On remplit le champ
632 $this->byId("telephone_fixe")->value("0404040404");
633 // On sélectionne pétitionnaire fréquent
634 $this->byId("frequent")->click();
635 // On clique sur ajouter
636 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
637 // On vérifie qu'il n'y ait pas d'erreur
638 $this->verifynoerrors();
639 // On vérifie le message
640 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
641 // On clique sur le bouton retour
642 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
643 // On vérifie que le text est présent
644 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
645 // On clique sur ajouter
646 $this->byXPath("//input[@value='Ajouter']")->click();
647 // On vérifie qu'il n'y ait pas d'erreur
648 $this->verifynoerrors();
649 // On vérifie le message
650 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00004[\s\S]*$/",$this->byCssSelector(".message")->text());
651 // On clique
652 $this->byCssSelector("a.lien")->click();sleep(5);
653 // Liste les fenêtres
654 $windows = $this->windowHandles();
655 // Change la fenêtre
656 $this->window($windows[1]);
657 // On vérifie qu'il n'y ait pas d'erreur
658 $this->verifynoerrors();
659 // On vérifie que le text est présent
660 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
661 // On ferme la fenêtre
662 $this->closeWindow();
663 // On change le focus de la fenêtre
664 $this->window($windows[0]);
665 // On clique sur le bouton retour
666 $this->byLinkText("Retour")->click();
667 // On vérifie qu'il n'y ait pas d'erreur
668 $this->verifynoerrors();
669 // On clique sur pétitionnaire fréquent
670 $this->byLinkText("Pétitionnaire Fréquent")->click();
671 // On vérifie qu'il n'y ait pas d'erreur
672 $this->verifynoerrors();
673 // On vérifie que le text est présent
674 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
675 // On vérifie que le text est présent
676 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
677 // On clique sur le résultat
678 $this->byLinkText("DURAND MICKAEL")->click();
679 // On vérifie qu'il n'y ait pas d'erreur
680 $this->verifynoerrors();
681 // On vérifie que le text est présent
682 $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
683 // On clique sur le bouton "Retour"
684 $this->byLinkText("Retour")->click();
685 // On vérifie qu'il n'y ait pas d'erreur
686 $this->verifynoerrors();
687 // On vérifie que le text est présent
688 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
689 // On se déconnecte
690 $this->logout();
691 }
692
693 }
694
695 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26