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

Annotation of /trunk/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2599 - (hide annotations)
Mon Dec 9 15:42:01 2013 UTC (11 years, 1 month ago) by softime
File size: 17966 byte(s)
Évolution du formulaire d'événement : Les événements "retour" peuvent avoir un événement suivant tacite.
+ Modification des tests
+ MàJ de l'history

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 1992 }
311    
312     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26