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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2169 - (show annotations)
Fri Aug 23 18:02:08 2013 UTC (11 years, 5 months ago) by vpihour
Original Path: trunk/tests/testGuichetUnique.php
File size: 34064 byte(s)
Récupération automatique de l'adresse à partir des références cadastrales

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26