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

Contents of /trunk/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (show annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 30496 byte(s)
Actualisation du trunk
1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testParametrageDossiers.php 5673 2015-12-21 19:35:24Z nmeucci $
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Test les paramétrage de dossiers
14 */
15 class testParametrageDossiers extends Base2TestCase {
16 /**
17 * Fonction lancée en debut de chaque test
18 */
19 public function setUp() {
20 parent::setUp();
21 echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
22 }
23
24 public function onNotSuccessfulTest(Exception $e){
25 echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
26 parent::onNotSuccessfulTest($e);
27 }
28
29 /**
30 * Test le formulaire de la demande de type qui possède des select filtrés
31 */
32 public function test_01_DemandeType() {
33
34 // On se connecte à l'application
35 $this->login("admin", "admin");
36 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37 $this->verifyNoErrors();
38 // On clique sur le menu
39 $this->byLinkText("Paramétrage Dossiers")->click();
40 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
41 $this->verifyNoErrors();
42 // On clique sur le sous-menu
43 $this->byLinkText("Type")->click();
44 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
45 $this->verifyNoErrors();
46 // On clique sur le bouton "Ajouter"
47 $this->byLinkText("Ajouter")->click();
48 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
49 $this->verifyNoErrors();
50 // On remplis le champ code
51 $this->byId("code")->value("TEST");
52 // On remplit le choix libelle
53 $this->byId("libelle")->value("Test ajout de type de demande");
54 // On selectionne le groupe "Autorisation ADS"
55 $this->select($this->byId("groupe"))->selectOptionByValue("1");
56 // On vérifie que le filtre s'est appliqué sur le champ
57 // "type de dossier d'autorisation détaillé "
58 $this->assertTrue((bool)preg_match_all("/(PCI)|(PCA)|(PD)|(PA)|(DP)|(CU)|(AZ)/", $this->select($this->byId("dossier_autorisation_type_detaille"))->text(), $matches));
59 // On selectionne le type détaillé d'autorisation
60 // "AZ (Demande d'autorisation spéciale de travaux dans le périmètre d'une AVAP)"
61 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");
62 // On vérifie que le filtre s'est appliqué sur le champ
63 // "type de dossier d'instruction à créer"
64 $this->assertTrue((bool)preg_match_all("/(AZ - Initiale)|(AZ - Transfert)|(AZ - Modificatif)|(AZ - Achèvement et conformité)|(AZ - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text(), $matches));
65 // On selectionne le type de dossier d'instruction "AZ - Initiale"
66 $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue("31");
67 // On selectionne le type de l'événement d'instruction à créer
68 $this->select($this->byId("evenement"))->selectOptionByValue("1");
69 // On selectionne la natude de la demande
70 $this->select($this->byId("demande_nature"))->selectOptionByValue("1");
71 // On clique sur "Ajouter"
72 $this->byXPath("//input[@value='Ajouter']")->click();
73 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
74 $this->verifyNoErrors();
75 // On vérifie le message
76 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
77 // On clique sur le bouton "Retour"
78 $this->byLinkText("Retour")->click();
79 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
80 $this->verifyNoErrors();
81 // On clique sur le type de demande crée
82 $this->byLinkText("TEST")->click();
83 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
84 $this->verifyNoErrors();
85 // On vérifie le champ code
86 $this->assertEquals("TEST", $this->byId("code")->text());
87 // On vérifie le champ libelle
88 $this->assertEquals("Test ajout de type de demande", $this->byId("libelle")->text());
89 // On vérifie le champ groupe
90 $this->assertEquals("Autorisation ADS", $this->byId("groupe")->text());
91 // On vérifie le champ type de dossier d'autorisation détaillé
92 $this->assertEquals("AZ (Demande d'autorisation spéciale de travaux dans le périmètre d'une AVAP)", $this->byId("dossier_autorisation_type_detaille")->text());
93 // On vérifie le champ type de dossier d'instruction à créer
94 $this->assertEquals("AZ - Initiale", $this->byId("dossier_instruction_type")->text());
95 // On clique sur le portlet "Modifier"
96 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
97 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
98 $this->verifyNoErrors();
99 // On vérifie que les champs type de dossier d'autorisation
100 // détaillé et type de dossier d'instruction à créer respectent le filtrage
101 $this->assertTrue((bool)preg_match_all("/(PCI)|(PCA)|(PD)|(PA)|(DP)|(CU)|(AZ)/", $this->select($this->byId("dossier_autorisation_type_detaille"))->text()));
102 $this->assertTrue((bool)preg_match_all("/(AZ - Initiale)|(AZ - Transfert)|(AZ - Modificatif)|(AZ - Achèvement et conformité)|(AZ - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text()));
103 // On modifie le type de dossier d'autorisation détaillé
104 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
105 // On vérifie que le filtre s'est appliqué sur le champ
106 // "type de dossier d'instruction à créer"
107 $this->assertTrue((bool)preg_match_all("/(PCI - Initial)|(PCI - Transfert)|(PCI - Modificatif)|(PCI - Achèvement et conformité)|(PCI - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text()));
108 // On modifie le type de dossier d'instruction à créer
109 $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue("1");
110 // On clique sur modifier
111 $this->byXPath("//input[@value='Modifier']")->click();
112 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113 $this->verifyNoErrors();
114 // On vérifie le message
115 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
116 // On se déconnecte de l'application
117 $this->logout();
118
119 }
120
121 /**
122 * Test l'existence des champs saisis dans la règle d'une action
123 */
124 public function test_02_action() {
125
126 // On se connecte à l'application
127 $this->login("admin", "admin");
128 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
129 $this->verifyNoErrors();
130 // On clique sur le menu
131 $this->byLinkText("Paramétrage Dossiers")->click();
132 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
133 $this->verifyNoErrors();
134 // On clique sur le sous-menu
135 $this->byLinkText("Action")->click();
136 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137 $this->verifyNoErrors();
138 // On remplit le champ de recherche simple
139 $this->byCssSelector("input[name='recherche']")->value('acceptation');
140 // On clique sur le bouton recherche
141 $this->byCssSelector(".ui-button")->click();
142 // On clique sur le résultat
143 $this->byLinkText("acceptation")->click();
144 // On clique sur le bouton "Modifier"
145 $this->byId('action-form-action-modifier')->click();
146 // On change la valeur par "etat + champ_errone"
147 $this->byId('regle_etat')->clear();
148 $this->byId('regle_etat')->value('etat + champ_errone');
149 // On valide la modification
150 $this->byCssSelector("input[value='Modifier']")->click();
151 // On vérifie le message de validation
152 $this->assertRegExp("/^[\s\S]*Le champ champ_errone n'est pas utilisable pour le champ règle etat[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
153 // On change la règle état
154 $this->byId('regle_date_dernier_depot')->clear();
155 $this->byId('regle_date_dernier_depot')->value('NULL');
156 // On valide la modification
157 $this->byCssSelector("input[value='Modifier']")->click();
158 // On vérifie le message de validation
159 $this->assertRegExp("/^[\s\S]*Le champ date de dernier dépôt des dossiers ne peut être mis à NULL.[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
160 // On change la règle état
161 $this->byId('regle_date_dernier_depot')->clear();
162 // On change la règle état
163 $this->byId('regle_etat')->clear();
164 $this->byId('regle_etat')->value('etat');
165 // On valide la modification
166 $this->byCssSelector("input[value='Modifier']")->click();
167 // On vérifie le message de validation
168 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
169 // On clique sur le bouton 'Retour'
170 $this->byLinkText("Retour")->click();
171 // On vérifie les nouvelles données
172 $this->assertEquals("etat", $this->byId("regle_etat")->text());
173 // On se déconnecte
174 $this->logout();
175 }
176
177 /**
178 * Test le paramétrage entre les événements avant AR et les événements AR
179 */
180 public function test_03_evenement_retour() {
181
182 // On se connecte à l'application
183 $this->login("admin", "admin");
184 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
185 $this->verifyNoErrors();
186 // On clique sur le menu "Paramétrage Dossiers"
187 $this->byLinkText("Paramétrage Dossiers")->click();
188 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
189 $this->verifyNoErrors();
190 // On clique sur le sous-menu "Événement"
191 $this->byLinkText("Événement")->click();
192 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
193 $this->verifyNoErrors();
194 // On ajoute un événement "principal" (c-a-d qui n'est pas retour)
195 // On clique sur le bouton ajouter
196 $this->byId("action-tab-evenement-corner-ajouter")->click();
197 // On remplit les champs
198 $this->byId("libelle")->value("test_princ");
199 $this->byId("restriction")->value("date_evenement <= archive_date_dernier_depot + 1");
200 $this->select($this->byId("action"))->selectOptionByLabel("initier un delai");
201 $this->select($this->byId("delai"))->selectOptionByLabel("5 Mois");
202 $this->select($this->byId("accord_tacite"))->selectOptionByLabel("Oui");
203 $this->select($this->byId("delai_notification"))->selectOptionByLabel("1 Mois");
204 $this->select($this->byId("avis_decision"))->selectOptionByLabel("Non concerné");
205 // On valide le formulaire
206 $this->byXPath("//input[@value='Ajouter']")->click();
207 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
208 $this->verifyNoErrors();
209 // On vérifie le message de validation
210 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
211 // On clique sur le bouton retour
212 $this->byLinkText("Retour")->click();
213 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
214 $this->verifyNoErrors();
215 // On ajoute un événement "suivant tacite"
216 // On clique sur le bouton ajouter
217 $this->byId("action-tab-evenement-corner-ajouter")->click();
218 // On remplit les champs
219 $this->byId("libelle")->value("test_suivant_tacite");
220 // On valide le formulaire
221 $this->byXPath("//input[@value='Ajouter']")->click();
222 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
223 $this->verifyNoErrors();
224 // On vérifie le message de validation
225 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
226 // On clique sur le bouton retour
227 $this->byLinkText("Retour")->click();
228 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
229 $this->verifyNoErrors();
230 // On ajoute un événement "retour"
231 // On clique sur le bouton ajouter
232 $this->byId("action-tab-evenement-corner-ajouter")->click();
233 // On remplit les champs
234 $this->byId("libelle")->value("test_retour");
235 $this->byId("retour")->click();
236 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
237 $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("delai de notification envoye");
238 $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
239 $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
240 $this->select($this->byId("etat"))->selectOptionByLabel("delai majore");
241 $this->select($this->byId("evenement_suivant_tacite"))->selectOptionByLabel("test_suivant_tacite");
242 // On valide le formulaire
243 $this->byXPath("//input[@value='Ajouter']")->click();
244 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
245 $this->verifyNoErrors();
246 // On vérifie le message de validation
247 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
248 // On clique sur le bouton retour
249 $this->byLinkText("Retour")->click();
250 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
251 $this->verifyNoErrors();
252 // On recherche l'événement "test_princ"
253 $this->byCssSelector("input[name='recherche']")->value('test_princ');
254 // On clique sur le bouton recherche
255 $this->byCssSelector(".ui-button")->click();
256 // On clique sur le résultat
257 $this->byLinkText("test_princ")->click();
258 // On clique sur le bouton "Modifier"
259 $this->byId('action-form-evenement-modifier')->click();
260 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
261 $this->verifyNoErrors();
262 // On sélectionne l'événement "retour" dans "evenement_retour_ar"
263 $this->select($this->byId("evenement_retour_ar"))->selectOptionByLabel("test_retour");
264 // On sélectionne l'événement "retour" dans "evenement_retour_signature"
265 $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("test_retour");
266 // On valide le formulaire
267 $this->byXPath("//input[@value='Modifier']")->click();
268 // On vérifie le message d'erreur
269 $this->assertContains("L'événement \"test_retour\" ne peut pas être utilisé en tant qu'événement d'accusé de réception et événement de retour de signature.", $this->byCssSelector(".message")->text());
270 // On ne sélectionne aucun "evenement_retour_signature"
271 $this->select($this->byId("evenement_retour_signature"))->selectOptionByValue("");
272 // On valide le formulaire
273 $this->byXPath("//input[@value='Modifier']")->click();
274 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
275 $this->verifyNoErrors();
276 // On vérifie le message de validation
277 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
278 // On clique sur le bouton retour
279 $this->byLinkText("Retour")->click();
280 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
281 $this->verifyNoErrors();
282 // On clique sur le bouton retour
283 $this->byLinkText("Retour")->click();
284 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285 $this->verifyNoErrors();
286 // On recherche l'événement "test_retour"
287 $this->byCssSelector("input[name='recherche']")->clear();
288 $this->byCssSelector("input[name='recherche']")->value('test_retour');
289 // On clique sur le bouton recherche
290 $this->byCssSelector(".ui-button")->click();
291 // On clique sur le résultat
292 $this->byLinkText("test_retour")->click();
293 // On vérifie que les paramètres ont été copiés
294 $this->assertEquals("date_evenement <= archive_date_dernier_depot + 1", $this->byId("restriction")->text());
295 $this->assertEquals("5", $this->byId("delai")->text());
296 $this->assertEquals("Oui", $this->byId("accord_tacite")->text());
297 $this->assertEquals("1", $this->byId("delai_notification")->text());
298 $this->assertEquals("Non concerné", $this->byId("avis_decision")->text());
299 // On clique sur le bouton retour
300 $this->byLinkText("Retour")->click();
301 // On ajoute un événement "principal" (c-a-d qui n'est pas retour)
302 // On clique sur le bouton ajouter
303 $this->byId("action-tab-evenement-corner-ajouter")->click();
304 // On remplit le libellé
305 $this->byId("libelle")->value("test_princ_2");
306 // On sélectionne l'événement "retour" dans "evenement_retour_ar"
307 $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("test_retour");
308 // On valide le formulaire
309 $this->byXPath("//input[@value='Ajouter']")->click();
310 // On vérifie le message d'erreur
311 $this->assertContains("L'événement \"test_retour\" est déjà utilisé en tant qu'événement d'accusé de réception.", $this->byCssSelector(".message")->text());
312 // On vérifie dans l'interface workflow
313 // On clique sur le sous-menu "Workflows"
314 $this->byLinkText("Workflows")->click();
315 // On sélectionne le type de DI
316 $this->select($this->byId("di_type"))->selectOptionByLabel("PCI - P - Initial");
317 // On vérifie que l'évenement retour apparaît
318 $this->assertContains("TEST_RETOUR [RETOUR]", $this->byId("tabs-1")->text());
319 // On se déconnecte
320 $this->logout();
321 }
322
323 /**
324 * Test la copie d'événement
325 * Cette fonction a besoin de la fonction test_03_evenement_retour
326 * pour fonctionner
327 */
328 public function test_04_evenement_copie() {
329
330 // On se connecte à l'application
331 $this->login("admin", "admin");
332 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
333 $this->verifyNoErrors();
334 // On clique sur le menu "Paramétrage Dossiers"
335 $this->byLinkText("Paramétrage Dossiers")->click();
336 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
337 $this->verifyNoErrors();
338 // On clique sur le sous-menu "Événement"
339 $this->byLinkText("Événement")->click();
340 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
341 $this->verifyNoErrors();
342 // On recherche l'événement "test_princ"
343 $this->byCssSelector("input[name='recherche']")->value('test_princ');
344 // On clique sur le bouton recherche
345 $this->byCssSelector(".ui-button")->click();
346 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
347 $this->verifyNoErrors();
348 // On clique sur le résultat
349 $this->byLinkText("test_princ")->click();
350 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
351 $this->verifyNoErrors();
352 // On ajout un enregistrement à bible pour tester la copie après
353 // On clique sur l'onglet "bible"
354 $this->byId("bible")->click();
355 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
356 $this->verifyNoErrors();
357 // On clique sur le bouton ajouter
358 $this->byId("action-soustab-bible-corner-ajouter")->click();
359 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
360 $this->verifyNoErrors();
361 // On remplis les champs obligatoire
362 $this->byId("contenu")->value("test bible assoc evenement");
363 $this->byXPath('//*[@name="libelle"]')->value("test bible assoc evenement");
364 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
365 // On clique sur le bouton "Ajouter"
366 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
367 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
368 $this->verifyNoErrors();
369 // On vérifie le message de validation
370 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
371 // On clique sur le bouton retour
372 $this->byLinkText("Retour")->click();
373 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
374 $this->verifyNoErrors();
375 // On clique sur l'onglet "Événement"
376 $this->byId("main")->click();
377 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
378 $this->verifyNoErrors();
379 // On récupère l'identifiant de l'événement
380 $evenement = $this->byId('evenement')->text();
381 // On clique sur le bouton retour
382 $this->byLinkText("Retour")->click();
383 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
384 $this->verifyNoErrors();
385 // On clique sur l'action "copier"
386 $this->byId('action-tab-evenement-left-copier-'.$evenement)->click();
387 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
388 $this->verifyNoErrors();
389 // On sélectionne seulement l'objet associé "bible"
390 $this->byId("bible")->click();
391 // On clique sur le bouton "Copier"
392 $this->byId('button-Copier')->click();
393 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
394 $this->verifyNoErrors();
395 // On vérifie le message de validation
396 $this->assertContains("La copie de l'enregistrement événement avec l'identifiant ".$evenement." s'est effectuée avec succès", $this->byCssSelector(".message")->text());
397 // On clique sur le bouton retour
398 $this->byLinkText("Retour")->click();
399 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
400 $this->verifyNoErrors();
401 // On vérifie que le champ de recherche n'est pas vide
402 $this->assertTrue($this->byCssSelector("input[name='recherche']")->attribute('value') != "");
403
404 }
405
406 /**
407 * Active l'option sig avec la valeur nécessaire pour la suite des tests
408 */
409 public function test_05_active_option_sig() {
410
411 // On se connecte en tant que "admin"
412 $this->login("admin", "admin");
413 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
414 $this->verifyNoErrors();
415 // On clique sur le lien "Administration" dans le menu
416 $this->byLinkText("Administration")->click();
417 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418 $this->verifyNoErrors();
419 // // On clique sur le lien "Paramètre" dans le menu
420 $this->byLinkText("Paramètre")->click();
421 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
422 $this->verifyNoErrors();
423 // On remplis le champs de recherche simple
424 $this->byCssSelector("input[name='recherche']")->value('option_sig');
425 // On clique sur le bouton recherche
426 $this->byCssSelector(".ui-button")->click();
427 // On clique sur le résultat MULTI
428 $this->byLinkText("agglo")->click();
429 // On clique sur le bouton "Modifier"
430 $this->byId('action-form-om_parametre-modifier')->click();
431 // On change la valeur par "sig_externe"
432 $this->byId('valeur')->clear();
433 $this->byId('valeur')->value('sig_externe');
434 // On valide la modification
435 $this->byCssSelector("input[value='Modifier']")->click();
436 // On vérifie le message de validation
437 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
438 // On clique sur le bouton 'Retour'
439 $this->byLinkText("Retour")->click();
440 // On vérifie les nouvelles données
441 $this->assertEquals("sig_externe", $this->byId("valeur")->text());
442 // On se déconnecte
443 $this->logout();
444 }
445
446 /**
447 * Test l'ajout, la modification et la suppression d'un contrainte
448 */
449 public function test_06_contrainte() {
450
451 // On se connecte à l'application
452 $this->login("admin", "admin");
453 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
454 $this->verifyNoErrors();
455 // On clique sur le menu "Paramétrage Dossiers"
456 $this->byLinkText("Paramétrage Dossiers")->click();
457 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
458 $this->verifyNoErrors();
459 // On clique sur le sous-menu "Événement"
460 $this->byLinkText("Contrainte")->click();
461 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
462 $this->verifyNoErrors();
463 // On ajoute une contrainte
464 $this->byId("action-tab-contrainte-corner-ajouter")->click();
465 // On remplis les champs
466 $this->byId("libelle")->value("Une contrainte manuelle");
467 $this->byId("groupe")->value("Zone du PLU");
468 $this->byId("sousgroupe")->value("protection");
469 $this->byId("texte")->value("Texte de la contrainte à complété.");
470 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
471 // On valide le formulaire
472 $this->byXPath("//input[@value='Ajouter']")->click();
473 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
474 $this->verifyNoErrors();
475 // On vérifie le message de validation
476 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
477 // On clique sur le bouton retour
478 $this->byLinkText("Retour")->click();
479 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
480 $this->verifyNoErrors();
481 // On vérifie que la contrainte existe
482 $this->assertContains("Une contrainte manuelle", $this->byCssSelector(".tab-tab")->text());
483 // On clique sur la contrainte créée
484 $this->byLinkText("Une contrainte manuelle")->click();
485 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
486 $this->verifyNoErrors();
487 // On clique sur le bouton "Modifier"
488 $this->byId("action-form-contrainte-modifier")->click();
489 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
490 $this->verifyNoErrors();
491 // On modifie le texte
492 $this->byId("texte")->clear();
493 $this->byId("texte")->value("Texte de la contrainte à complété depuis un dossier.");
494 // On valide le formulaire
495 $this->byXPath("//input[@value='Modifier']")->click();
496 // On vérifie le message de validation
497 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
498 // On clique sur le bouton retour
499 $this->byLinkText("Retour")->click();
500 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
501 $this->verifyNoErrors();
502 // On vérifie le texte de la contrainte
503 $this->assertContains("Texte de la contrainte à complété depuis un dossier.", $this->byId("texte")->text());
504 // On clique sur le bouton supprimer
505 $this->byId("action-form-contrainte-supprimer")->click();
506 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
507 $this->verifyNoErrors();
508 // On valide le formulaire
509 $this->byXPath("//input[@value='Supprimer']")->click();
510 // On vérifie le message de validation
511 $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector(".message")->text());
512 // On clique sur le bouton retour
513 $this->byLinkText("Retour")->click();
514 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
515 $this->verifyNoErrors();
516 // On se déconnecte
517 $this->logout();
518 }
519
520 /**
521 * Active l'option sig avec la valeur nécessaire pour la suite des tests
522 */
523 public function test_07_desactive_option_sig() {
524
525 // On se connecte en tant que "admin"
526 $this->login("admin", "admin");
527 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
528 $this->verifyNoErrors();
529 // On clique sur le lien "Administration" dans le menu
530 $this->byLinkText("Administration")->click();
531 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
532 $this->verifyNoErrors();
533 // // On clique sur le lien "Paramètre" dans le menu
534 $this->byLinkText("Paramètre")->click();
535 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
536 $this->verifyNoErrors();
537 // On remplis le champs de recherche simple
538 $this->byCssSelector("input[name='recherche']")->value('option_sig');
539 // On clique sur le bouton recherche
540 $this->byCssSelector(".ui-button")->click();
541 // On clique sur le résultat MULTI
542 $this->byLinkText("agglo")->click();
543 // On clique sur le bouton "Modifier"
544 $this->byId('action-form-om_parametre-modifier')->click();
545 // On change la valeur par "aucun"
546 $this->byId('valeur')->clear();
547 $this->byId('valeur')->value('aucun');
548 // On valide la modification
549 $this->byCssSelector("input[value='Modifier']")->click();
550 // On vérifie le message de validation
551 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
552 // On clique sur le bouton 'Retour'
553 $this->byLinkText("Retour")->click();
554 // On vérifie les nouvelles données
555 $this->assertEquals("aucun", $this->byId("valeur")->text());
556 // On se déconnecte
557 $this->logout();
558 }
559 }
560
561 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26