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 |
?> |