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

Contents of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26