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 |
|
|
?> |