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

Contents of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2410 - (show annotations)
Tue Oct 15 16:31:24 2013 UTC (11 years, 3 months ago) by softime
File size: 52718 byte(s)
Correction  pour les nouvelles entrées de menu "Dossier En Cours" et "Autre Dossier" :
- sur les tests
- le fil d'Ariane
- Erreur sur l'ajout de dossier existant dans "Autre Dossier"
+ Ajout de test pour "Autre Dossier"

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 et de création d'une nouvelle sequence
100 */
101 public function testAjoutDemandeNouvelleSequence() {
102
103 // On se connecte à l'application
104 $this->login("guichet", "guichet");
105 // On clique sur le menu "Nouveau Dossier"
106 $this->byLinkText("Nouveau Dossier")->click();
107 // On vérifie qu'il n'y ait pas d'erreur
108 $this->verifynoerrors();
109 // On vérifie le nom de l'onglet
110 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
111 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
112 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
113 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
114 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
115 // Modification de la date
116 $this->byId("date_demande")->clear();
117 $this->acceptAlert();
118 $this->byId("date_demande")->value("10/10/2014");
119 // On clique pour ajouter un pétitionnaire principale
120 $this->byId("add_petitionnaire_principal")->click();
121 // On remplit le champ
122 $this->byId("particulier_nom")->value("DURAND");
123 // On remplit le champ
124 $this->byId("particulier_prenom")->value("MICKAEL");
125 // On remplit le champ
126 $this->byId("particulier_date_naissance")->value("03/01/1956");
127 // On remplit le champ
128 $this->byId("particulier_commune_naissance")->value("LILLE");
129 // On remplit le champ
130 $this->byId("particulier_departement_naissance")->value("NORD");
131 // On remplit le champ
132 $this->byId("numero")->value("12");
133 // On remplit le champ
134 $this->byId("voie")->value("RUE DE LA LOI");
135 // On remplit le champ
136 $this->byId("complement")->value("APPT 12");
137 // On remplit le champ
138 $this->byId("localite")->value("MARSEILLE");
139 // On remplit le champ
140 $this->byId("code_postal")->value("13012");
141 // On remplit le champ
142 $this->byId("telephone_fixe")->value("0404040404");
143 // On clique sur ajouter
144 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
145 // On vérifie qu'il n'y ait pas d'erreur
146 $this->verifynoerrors();
147 // On vérifie le message
148 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
149 // On clique sur le bouton retour
150 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
151 // On vérifie que le text est présent
152 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
153 // On clique sur ajouter
154 $this->byXPath("//input[@value='Ajouter']")->click();
155 // On vérifie qu'il n'y ait pas d'erreur
156 $this->verifynoerrors();
157 // On vérifie le message
158 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 14 00001[\s\S]*$/",$this->byCssSelector(".message")->text());
159 // On se déconnecte
160 $this->logout();
161 }
162
163 /**
164 * Test l'ajout d'une demande avec un instructeur
165 */
166 public function testAjoutDemandeInitialInstructeur() {
167
168 // On se connecte à l'application
169 $this->login("instr", "instr");
170 // On clique sur le menu "Nouveau Dossier"
171 $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();
172 // On vérifie qu'il n'y ait pas d'erreur
173 $this->verifynoerrors();
174 // On vérifie le nom de l'onglet
175 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
176 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
177 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
178 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
179 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
180 // On clique pour ajouter un pétitionnaire principale
181 $this->byId("add_petitionnaire_principal")->click();
182 // On remplit le champ
183 $this->byId("particulier_nom")->value("DURAND");
184 // On remplit le champ
185 $this->byId("particulier_prenom")->value("MICKAEL");
186 // On remplit le champ
187 $this->byId("particulier_date_naissance")->value("03/01/1956");
188 // On remplit le champ
189 $this->byId("particulier_commune_naissance")->value("LILLE");
190 // On remplit le champ
191 $this->byId("particulier_departement_naissance")->value("NORD");
192 // On remplit le champ
193 $this->byId("numero")->value("12");
194 // On remplit le champ
195 $this->byId("voie")->value("RUE DE LA LOI");
196 // On remplit le champ
197 $this->byId("complement")->value("APPT 12");
198 // On remplit le champ
199 $this->byId("localite")->value("MARSEILLE");
200 // On remplit le champ
201 $this->byId("code_postal")->value("13012");
202 // On remplit le champ
203 $this->byId("telephone_fixe")->value("0404040404");
204 // On clique sur ajouter
205 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
206 // On vérifie qu'il n'y ait pas d'erreur
207 $this->verifynoerrors();
208 // On vérifie le message
209 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("form div.message")->text());
210 // On clique sur le bouton retour
211 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
212 // On vérifie que le text est présent
213 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
214 // On clique sur ajouter
215 $this->byXPath("//input[@value='Ajouter']")->click();
216 // On vérifie qu'il n'y ait pas d'erreur
217 $this->verifynoerrors();
218 // On vérifie le message
219 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector(".message")->text());
220 // On clique
221 $this->byCssSelector("a.lien")->click();sleep(5);
222 // Liste les fenêtres
223 $windows = $this->windowHandles();
224 // Change la fenêtre
225 $this->window($windows[1]);
226 // On vérifie qu'il n'y ait pas d'erreur
227 $this->verifynoerrors();
228 // On vérifie que le text est présent
229 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
230 // On ferme la fenêtre
231 $this->closeWindow();
232 // On change le focus de la fenêtre
233 $this->window($windows[0]);
234 // On clique sur le bouton retour
235 $this->byLinkText("Retour")->click();
236 // On vérifie qu'il n'y ait pas d'erreur
237 $this->verifynoerrors();
238 // On vérifie que le répertoire s'est crée
239 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300002.P0"));
240 // On se déconnecte
241 $this->logout();
242 }
243
244 /**
245 * Test l'ajout d'une demande de modification
246 */
247 public function testAjoutDemandeModification() {
248
249 /// On se connecte à l'application en tant qu'instructeur
250 // pour ajouter une instruction arrêté sur le dossier crée
251 $this->login("instr", "instr");
252 // On clique sur le menu
253 $this->byLinkText("Recherche")->click();
254 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
255 $this->verifyNoErrors();
256 // On clique sur le dossier
257 $this->byId("action-tab-dossier_instruction-left-consulter-PC0130551300001P0")->click();
258 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
259 $this->verifyNoErrors();
260 // On clique sur l'onglet instruction
261 $this->byId("instruction")->click();
262 // On clique sur le + pour ajouter une instruction
263 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
264 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
265 $this->verifyNoErrors();
266 // On choisi l'événement
267 $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
268 // On clique sur le bouton ajouter
269 $this->byXPath("//input[@value='Ajouter']")->click();
270 // On vérifie que l'instruction s'est bien ajouté
271 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
272 // On clique sur le bouton retour
273 $this->byCssSelector("#sousform-instruction form a.retour")->click();
274 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
275 $this->verifyNoErrors();
276 // On clique sur l'onglet DI
277 $this->byId("main")->click();
278 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
279 $this->verifyNoErrors();
280 // on rafraichis la page
281 $this->refresh();
282 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283 $this->verifyNoErrors();
284 // On vérifie l'état du dossier
285 $this->assertEquals("dossier accepter", $this->byId('etat')->text());
286 // On se déconnecte de l'instructeur
287 $this->deconnect();
288 // On se connecte en tant que guichet unique
289 $this->login("guichet", "guichet");
290 // On clique sur le menu "Nouveau Dossier"
291 $this->byLinkText("Autre Dossier")->click();
292 // On vérifie qu'il n'y ait pas d'erreur
293 $this->verifynoerrors();
294 // On vérifie le nom de l'onglet
295 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
296 // On clique pour ajouter une demande au dossier existant
297 $this->byId("action-tab-demande_autre_dossier-left-consulter-PC0130551300001P0")->click();
298 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299 $this->verifyNoErrors();
300 // Vérifie le fil d'Ariane
301 $this->assertEquals("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
302 // On choisis le type de demande
303 $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
304 // On clique sur ajouter
305 $this->byXPath("//input[@value='Ajouter']")->click();
306 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
307 $this->verifyNoErrors();
308 // On vérifie le message
309 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());
310 // On vérifie que le répertoire s'est crée
311 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));
312 // On se déconnecte
313 $this->logout();
314
315 }
316
317 /**
318 * Test l'ajout d'une demande de modification par un instructeur
319 */
320 public function testAjoutDemandeModificationInstructeur() {
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->byId("action-tab-dossier_instruction-left-consulter-PC0130551300001M01")->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 clique sur le menu
360 $this->byLinkText("Guichet Unique")->click();
361 $this->byLinkText("Dossier En Cours")->click();
362 // On vérifie qu'il n'y ait pas d'erreur
363 $this->verifynoerrors();
364 // On vérifie le nom de l'onglet
365 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
366 // On clique pour ajouter une demande au dossier existant
367 $this->byId("action-tab-demande_dossier_encours-left-consulter-PC0130551300001M01")->click();
368 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
369 $this->verifyNoErrors();
370 // Vérifie le fil d'Ariane
371 $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier En Cours > PC 013055 13 00001M01", $this->byXPath("//div[3]/div/h2")->text());
372 // On choisis le type de demande
373 $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
374 // On clique sur ajouter
375 $this->byXPath("//input[@value='Ajouter']")->click();
376 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
377 $this->verifyNoErrors();
378 // On vérifie le message
379 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M02[\s\S]*$/",$this->byCssSelector("BODY")->text());
380 // On vérifie que le répertoire s'est crée
381 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M02"));
382 // On se déconnecte
383 $this->logout();
384
385 }
386
387 /**
388 * Tests l'affichage réglementaire
389 */
390 public function testAffichageReglementaire() {
391
392 // On se connecte à l'application
393 $this->login("guichet", "guichet");
394 // On clique sur le menu "Attestation"
395 $this->byLinkText("Attestation")->click();
396 // On vérifie qu'il n'y ait pas d'erreur
397 $this->verifynoerrors();
398 // On vérifie le nom de l'onglet
399 $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
400 // On écrit "PC0130551200002P0" dans le champ dossier
401 $this->byId("dossier")->value("PC0130551200002P0");
402 // On clique sur "Valider"
403 $this->byXPath("//input[@value='Valider']")->click();
404 // On vérifie qu'il n'y ait pas d'erreur
405 $this->verifynoerrors();
406 // On vérifie que text est présent
407 $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
408 // On clique sur le menu "Registre"
409 $this->byLinkText("Registre")->click();
410 // On vérifie qu'il n'y ait pas d'erreur
411 $this->verifynoerrors();
412 // On vérifie le nom de l'onglet
413 $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
414 // On clique sur "Valider"
415 $this->byXPath("//input[@value='Valider']")->click();
416 // On clique sur "Oui" dans la fenêtre js qui apparaît
417 $this->acceptAlert();sleep(5);
418 // Liste des fenêtres ouvertes
419 $windows = $this->windowHandles();
420 // On change le focus de la fenêtre
421 $this->window($windows[1]);
422 // On vérifie qu'il n'y ait pas d'erreur
423 $this->verifynoerrors();
424 // On vérifie que text est présent
425 $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
426 // On ferme la fenêtre
427 $this->closeWindow();
428 // On change le focus de la fenêtre
429 $this->window($windows[0]);
430 // On vérifie qu'il n'y ait pas d'erreur
431 $this->verifynoerrors();
432 // On vérifie que text est présent
433 $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
434 // On clique sur le menu "Attestation"
435 $this->byLinkText("Attestation")->click();
436 // On vérifie qu'il n'y ait pas d'erreur
437 $this->verifynoerrors();
438 // On vérifie le nom de l'onglet
439 $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
440 // On clique sur "Valider"
441 $this->byXPath("//input[@value='Valider']")->click();
442 // On vérifie qu'il n'y ait pas d'erreur
443 $this->verifynoerrors();
444 // On vérifie que text est présent
445 $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
446 // On écrit "123" dans le champ dossier
447 $this->byId("dossier")->value("123");
448 // On clique sur "Valider"
449 $this->byXPath("//input[@value='Valider']")->click();
450 // On vérifie qu'il n'y ait pas d'erreur
451 $this->verifynoerrors();
452 // On vérifie que text est présent
453 $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
454 // On écrit "PC0130551200002P0" dans le champ dossier
455 $this->byId("dossier")->value("PC0130551200002P0");
456 // On clique sur "Valider"
457 $this->byXPath("//input[@value='Valider']")->click();
458 // On vérifie qu'il n'y ait pas d'erreur
459 $this->verifynoerrors();
460 // On vérifie que le text est présent
461 $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
462 // On clique sur "Attestation d'affichage"
463 $this->byLinkText("Attestation d'affichage")->click();sleep(5);
464 // Liste les fenêtres
465 $windows = $this->windowHandles();
466 // Change la fenêtre
467 $this->window($windows[1]);
468 // On vérifie qu'il n'y ait pas d'erreur
469 $this->verifynoerrors();
470 // On vérifie que le text est
471 // présent
472 $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
473 // On ferme la fenêtre
474 $this->closeWindow();
475 // On change le focus de la fenêtre
476 $this->window($windows[0]);
477 // On se deconnecte
478 $this->logout();
479 }
480
481 /**
482 * Test le Récépissé
483 */
484 public function testRecepisse() {
485
486 // On se connecte à l'application
487 $this->login("guichet", "guichet");
488 // On clique sur le menu "Récépissé"
489 $this->byLinkText("Récépissé")->click();
490 // On vérifie qu'il n'y ait pas d'erreur
491 $this->verifynoerrors();
492 // On vérifie le nom de l'onglet
493 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
494 // On clique sur "AT0130551200001P0"
495 $this->byLinkText("AT 013055 12 00001P0")->click();
496 // On vérifie qu'il n'y ait pas d'erreur
497 $this->verifynoerrors();
498 // Vérifie le fil d'Ariane
499 $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
500 // On vérifie que le text est présent
501 $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
502 // Le nom du pétitionnaire doit apparaître
503 $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
504 // On clique sur le lien
505 $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
506 // Liste les fenêtres
507 $windows = $this->windowHandles();
508 // Change la fenêtre
509 $this->window($windows[1]);
510 // On vérifie qu'il n'y ait pas d'erreur
511 $this->verifynoerrors();
512 // On vérifie que le text est présent
513 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
514 // On ferme la fenêtre
515 $this->closeWindow();
516 // On change le focus de la fenêtre
517 $this->window($windows[0]);
518 // On clique sur "Retour"
519 $this->byLinkText("Retour")->click();
520 // On vérifie qu'il n'y ait pas d'erreur
521 $this->verifynoerrors();
522 // On vérifie le nom de l'onglet
523 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
524 // On se deconnecte
525 $this->logout();
526 }
527
528 /**
529 * Test les pétitionnaires fréquents
530 */
531 public function testPetitionnaireFrequent() {
532
533 // On se connecte à l'application
534 $this->login("guichet", "guichet");
535 // On clique sur le menu "Nouveau Dossier"
536 $this->byLinkText("Nouveau Dossier")->click();
537 // On vérifie qu'il n'y ait pas d'erreur
538 $this->verifynoerrors();
539 // On vérifie le nom de l'onglet
540 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
541 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
542 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
543 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
544 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
545 // On clique pour ajouter un pétitionnaire principale
546 $this->byId("add_petitionnaire_principal")->click();
547 // On remplit le champ
548 $this->byId("particulier_nom")->value("DURAND");
549 // On remplit le champ
550 $this->byId("particulier_prenom")->value("MICKAEL");
551 // On remplit le champ
552 $this->byId("particulier_date_naissance")->value("03/01/1956");
553 // On remplit le champ
554 $this->byId("particulier_commune_naissance")->value("LILLE");
555 // On remplit le champ
556 $this->byId("particulier_departement_naissance")->value("NORD");
557 // On remplit le champ
558 $this->byId("numero")->value("12");
559 // On remplit le champ
560 $this->byId("voie")->value("RUE DE LA LOI");
561 // On remplit le champ
562 $this->byId("complement")->value("APPT 12");
563 // On remplit le champ
564 $this->byId("localite")->value("MARSEILLE");
565 // On remplit le champ
566 $this->byId("code_postal")->value("13012");
567 // On remplit le champ
568 $this->byId("telephone_fixe")->value("0404040404");
569 // On sélectionne pétitionnaire fréquent
570 $this->byId("frequent")->click();
571 // On clique sur ajouter
572 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
573 // On vérifie qu'il n'y ait pas d'erreur
574 $this->verifynoerrors();
575 // On vérifie le message
576 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
577 // On clique sur le bouton retour
578 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
579 // On vérifie que le text est présent
580 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
581 // On clique sur ajouter
582 $this->byXPath("//input[@value='Ajouter']")->click();
583 // On vérifie qu'il n'y ait pas d'erreur
584 $this->verifynoerrors();
585 // On vérifie le message
586 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector(".message")->text());
587 // On clique
588 $this->byCssSelector("a.lien")->click();sleep(5);
589 // Liste les fenêtres
590 $windows = $this->windowHandles();
591 // Change la fenêtre
592 $this->window($windows[1]);
593 // On vérifie qu'il n'y ait pas d'erreur
594 $this->verifynoerrors();
595 // On vérifie que le text est présent
596 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
597 // On ferme la fenêtre
598 $this->closeWindow();
599 // On change le focus de la fenêtre
600 $this->window($windows[0]);
601 // On clique sur le bouton retour
602 $this->byLinkText("Retour")->click();
603 // On vérifie qu'il n'y ait pas d'erreur
604 $this->verifynoerrors();
605 // On clique sur pétitionnaire fréquent
606 $this->byLinkText("Pétitionnaire Fréquent")->click();
607 // On vérifie qu'il n'y ait pas d'erreur
608 $this->verifynoerrors();
609 // On vérifie que le text est présent
610 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
611 // On vérifie que le text est présent
612 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
613 // On clique sur le résultat
614 $this->byLinkText("DURAND MICKAEL")->click();
615 // On vérifie qu'il n'y ait pas d'erreur
616 $this->verifynoerrors();
617 // On vérifie que le text est présent
618 $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
619 // On clique sur le bouton "Retour"
620 $this->byLinkText("Retour")->click();
621 // On vérifie qu'il n'y ait pas d'erreur
622 $this->verifynoerrors();
623 // On vérifie que le text est présent
624 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
625 // On se déconnecte
626 $this->logout();
627 }
628
629 /**
630 * Active l'option sig avec la valeur nécessaire pour la suite des tests
631 */
632 public function test_active_option_sig() {
633
634 // On se connecte en tant que "admin"
635 $this->login("admin", "admin");
636 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
637 $this->verifyNoErrors();
638 // On clique sur le lien "Administration" dans le menu
639 $this->byLinkText("Administration")->click();
640 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
641 $this->verifyNoErrors();
642 // // On clique sur le lien "Paramètre" dans le menu
643 $this->byLinkText("Paramètre")->click();
644 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
645 $this->verifyNoErrors();
646 // On remplis le champs de recherche simple
647 $this->byCssSelector("input[name='recherche']")->value('option_sig');
648 // On clique sur le bouton recherche
649 $this->byCssSelector(".ui-button")->click();
650 // On clique sur le résultat
651 $this->byLinkText("option_sig")->click();
652 // On clique sur le bouton "Modifier"
653 $this->byId('action-form-om_parametre-modifier')->click();
654 // On change la valeur par "sig_externe"
655 $this->byId('valeur')->clear();
656 $this->byId('valeur')->value('sig_externe');
657 // On valide la modification
658 $this->byCssSelector("input[value='Modifier']")->click();
659 // On vérifie le message de validation
660 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
661 // On clique sur le bouton 'Retour'
662 $this->byLinkText("Retour")->click();
663 // On vérifie les nouvelles données
664 $this->assertEquals("sig_externe", $this->byId("valeur")->text());
665 // On se déconnecte
666 $this->logout();
667 }
668
669 /**
670 * Test l'ajout d'une demande initial en utilisant les références cadastrales
671 * pour récupérer l'adresse
672 */
673 public function testAjoutDemandeInitialReferenceCadastrale() {
674
675 // On se connecte à l'application
676 $this->login("guichet", "guichet");
677 // On clique sur le menu "Nouveau Dossier"
678 $this->byLinkText("Nouveau Dossier")->click();
679 // On vérifie qu'il n'y ait pas d'erreur
680 $this->verifynoerrors();
681 // On vérifie le nom de l'onglet
682 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
683 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
684 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
685 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
686 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
687 // XXX Problème de javascript seulement dans cette fonction
688 // Les alerts ne passent pas lorsque le focus n'est pas sur le
689 // navigateur
690 //On saisie des références cadastrales inccorect
691 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
692 // // On change le focus pour faire apparaitre le message
693 // $this->byId('date_demande')->value(date('d/m/Y'));
694 // sleep(5);
695 // // Message d'erreur concernant le numéro de quartier
696 // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
697 // $this->acceptAlert();
698 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
699 // // On change le focus pour faire apparaitre le message
700 // $this->byId('date_demande')->value(date('d/m/Y'));
701 // sleep(5);
702 // // Message d'erreur concernant la section
703 // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
704 // $this->acceptAlert();
705 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
706 // // On change le focus pour faire apparaitre le message
707 // $this->byId('date_demande')->value(date('d/m/Y'));
708 // sleep(5);
709 // // Message d'erreur concernant le numéro de parcelle
710 // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
711 // $this->acceptAlert();
712 //On saisie les références cadastrales
713 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
714 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
715 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
716 // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
717 // bon format automatiquement grâce au javascript
718 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("001");
719 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("DC");
720 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("0015");
721 //On clique sur le bouton de recherche "Cadastrale = > Adresse"
722 $this->byId("cad-adr-them")->click();
723 sleep(1);
724 // On vérifie que le format des champs est mise à jour automatiquement
725 $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
726 $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
727 $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
728 //On verifie l'adresse
729 $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());
730 $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());
731 $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());
732 $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());
733 // On valide le formulaire
734 $this->byXPath("//input[@value='Ajouter']")->click();
735 // On vérifie le message d'erreur
736 $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
737 sleep(1);
738 // On vérifie que les références cadastrales soient toujours affiché
739 $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
740 $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
741 $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
742 //On saisie les références cadastrales
743 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
744 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
745 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
746 //On clique sur le bouton de recherche "Cadastrale = > Adresse"
747 $this->byId("cad-adr-them")->click();
748 //On valide le message d'erreur
749 $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
750 $this->acceptAlert();
751 // On clique pour ajouter un pétitionnaire principale
752 $this->byId("add_petitionnaire_principal")->click();
753 // On remplit le champ
754 $this->byId("particulier_nom")->value("DURAND");
755 // On remplit le champ
756 $this->byId("particulier_prenom")->value("MICKAEL");
757 // On remplit le champ
758 $this->byId("particulier_date_naissance")->value("03/01/1956");
759 // On remplit le champ
760 $this->byId("particulier_commune_naissance")->value("LILLE");
761 // On remplit le champ
762 $this->byId("particulier_departement_naissance")->value("NORD");
763 // On remplit le champ
764 $this->byId("numero")->value("12");
765 // On remplit le champ
766 $this->byId("voie")->value("RUE DE LA LOI");
767 // On remplit le champ
768 $this->byId("complement")->value("APPT 12");
769 // On remplit le champ
770 $this->byId("localite")->value("MARSEILLE");
771 // On remplit le champ
772 $this->byId("code_postal")->value("13012");
773 // On remplit le champ
774 $this->byId("telephone_fixe")->value("0404040404");
775 // On clique sur ajouter
776 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
777 // On vérifie qu'il n'y ait pas d'erreur
778 $this->verifynoerrors();
779 // On vérifie le message
780 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
781 // On clique sur le bouton retour
782 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
783 // On vérifie que le text est présent
784 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
785 // On clique sur ajouter
786 $this->byXPath("//input[@value='Ajouter']")->click();
787 // On vérifie qu'il n'y ait pas d'erreur
788 $this->verifynoerrors();
789 // On vérifie le message
790 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00004[\s\S]*$/",$this->byCssSelector(".message")->text());
791 // On clique
792 $this->byCssSelector("a.lien")->click();sleep(5);
793 // Liste les fenêtres
794 $windows = $this->windowHandles();
795 // Change la fenêtre
796 $this->window($windows[1]);
797 // On vérifie qu'il n'y ait pas d'erreur
798 $this->verifynoerrors();
799 // On vérifie que le text est présent
800 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
801 // On ferme la fenêtre
802 $this->closeWindow();
803 // On change le focus de la fenêtre
804 $this->window($windows[0]);
805 // On clique sur le bouton retour
806 $this->byLinkText("Retour")->click();
807 // On vérifie qu'il n'y ait pas d'erreur
808 $this->verifynoerrors();
809 // On vérifie que le répertoire s'est crée
810 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300004.P0"));
811 // On se déconnecte
812 $this->logout();
813 }
814
815 /*
816 * Cette fonction va tester l'affectation automatique des instructeurs aux
817 * dossiers d'instruction.
818 * Quatre cas sont possibles :
819 * - Aucun instructeur ne correspond, ;
820 * - Un instructeur joker correspond, ;
821 * - Un instructeur correspond, .
822 */
823 function testAffectationAutomatique(){
824
825 // On se connecte à l'application
826 $this->login("guichet", "guichet");
827 //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
828 $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", " -");
829
830 //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
831 //joker avec seulement le type de dossier d'autorisation détaillé de
832 //renseigné
833 $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
834
835 //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
836 //correspondant parfaitement aux critères
837 $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
838 // On se déconnecte
839 $this->logout();
840 }
841
842 /**
843 * Ajoute un dossier d'instruction
844 * @param string $reference_cadastrale_quartier Le quartier de la référence
845 * cadastrale du dossier
846 * @param string $reference_cadastrale_section La section de la référence
847 * cadastrale du dossier
848 * @param string $reference_cadastrale_parcelle La parcelle de la référence
849 * cadastrale du dossier
850 * @param string $datd dossier d'autorisation type détaillé
851 * @param string $instructeur le nom de l'instructeur
852 *
853 * @return boolean
854 */
855 function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
856 $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
857 $instructeur){
858
859 //On affiche le tableau de bord
860 $this->byLinkText("Tableau de bord")->click();
861 // On clique sur le menu "Nouveau Dossier"
862 $this->byLinkText("Nouveau Dossier")->click();
863 // On vérifie qu'il n'y ait pas d'erreur
864 $this->verifynoerrors();
865 // On vérifie le nom de l'onglet
866 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
867 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
868 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
869 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
870 $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
871 //On saisie les références cadastrales
872 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
873 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
874 $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
875 //On clique sur le bouton de recherche "Cadastrale = > Adresse"
876 $this->byId("cad-adr-them")->click();
877 // On clique pour ajouter un pétitionnaire principale
878 $this->byId("add_petitionnaire_principal")->click();
879 // On remplit le champ
880 $this->byId("particulier_nom")->value("DURAND");
881 // On remplit le champ
882 $this->byId("particulier_prenom")->value("MICKAEL");
883 // On remplit le champ
884 $this->byId("particulier_date_naissance")->value("03/01/1956");
885 // On remplit le champ
886 $this->byId("particulier_commune_naissance")->value("LILLE");
887 // On remplit le champ
888 $this->byId("particulier_departement_naissance")->value("NORD");
889 // On remplit le champ
890 $this->byId("numero")->value("12");
891 // On remplit le champ
892 $this->byId("voie")->value("RUE DE LA LOI");
893 // On remplit le champ
894 $this->byId("complement")->value("APPT 12");
895 // On remplit le champ
896 $this->byId("localite")->value("MARSEILLE");
897 // On remplit le champ
898 $this->byId("code_postal")->value("13012");
899 // On remplit le champ
900 $this->byId("telephone_fixe")->value("0404040404");
901 // On clique sur ajouter
902 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
903 // On vérifie qu'il n'y ait pas d'erreur
904 $this->verifynoerrors();
905 // On vérifie le message
906 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
907 // On clique sur le bouton retour
908 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
909 // On vérifie que le text est présent
910 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
911 // On clique sur ajouter
912 $this->byXPath("//input[@value='Ajouter']")->click();
913 // On vérifie qu'il n'y ait pas d'erreur
914 $this->verifynoerrors();
915 // On vérifie le message
916 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
917 // On clique
918 $this->byCssSelector("a.lien")->click();sleep(5);
919 // Liste les fenêtres
920 $windows = $this->windowHandles();
921 // Change la fenêtre
922 $this->window($windows[1]);
923 // On vérifie qu'il n'y ait pas d'erreur
924 $this->verifynoerrors();
925 // On vérifie que le text est présent
926 $this->assertRegExp("/^[\s\S]*Dossier suivi par ".$instructeur."[\s\S]*$/",$this->source());
927 // On ferme la fenêtre
928 $this->closeWindow();
929 // On change le focus de la fenêtre
930 $this->window($windows[0]);
931 }
932
933 /**
934 * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
935 */
936 public function test_autre_dossier() {
937
938 // On se connecte en tant que "guichet"
939 $this->login("guichet", "guichet");
940 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
941 $this->verifyNoErrors();
942 // On clique sur "Autre Dossier"
943 $this->byLinkText("Autre Dossier")->click();
944 // On vérifie qu'il n'y ait pas d'erreur
945 $this->verifynoerrors();
946 // On vérifie que les dossiers qui ne devraient pas être dans
947 // "Dossier En Cours" sont ici
948 $this->assertRegExp("/^[\s\S]*PC 013055 13 00001P0[\s\S]*$/",
949 $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
950 $this->assertRegExp("/^[\s\S]*PC 013055 13 00001M01[\s\S]*$/",
951 $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
952 // On clique sur "Dossier En Cours"
953 $this->byLinkText("Dossier En Cours")->click();
954 // On vérifie qu'il n'y ait pas d'erreur
955 $this->verifynoerrors();
956 // On vérifie que les dossiers précédement contrôlés ne sont pas
957 // affichés
958 $this->assertNotContains("PC 013055 13 00001P0",
959 $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
960 $this->assertNotContains("PC 013055 13 00001M01",
961 $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
962 // On se déconnecte
963 $this->logout();
964 }
965
966 /**
967 * Désactive l'option sig avec la valeur nécessaire
968 */
969 public function test_desactive_option_sig() {
970
971 // On se connecte en tant que "admin"
972 $this->login("admin", "admin");
973 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
974 $this->verifyNoErrors();
975 // On clique sur le lien "Administration" dans le menu
976 $this->byLinkText("Administration")->click();
977 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
978 $this->verifyNoErrors();
979 // // On clique sur le lien "Paramètre" dans le menu
980 $this->byLinkText("Paramètre")->click();
981 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
982 $this->verifyNoErrors();
983 // On remplis le champs de recherche simple
984 $this->byCssSelector("input[name='recherche']")->value('option_sig');
985 // On clique sur le bouton recherche
986 $this->byCssSelector(".ui-button")->click();
987 // On clique sur le résultat
988 $this->byLinkText("option_sig")->click();
989 // On clique sur le bouton "Modifier"
990 $this->byId('action-form-om_parametre-modifier')->click();
991 // On change la valeur par "aucun"
992 $this->byId('valeur')->clear();
993 $this->byId('valeur')->value('aucun');
994 // On valide la modification
995 $this->byCssSelector("input[value='Modifier']")->click();
996 // On vérifie le message de validation
997 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
998 // On clique sur le bouton 'Retour'
999 $this->byLinkText("Retour")->click();
1000 // On vérifie les nouvelles données
1001 $this->assertEquals("aucun", $this->byId("valeur")->text());
1002 // On se déconnecte
1003 $this->logout();
1004 }
1005 }
1006
1007 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26