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

Annotation of /trunk/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2690 - (hide annotations)
Wed Jan 22 16:04:33 2014 UTC (11 years ago) by softime
File size: 22199 byte(s)
Correction/Amélioration du script permettant la copie des événements. Il peut désormais être utilisé pour d'autre objet et peut prendre en compte des traitements spécifiques récupérés depuis la fonction copier de la classe de l'objet.
Ajout de test concernant la fonction de copie.
Ajout de nouvelle traduction.

1 softime 1992 <?php
2     /**
3     *
4     *
5 softime 2442 * @package openfoncier
6     * @version SVN : $Id$
7 softime 1992 */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     * Test les paramétrage de dossiers
14     */
15     class testParametrageDossiers extends Base2TestCase {
16    
17     /**
18     * Test le formulaire de la demande de type qui possède des select filtrés
19     */
20     public function testDemandeType() {
21    
22     // On se connecte à l'application
23     $this->login("admin", "admin");
24 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
25     $this->verifyNoErrors();
26 softime 1992 // On clique sur le menu
27     $this->byLinkText("Paramétrage Dossiers")->click();
28 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
29     $this->verifyNoErrors();
30 softime 1992 // On clique sur le sous-menu
31     $this->byLinkText("Type")->click();
32 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33     $this->verifyNoErrors();
34 softime 1992 // On clique sur le bouton "Ajouter"
35     $this->byLinkText("Ajouter")->click();
36 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37     $this->verifyNoErrors();
38 softime 1992 // On remplis le champ code
39     $this->byId("code")->value("TEST");
40     // On remplit le choix libelle
41     $this->byId("libelle")->value("Test ajout de type de demande");
42     // On selectionne le groupe "Autorisation ADS"
43     $this->select($this->byId("groupe"))->selectOptionByValue("1");
44 vpihour 2456 // On vérifie que le filtre s'est appliqué sur le champ
45 softime 1992 // "type de dossier d'autorisation détaillé "
46     $this->assertTrue((bool)preg_match_all("/(PCI)|(PCA)|(PD)|(PA)|(DP)|(CU)|(AZ)/", $this->select($this->byId("dossier_autorisation_type_detaille"))->text(), $matches));
47     // On selectionne le type détaillé d'autorisation
48     // "AZ (Demande d'autorisation spéciale de travaux dans le périmètre d'une AVAP)"
49     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");
50     // On vérifie que le filtre s'est appliqué sur le champ
51     // "type de dossier d'instruction à créer"
52     $this->assertTrue((bool)preg_match_all("/(AZ - Initial)|(AZ - Transfert)|(AZ - Modificatif)|(AZ - Achèvement et conformité)|(AZ - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text(), $matches));
53     // On selectionne le type de dossier d'instruction "AZ - Initial"
54     $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue("31");
55     // On selectionne le type de l'événement d'instruction à créer
56     $this->select($this->byId("evenement"))->selectOptionByValue("1");
57 softime 2358 // On selectionne la natude de la demande
58     $this->select($this->byId("demande_nature"))->selectOptionByValue("1");
59 softime 1992 // On clique sur "Ajouter"
60     $this->byXPath("//input[@value='Ajouter']")->click();
61 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
62     $this->verifyNoErrors();
63 softime 1992 // On vérifie le message
64     $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
65     // On clique sur le bouton "Retour"
66     $this->byLinkText("Retour")->click();
67 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
68     $this->verifyNoErrors();
69 softime 1992 // On clique sur le type de demande crée
70     $this->byLinkText("TEST")->click();
71 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
72     $this->verifyNoErrors();
73 softime 1992 // On vérifie le champ code
74     $this->assertEquals("TEST", $this->byId("code")->text());
75     // On vérifie le champ libelle
76     $this->assertEquals("Test ajout de type de demande", $this->byId("libelle")->text());
77     // On vérifie le champ groupe
78     $this->assertEquals("Autorisation ADS", $this->byId("groupe")->text());
79     // On vérifie le champ type de dossier d'autorisation détaillé
80     $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());
81     // On vérifie le champ type de dossier d'instruction à créer
82     $this->assertEquals("AZ - Initial", $this->byId("dossier_instruction_type")->text());
83     // On clique sur le portlet "Modifier"
84     $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
85 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
86     $this->verifyNoErrors();
87 softime 1992 // On vérifie que les champs type de dossier d'autorisation
88     // détaillé et type de dossier d'instruction à créer respectent le filtrage
89     $this->assertTrue((bool)preg_match_all("/(PCI)|(PCA)|(PD)|(PA)|(DP)|(CU)|(AZ)/", $this->select($this->byId("dossier_autorisation_type_detaille"))->text()));
90     $this->assertTrue((bool)preg_match_all("/(AZ - Initial)|(AZ - Transfert)|(AZ - Modificatif)|(AZ - Achèvement et conformité)|(AZ - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text()));
91     // On modifie le type de dossier d'autorisation détaillé
92     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
93     // On vérifie que le filtre s'est appliqué sur le champ
94     // "type de dossier d'instruction à créer"
95     $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()));
96     // On modifie le type de dossier d'instruction à créer
97     $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue("1");
98     // On clique sur modifier
99     $this->byXPath("//input[@value='Modifier']")->click();
100 softime 2308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
101     $this->verifyNoErrors();
102 softime 1992 // On vérifie le message
103     $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
104     // On se déconnecte de l'application
105     $this->logout();
106    
107     }
108 softime 2308
109     /**
110 vpihour 2326 * Test l'existence des champs saisis dans la règle d'une action
111 softime 2308 */
112     public function test_action() {
113    
114     // On se connecte à l'application
115     $this->login("admin", "admin");
116     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
117     $this->verifyNoErrors();
118     // On clique sur le menu
119     $this->byLinkText("Paramétrage Dossiers")->click();
120     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
121     $this->verifyNoErrors();
122     // On clique sur le sous-menu
123     $this->byLinkText("Action")->click();
124     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
125     $this->verifyNoErrors();
126 vpihour 2326 // On remplit le champ de recherche simple
127 softime 2308 $this->byCssSelector("input[name='recherche']")->value('acceptation');
128     // On clique sur le bouton recherche
129     $this->byCssSelector(".ui-button")->click();
130     // On clique sur le résultat
131     $this->byLinkText("acceptation")->click();
132     // On clique sur le bouton "Modifier"
133     $this->byId('action-form-action-modifier')->click();
134 vpihour 2326 // On change la valeur par "etat + champ_errone"
135 softime 2308 $this->byId('regle_etat')->clear();
136     $this->byId('regle_etat')->value('etat + champ_errone');
137     // On valide la modification
138     $this->byCssSelector("input[value='Modifier']")->click();
139     // On vérifie le message de validation
140 softime 2437 $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());
141 softime 2308 // On change la règle état
142 nhaye 2441 $this->byId('regle_date_dernier_depot')->clear();
143     $this->byId('regle_date_dernier_depot')->value('NULL');
144     // On valide la modification
145     $this->byCssSelector("input[value='Modifier']")->click();
146     // On vérifie le message de validation
147 softime 2442 $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());
148 nhaye 2441 // On change la règle état
149 softime 2442 $this->byId('regle_date_dernier_depot')->clear();
150     // On change la règle état
151 softime 2308 $this->byId('regle_etat')->clear();
152     $this->byId('regle_etat')->value('etat');
153     // On valide la modification
154     $this->byCssSelector("input[value='Modifier']")->click();
155     // On vérifie le message de validation
156     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
157     // On clique sur le bouton 'Retour'
158     $this->byLinkText("Retour")->click();
159     // On vérifie les nouvelles données
160     $this->assertEquals("etat", $this->byId("regle_etat")->text());
161     // On se déconnecte
162     $this->logout();
163     }
164 softime 2453
165     /**
166     * Test le paramétrage entre les événements avant AR et les événements AR
167     */
168 vpihour 2456 public function test_03_evenement_retour() {
169 softime 2453
170 vpihour 2456 // On se connecte à l'application
171     $this->login("admin", "admin");
172     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
173     $this->verifyNoErrors();
174     // On clique sur le menu "Paramétrage Dossiers"
175     $this->byLinkText("Paramétrage Dossiers")->click();
176     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
177     $this->verifyNoErrors();
178     // On clique sur le sous-menu "Événement"
179     $this->byLinkText("Événement")->click();
180     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
181     $this->verifyNoErrors();
182     // On ajoute un événement "principal" (c-a-d qui n'est pas retour)
183     // On clique sur le bouton ajouter
184     $this->byId("action-tab-evenement-corner-ajouter")->click();
185     // On remplit les champs
186     $this->byId("libelle")->value("test_princ");
187     $this->byId("restriction")->value("date_evenement <= archive_date_dernier_depot + 1");
188     $this->select($this->byId("action"))->selectOptionByLabel("initier un delai");
189     $this->select($this->byId("delai"))->selectOptionByLabel("5 Mois");
190     $this->select($this->byId("accord_tacite"))->selectOptionByLabel("Oui");
191     $this->select($this->byId("delai_notification"))->selectOptionByLabel("1 Mois");
192     $this->select($this->byId("avis_decision"))->selectOptionByLabel("Non concerné");
193     // On valide le formulaire
194     $this->byXPath("//input[@value='Ajouter']")->click();
195     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
196     $this->verifyNoErrors();
197     // On vérifie le message de validation
198     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
199     // On clique sur le bouton retour
200     $this->byLinkText("Retour")->click();
201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202     $this->verifyNoErrors();
203 softime 2599 // On ajoute un événement "suivant tacite"
204     // On clique sur le bouton ajouter
205     $this->byId("action-tab-evenement-corner-ajouter")->click();
206     // On remplit les champs
207     $this->byId("libelle")->value("test_suivant_tacite");
208     // On valide le formulaire
209     $this->byXPath("//input[@value='Ajouter']")->click();
210     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211     $this->verifyNoErrors();
212     // On vérifie le message de validation
213     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
214     // On clique sur le bouton retour
215     $this->byLinkText("Retour")->click();
216     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217     $this->verifyNoErrors();
218 vpihour 2456 // On ajoute un événement "retour"
219     // On clique sur le bouton ajouter
220     $this->byId("action-tab-evenement-corner-ajouter")->click();
221     // On remplit les champs
222     $this->byId("libelle")->value("test_retour");
223     $this->byId("retour")->click();
224     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
225     $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("delai de notification envoye");
226     $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
227     $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
228     $this->select($this->byId("etat"))->selectOptionByLabel("delai majore");
229 softime 2599 $this->select($this->byId("evenement_suivant_tacite"))->selectOptionByLabel("test_suivant_tacite");
230 vpihour 2456 // On valide le formulaire
231     $this->byXPath("//input[@value='Ajouter']")->click();
232     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
233     $this->verifyNoErrors();
234     // On vérifie le message de validation
235     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
236     // On clique sur le bouton retour
237     $this->byLinkText("Retour")->click();
238     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
239     $this->verifyNoErrors();
240     // On recherche l'événement "test_princ"
241     $this->byCssSelector("input[name='recherche']")->value('test_princ');
242     // On clique sur le bouton recherche
243     $this->byCssSelector(".ui-button")->click();
244     // On clique sur le résultat
245     $this->byLinkText("test_princ")->click();
246     // On clique sur le bouton "Modifier"
247     $this->byId('action-form-evenement-modifier')->click();
248     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249     $this->verifyNoErrors();
250     // On sélectionne l'événement "retour" dans "evenement_retour_ar"
251     $this->select($this->byId("evenement_retour_ar"))->selectOptionByLabel("test_retour");
252     // On sélectionne l'événement "retour" dans "evenement_retour_signature"
253     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("test_retour");
254     // On valide le formulaire
255     $this->byXPath("//input[@value='Modifier']")->click();
256     // On vérifie le message d'erreur
257     $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());
258     // On ne sélectionne aucun "evenement_retour_signature"
259     $this->select($this->byId("evenement_retour_signature"))->selectOptionByValue("");
260     // On valide le formulaire
261     $this->byXPath("//input[@value='Modifier']")->click();
262     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
263     $this->verifyNoErrors();
264     // On vérifie le message de validation
265     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
266     // On clique sur le bouton retour
267     $this->byLinkText("Retour")->click();
268     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
269     $this->verifyNoErrors();
270     // On clique sur le bouton retour
271     $this->byLinkText("Retour")->click();
272     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
273     $this->verifyNoErrors();
274     // On recherche l'événement "test_retour"
275     $this->byCssSelector("input[name='recherche']")->clear();
276     $this->byCssSelector("input[name='recherche']")->value('test_retour');
277     // On clique sur le bouton recherche
278     $this->byCssSelector(".ui-button")->click();
279     // On clique sur le résultat
280     $this->byLinkText("test_retour")->click();
281     // On vérifie que les paramètres ont été copiés
282     $this->assertEquals("date_evenement <= archive_date_dernier_depot + 1", $this->byId("restriction")->text());
283     $this->assertEquals("5", $this->byId("delai")->text());
284     $this->assertEquals("Oui", $this->byId("accord_tacite")->text());
285     $this->assertEquals("1", $this->byId("delai_notification")->text());
286     $this->assertEquals("Non concerné", $this->byId("avis_decision")->text());
287     // On clique sur le bouton retour
288     $this->byLinkText("Retour")->click();
289     // On ajoute un événement "principal" (c-a-d qui n'est pas retour)
290     // On clique sur le bouton ajouter
291     $this->byId("action-tab-evenement-corner-ajouter")->click();
292     // On remplit le libellé
293     $this->byId("libelle")->value("test_princ_2");
294     // On sélectionne l'événement "retour" dans "evenement_retour_ar"
295     $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("test_retour");
296     // On valide le formulaire
297     $this->byXPath("//input[@value='Ajouter']")->click();
298     // On vérifie le message d'erreur
299     $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());
300     // On vérifie dans l'interface workflow
301     // On clique sur le sous-menu "Workflows"
302     $this->byLinkText("Workflows")->click();
303     // On sélectionne le type de DI
304     $this->select($this->byId("di_type"))->selectOptionByLabel("PCI - P - Initial");
305     // On vérifie que l'évenement retour apparaît
306     $this->assertContains("TEST_RETOUR [RETOUR]", $this->byId("tabs-1")->text());
307     // On se déconnecte
308     $this->logout();
309     }
310 softime 2690
311     /**
312     * Test la copie d'événement
313     * Cette fonction a besoin de la fonction test_03_evenement_retour
314     * pour fonctionner
315     */
316     public function test_04_evenement_copie() {
317    
318     // On se connecte à l'application
319     $this->login("admin", "admin");
320     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
321     $this->verifyNoErrors();
322     // On clique sur le menu "Paramétrage Dossiers"
323     $this->byLinkText("Paramétrage Dossiers")->click();
324     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
325     $this->verifyNoErrors();
326     // On clique sur le sous-menu "Événement"
327     $this->byLinkText("Événement")->click();
328     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
329     $this->verifyNoErrors();
330     // On recherche l'événement "test_princ"
331     $this->byCssSelector("input[name='recherche']")->value('test_princ');
332     // On clique sur le bouton recherche
333     $this->byCssSelector(".ui-button")->click();
334     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
335     $this->verifyNoErrors();
336     // On clique sur le résultat
337     $this->byLinkText("test_princ")->click();
338     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
339     $this->verifyNoErrors();
340     // On ajout un enregistrement à bible pour tester la copie après
341     // On clique sur l'onglet "bible"
342     $this->byId("bible")->click();
343     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
344     $this->verifyNoErrors();
345     // On clique sur le bouton ajouter
346     $this->byId("action-soustab-bible-corner-ajouter")->click();
347     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
348     $this->verifyNoErrors();
349     // On remplis les champs obligatoire
350     $this->byId("contenu")->value("test bible assoc evenement");
351     $this->byXPath('//*[@name="libelle"]')->value("test bible assoc evenement");
352     // On clique sur le bouton "Ajouter"
353     $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
354     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
355     $this->verifyNoErrors();
356     // On vérifie le message de validation
357     $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
358     // On clique sur le bouton retour
359     $this->byLinkText("Retour")->click();
360     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
361     $this->verifyNoErrors();
362     // On clique sur l'onglet "Événement"
363     $this->byId("main")->click();
364     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
365     $this->verifyNoErrors();
366     // On récupère l'identifiant de l'événement
367     $evenement = $this->byId('evenement')->text();
368     // On clique sur le bouton retour
369     $this->byLinkText("Retour")->click();
370     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
371     $this->verifyNoErrors();
372     // On clique sur l'action "copier"
373     $this->byId('action-tab-evenement-left-copier-'.$evenement)->click();
374     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
375     $this->verifyNoErrors();
376     // On sélectionne seulement l'objet associé "bible"
377     $this->byId("bible")->click();
378     // On clique sur le bouton "Copier"
379     $this->byId('button-Copier')->click();
380     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
381     $this->verifyNoErrors();
382     // On vérifie le message de validation
383     $this->assertContains("La copie de l'enregistrement événement avec l'identifiant ".$evenement." s'est effectuée avec succès", $this->byCssSelector(".message")->text());
384     // On clique sur le bouton retour
385     $this->byLinkText("Retour")->click();
386     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
387     $this->verifyNoErrors();
388     // On vérifie que le champ de recherche n'est pas vide
389     $this->assertTrue($this->byCssSelector("input[name='recherche']")->value() != "");
390    
391     }
392 softime 1992 }
393    
394     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26