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

Annotation of /trunk/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2453 - (hide annotations)
Fri Nov 8 19:13:11 2013 UTC (11 years, 2 months ago) by softime
File size: 17396 byte(s)
Gestion du paramètrage des événements avant AR et des événements AR :
FAIT :
      → ajout du champ retour de type booléen
      → filtre sur les select retour ar et retour signature pour ne récupérer que les événement où retour = true
      → filtre sur suivant tacite où retour = false
      → fonction javascript pour cacher le fieldset "événements liés" et mettre en static les champs :
         * délai
         * décision tacite (actuellement libellé "accord tacite")
         * avis
         * restriction
         * délai de notification
      → fonction js qui fait l'inverse
      → Ajout de vérification dans verifier de la classe evenement
         ⋅ que l'événement choisi en retour ar ne soit pas déjà choisi en retour ar ou retour signature dans un autre evn
         ⋅ idem pour evn choisi retour signature
         ⋅ qu'un même événement ne soit pas choisi dans retour ar et retour signature en même temps sur le même formulaire
      → Création d'un widget checkboxhiddenstatic pour le mode modifier où le champ retour ne doit pas être modifié
      → Modification de app/workflow.php pour afficher [RETOUR] à côtés des événements "retour"

   À FAIRE :
      → Résoudre problème dans la fonction copyParametersToEvenementLink() de la classe événement : Dans l'événement retour qui est modifié, les champs etats_depuis_lequel_l_evenement_est_disponible et dossier_instruction_type sont supprimé. La solution rapide et radicale serait d'utiliser un autoExecute à la place du ->modifier().

Test fonctionnel OK

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     // On vérifie que le filtre c'est appliqué sur le champ
45     // "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     // public function test_03_evenement_retour() {
169    
170     // // 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 ajout 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     // // On ajoute un événement "retour"
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_retour");
208     // $this->byId("retour")->click();
209     // $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->clearSelectedOptions();;
210     // $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByLabel("delai de notification envoye");
211     // $this->select($this->byName("dossier_instruction_type[]"))->clearSelectedOptions();
212     // $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByLabel("PCI - P - Initial");
213     // $this->select($this->byId("etat"))->selectOptionByLabel("delai majore");
214     // // On valide le formulaire
215     // $this->byXPath("//input[@value='Ajouter']")->click();
216     // // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217     // $this->verifyNoErrors();
218     // // On vérifie le message de validation
219     // $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
220     // // On clique sur le bouton retour
221     // $this->byLinkText("Retour")->click();
222     // // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
223     // $this->verifyNoErrors();
224     // // On recherche l'événement "test_princ"
225     // $this->byCssSelector("input[name='recherche']")->value('test_princ');
226     // // On clique sur le bouton recherche
227     // $this->byCssSelector(".ui-button")->click();
228     // // On clique sur le résultat
229     // $this->byLinkText("test_princ")->click();
230     // // On clique sur le bouton "Modifier"
231     // $this->byId('action-form-evenement-modifier')->click();
232     // // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
233     // $this->verifyNoErrors();
234     // // On sélectionne l'événement "retour" dans "evenement_retour_ar"
235     // $this->select($this->byId("evenement_retour_ar"))->selectOptionByLabel("test_retour");
236     // // On sélectionne l'événement "retour" dans "evenement_retour_signature"
237     // $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("test_retour");
238     // // On valide le formulaire
239     // $this->byXPath("//input[@value='Modifier']")->click();
240     // // On vérifie le message d'erreur
241     // $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());
242     // // On sélection aucun "evenement_retour_signature"
243     // $this->select($this->byId("evenement_retour_signature"))->selectOptionByValue("");
244     // // On valide le formulaire
245     // $this->byXPath("//input[@value='Modifier']")->click();
246     // // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
247     // $this->verifyNoErrors();
248     // // On vérifie le message de validation
249     // $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message")->text());
250     // // On clique sur le bouton retour
251     // $this->byLinkText("Retour")->click();
252     // // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
253     // $this->verifyNoErrors();
254     // // On clique sur le bouton retour
255     // $this->byLinkText("Retour")->click();
256     // // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
257     // $this->verifyNoErrors();
258     // // On recherche l'événement "test_retour"
259     // $this->byCssSelector("input[name='recherche']")->clear();
260     // $this->byCssSelector("input[name='recherche']")->value('test_retour');
261     // // On clique sur le bouton recherche
262     // $this->byCssSelector(".ui-button")->click();
263     // // On clique sur le résultat
264     // $this->byLinkText("test_retour")->click();
265     // // On vérifie que les paramètres ont été copiés
266     // $this->assertEquals("date_evenement <= archive_date_dernier_depot + 1", $this->byId("restriction")->text());
267     // $this->assertEquals("5", $this->byId("delai")->text());
268     // $this->assertEquals("Oui", $this->byId("accord_tacite")->text());
269     // $this->assertEquals("1", $this->byId("delai_notification")->text());
270     // $this->assertEquals("Non concerné", $this->byId("avis_decision")->text());
271     // // On clique sur le bouton retour
272     // $this->byLinkText("Retour")->click();
273     // // On ajout un événement "principal" (c-a-d qui n'est pas retour)
274     // // On clique sur le bouton ajouter
275     // $this->byId("action-tab-evenement-corner-ajouter")->click();
276     // // On remplit le libellé
277     // $this->byId("libelle")->value("test_princ_2");
278     // // On sélectionne l'événement "retour" dans "evenement_retour_ar"
279     // $this->select($this->byId("evenement_retour_signature"))->selectOptionByLabel("test_retour");
280     // // On valide le formulaire
281     // $this->byXPath("//input[@value='Ajouter']")->click();
282     // // On vérifie le message d'erreur
283     // $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());
284     // // On vérifie dans l'interface workflow
285     // // On clique sur le sous-menu "Workflows"
286     // $this->byLinkText("Workflows")->click();
287     // // On sélectionne le type de DI
288     // $this->select($this->byId("di_type"))->selectOptionByLabel("PCI - P - Initial");
289     // // On vérifie que l'évenement retour apparaît
290     // $this->assertContains("TEST_RETOUR [RETOUR]", $this->byId("tabs-1")->text());
291     // // On se déconnecte
292     // $this->logout();
293     // }
294 softime 1992 }
295    
296     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26