/[openfoncier]/branches/optimisation-tests-robot/tests/testParametrageDossiers.php
ViewVC logotype

Contents of /branches/optimisation-tests-robot/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4256 - (show annotations)
Fri May 20 16:30:01 2016 UTC (8 years, 8 months ago) by jymadier
File size: 26672 byte(s)
Création d'une branche pour optimisation des tests

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 * Test l'ajout, la modification et la suppression d'un contrainte
408 */
409 public function test_06_contrainte() {
410
411 // On se connecte à l'application
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 menu "Paramétrage Dossiers"
416 $this->byLinkText("Paramétrage Dossiers")->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 sous-menu "Événement"
420 $this->byLinkText("Contrainte")->click();
421 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
422 $this->verifyNoErrors();
423 // On ajoute une contrainte
424 $this->byId("action-tab-contrainte-corner-ajouter")->click();
425 // On remplis les champs
426 $this->byId("libelle")->value("Une contrainte manuelle");
427 $this->byId("groupe")->value("Zone du PLU");
428 $this->byId("sousgroupe")->value("protection");
429 $this->byId("texte")->value("Texte de la contrainte à complété.");
430 $this->select($this->byId("om_collectivite"))->selectOptionByLabel("agglo");
431 // On valide le formulaire
432 $this->byXPath("//input[@value='Ajouter']")->click();
433 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
434 $this->verifyNoErrors();
435 // On vérifie le message de validation
436 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
437 // On clique sur le bouton retour
438 $this->byLinkText("Retour")->click();
439 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
440 $this->verifyNoErrors();
441 // On vérifie que la contrainte existe
442 $this->assertContains("Une contrainte manuelle", $this->byCssSelector(".tab-tab")->text());
443 // On clique sur la contrainte créée
444 $this->byLinkText("Une contrainte manuelle")->click();
445 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
446 $this->verifyNoErrors();
447 // On clique sur le bouton "Modifier"
448 $this->byId("action-form-contrainte-modifier")->click();
449 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
450 $this->verifyNoErrors();
451 // On modifie le texte
452 $this->byId("texte")->clear();
453 $this->byId("texte")->value("Texte de la contrainte à complété depuis un dossier.");
454 // On valide le formulaire
455 $this->byXPath("//input[@value='Modifier']")->click();
456 // On vérifie le message de validation
457 $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
458 // On clique sur le bouton retour
459 $this->byLinkText("Retour")->click();
460 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
461 $this->verifyNoErrors();
462 // On vérifie le texte de la contrainte
463 $this->assertContains("Texte de la contrainte à complété depuis un dossier.", $this->byId("texte")->text());
464 // On clique sur le bouton supprimer
465 $this->byId("action-form-contrainte-supprimer")->click();
466 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
467 $this->verifyNoErrors();
468 // On valide le formulaire
469 $this->byXPath("//input[@value='Supprimer']")->click();
470 // On vérifie le message de validation
471 $this->assertContains("La suppression a été correctement effectuée.", $this->byCssSelector(".message")->text());
472 // On clique sur le bouton retour
473 $this->byLinkText("Retour")->click();
474 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
475 $this->verifyNoErrors();
476 // On se déconnecte
477 $this->logout();
478 }
479
480 }
481
482 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26