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

Contents of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2112 - (show annotations)
Wed Jul 24 17:08:32 2013 UTC (11 years, 6 months ago) by softime
File size: 20364 byte(s)
Ajout du champ dossier_libelle pour la table dossier
Ajout du champ dossier_autorisation_libelle pour la table dossier_autorisation
Génération OM
Modification des formulaires, messages, tableaux et fil d'Ariane pour affiché le numéro de dossier formaté
Traduction des nouveaux champs
Correction des tests utilisant les numéro de dossier
MàJ HISTORY.txt

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 de modification
100 */
101 public function testAjoutDemandeModification() {
102
103 /// On se connecte à l'application en tant qu'instructeur
104 // pour ajouter une instruction arrêté sur le dossier crée
105 $this->login("instr", "instr");
106 // On clique sur le menu
107 $this->byLinkText("Recherche")->click();
108 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
109 $this->verifyNoErrors();
110 // On clique sur le dossier
111 $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
112 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113 $this->verifyNoErrors();
114 // On clique sur l'onglet instruction
115 $this->byId("instruction")->click();
116 // On clique sur le + pour ajouter une instruction
117 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
118 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
119 $this->verifyNoErrors();
120 // On choisi l'événement
121 $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
122 // On clique sur le bouton ajouter
123 $this->byXPath("//input[@value='Ajouter']")->click();
124 // On vérifie que l'instruction s'est bien ajouté
125 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
126 // On clique sur le bouton retour
127 $this->byCssSelector("#sousform-instruction form a.retour")->click();
128 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
129 $this->verifyNoErrors();
130 // On clique sur l'onglet DI
131 $this->byId("main")->click();
132 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
133 $this->verifyNoErrors();
134 // on rafraichis la page
135 $this->refresh();
136 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137 $this->verifyNoErrors();
138 // On vérifie l'état du dossier
139 $this->assertEquals("dossier accepter", $this->byId('etat')->text());
140 // On se déconnecte de l'instructeur
141 $this->deconnect();
142 // On se connecte en tant que guichet unique
143 $this->login("guichet", "guichet");
144 // On clique sur le menu "Nouveau Dossier"
145 $this->byLinkText("Dossier Existant")->click();
146 // On vérifie qu'il n'y ait pas d'erreur
147 $this->verifynoerrors();
148 // On vérifie le nom de l'onglet
149 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
150 // On clique pour ajouter une demande au dossier existant
151 $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
152 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
153 $this->verifyNoErrors();
154 // Vérifie le fil d'Ariane
155 $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
156 // On choisis le type de demande
157 $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
158 // On clique sur ajouter
159 $this->byXPath("//input[@value='Ajouter']")->click();
160 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
161 $this->verifyNoErrors();
162 // On vérifie le message
163 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M1[\s\S]*$/",$this->byCssSelector("BODY")->text());
164 // On vérifie que le répertoire s'est crée
165 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M1"));
166 // On se déconnecte
167 $this->logout();
168
169 }
170
171 /**
172 * Tests l'affichage réglementaire
173 */
174 public function testAffichageReglementaire() {
175
176 // On se connecte à l'application
177 $this->login("guichet", "guichet");
178 // On clique sur le menu "Attestation"
179 $this->byLinkText("Attestation")->click();
180 // On vérifie qu'il n'y ait pas d'erreur
181 $this->verifynoerrors();
182 // On vérifie le nom de l'onglet
183 $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
184 // On écrit "PC0130551200002P0" dans le champ dossier
185 $this->byId("dossier")->value("PC0130551200002P0");
186 // On clique sur "Valider"
187 $this->byXPath("//input[@value='Valider']")->click();
188 // On vérifie qu'il n'y ait pas d'erreur
189 $this->verifynoerrors();
190 // On vérifie que text est présent
191 $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
192 // On clique sur le menu "Registre"
193 $this->byLinkText("Registre")->click();
194 // On vérifie qu'il n'y ait pas d'erreur
195 $this->verifynoerrors();
196 // On vérifie le nom de l'onglet
197 $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
198 // On clique sur "Valider"
199 $this->byXPath("//input[@value='Valider']")->click();
200 // On clique sur "Oui" dans la fenêtre js qui apparaît
201 $this->acceptAlert();sleep(5);
202 // Liste des fenêtres ouvertes
203 $windows = $this->windowHandles();
204 // On change le focus de la fenêtre
205 $this->window($windows[1]);
206 // On vérifie qu'il n'y ait pas d'erreur
207 $this->verifynoerrors();
208 // On vérifie que text est présent
209 $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
210 // On ferme la fenêtre
211 $this->closeWindow();
212 // On change le focus de la fenêtre
213 $this->window($windows[0]);
214 // On vérifie qu'il n'y ait pas d'erreur
215 $this->verifynoerrors();
216 // On vérifie que text est présent
217 $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
218 // On clique sur le menu "Attestation"
219 $this->byLinkText("Attestation")->click();
220 // On vérifie qu'il n'y ait pas d'erreur
221 $this->verifynoerrors();
222 // On vérifie le nom de l'onglet
223 $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
224 // On clique sur "Valider"
225 $this->byXPath("//input[@value='Valider']")->click();
226 // On vérifie qu'il n'y ait pas d'erreur
227 $this->verifynoerrors();
228 // On vérifie que text est présent
229 $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
230 // On écrit "123" dans le champ dossier
231 $this->byId("dossier")->value("123");
232 // On clique sur "Valider"
233 $this->byXPath("//input[@value='Valider']")->click();
234 // On vérifie qu'il n'y ait pas d'erreur
235 $this->verifynoerrors();
236 // On vérifie que text est présent
237 $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
238 // On écrit "PC0130551200002P0" dans le champ dossier
239 $this->byId("dossier")->value("PC0130551200002P0");
240 // On clique sur "Valider"
241 $this->byXPath("//input[@value='Valider']")->click();
242 // On vérifie qu'il n'y ait pas d'erreur
243 $this->verifynoerrors();
244 // On vérifie que le text est présent
245 $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
246 // On clique sur "Attestation d'affichage"
247 $this->byLinkText("Attestation d'affichage")->click();sleep(5);
248 // Liste les fenêtres
249 $windows = $this->windowHandles();
250 // Change la fenêtre
251 $this->window($windows[1]);
252 // On vérifie qu'il n'y ait pas d'erreur
253 $this->verifynoerrors();
254 // On vérifie que le text est présent
255 $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
256 // On ferme la fenêtre
257 $this->closeWindow();
258 // On change le focus de la fenêtre
259 $this->window($windows[0]);
260 // On se deconnecte
261 $this->logout();
262 }
263
264 /**
265 * Test le Récépissé
266 */
267 public function testRecepisse() {
268
269 // On se connecte à l'application
270 $this->login("guichet", "guichet");
271 // On clique sur le menu "Récépissé"
272 $this->byLinkText("Récépissé")->click();
273 // On vérifie qu'il n'y ait pas d'erreur
274 $this->verifynoerrors();
275 // On vérifie le nom de l'onglet
276 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
277 // On clique sur "AT0130551200001P0"
278 $this->byLinkText("AT 013055 12 00001P0")->click();
279 // On vérifie qu'il n'y ait pas d'erreur
280 $this->verifynoerrors();
281 // Vérifie le fil d'Ariane
282 $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
283 // On vérifie que le text est présent
284 $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
285 // Le nom du pétitionnaire doit apparaître
286 $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
287 // On clique sur le lien
288 $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
289 // Liste les fenêtres
290 $windows = $this->windowHandles();
291 // Change la fenêtre
292 $this->window($windows[1]);
293 // On vérifie qu'il n'y ait pas d'erreur
294 $this->verifynoerrors();
295 // On vérifie que le text est présent
296 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
297 // On ferme la fenêtre
298 $this->closeWindow();
299 // On change le focus de la fenêtre
300 $this->window($windows[0]);
301 // On clique sur "Retour"
302 $this->byLinkText("Retour")->click();
303 // On vérifie qu'il n'y ait pas d'erreur
304 $this->verifynoerrors();
305 // On vérifie le nom de l'onglet
306 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
307 // On se deconnecte
308 $this->logout();
309 }
310
311 /**
312 * Test les pétitionnaires fréquents
313 */
314 public function testPetitionnaireFrequent() {
315
316 // On se connecte à l'application
317 $this->login("guichet", "guichet");
318 // On clique sur le menu "Nouveau Dossier"
319 $this->byLinkText("Nouveau Dossier")->click();
320 // On vérifie qu'il n'y ait pas d'erreur
321 $this->verifynoerrors();
322 // On vérifie le nom de l'onglet
323 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
324 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
325 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
326 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
327 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
328 // On clique pour ajouter un pétitionnaire principale
329 $this->byId("add_petitionnaire_principal")->click();
330 // On remplit le champ
331 $this->byId("particulier_nom")->value("DURAND");
332 // On remplit le champ
333 $this->byId("particulier_prenom")->value("MICKAEL");
334 // On remplit le champ
335 $this->byId("particulier_date_naissance")->value("03/01/1956");
336 // On remplit le champ
337 $this->byId("particulier_commune_naissance")->value("LILLE");
338 // On remplit le champ
339 $this->byId("particulier_departement_naissance")->value("NORD");
340 // On remplit le champ
341 $this->byId("numero")->value("12");
342 // On remplit le champ
343 $this->byId("voie")->value("RUE DE LA LOI");
344 // On remplit le champ
345 $this->byId("complement")->value("APPT 12");
346 // On remplit le champ
347 $this->byId("localite")->value("MARSEILLE");
348 // On remplit le champ
349 $this->byId("code_postal")->value("13012");
350 // On remplit le champ
351 $this->byId("telephone_fixe")->value("0404040404");
352 // On sélectionne pétitionnaire fréquent
353 $this->byId("frequent")->click();
354 // On clique sur ajouter
355 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
356 // On vérifie qu'il n'y ait pas d'erreur
357 $this->verifynoerrors();
358 // On vérifie le message
359 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());
360 // On clique sur le bouton retour
361 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
362 // On vérifie que le text est présent
363 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());
364 // On clique sur ajouter
365 $this->byXPath("//input[@value='Ajouter']")->click();
366 // On vérifie qu'il n'y ait pas d'erreur
367 $this->verifynoerrors();
368 // On vérifie le message
369 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector("BODY")->text());
370 // On clique
371 $this->byCssSelector("a.lien")->click();sleep(5);
372 // Liste les fenêtres
373 $windows = $this->windowHandles();
374 // Change la fenêtre
375 $this->window($windows[1]);
376 // On vérifie qu'il n'y ait pas d'erreur
377 $this->verifynoerrors();
378 // On vérifie que le text est présent
379 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
380 // On ferme la fenêtre
381 $this->closeWindow();
382 // On change le focus de la fenêtre
383 $this->window($windows[0]);
384 // On clique sur le bouton retour
385 $this->byLinkText("Retour")->click();
386 // On vérifie qu'il n'y ait pas d'erreur
387 $this->verifynoerrors();
388 // On clique sur pétitionnaire fréquent
389 $this->byLinkText("Pétitionnaire Fréquent")->click();
390 // On vérifie qu'il n'y ait pas d'erreur
391 $this->verifynoerrors();
392 // On vérifie que le text est présent
393 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
394 // On vérifie que le text est présent
395 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
396 // On clique sur le résultat
397 $this->byLinkText("DURAND MICKAEL")->click();
398 // On vérifie qu'il n'y ait pas d'erreur
399 $this->verifynoerrors();
400 // On vérifie que le text est présent
401 $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
402 // On clique sur le bouton "Retour"
403 $this->byLinkText("Retour")->click();
404 // On vérifie qu'il n'y ait pas d'erreur
405 $this->verifynoerrors();
406 // On vérifie que le text est présent
407 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
408 // On se déconnecte
409 $this->logout();
410 }
411
412 }
413
414 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26