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

Contents of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2605 - (show annotations)
Thu Dec 12 18:00:35 2013 UTC (11 years, 1 month ago) by softime
File size: 48455 byte(s)
- Ajout du profil 'ADMINISTRATEUR FONCTIONNEL' qui a accès aux actions du guichet unique, de l'instruction et du suivi.
- Modification des tests pour lancer une fonction test avec plusieurs utilisateurs
- Ajout du controle sur ce nouveau profil pour avoir accès aux traitements comme l'administrateur /!\ C'est une mauvaise méthode qui devra être corrigée pour utiliser seulement des droits
- Ajout de droit pour les dashboard des menus
- MàJ HISTORY.txt

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26