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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26