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

Annotation of /trunk/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4232 - (hide annotations)
Fri May 20 06:24:43 2016 UTC (8 years, 8 months ago) by fmichon
File size: 26672 byte(s)
* Tests : Suppression de testcases inutiles permettant d'activer/désactiver
  l'option SIG.

1 mbroquet 3730 <?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