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