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

Contents of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3998 - (show annotations)
Tue Apr 19 08:09:24 2016 UTC (8 years, 9 months ago) by jymadier
File size: 31464 byte(s)
Correction des tests

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testConsultations.php 6089 2016-03-02 16:14:18Z nhaye $
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Consultations extends Base2TestCase {
16
17 /**
18 * Fonction lancée en debut de chaque test
19 */
20 public function setUp() {
21 parent::setUp();
22 echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
23 }
24
25 public function onNotSuccessfulTest(Exception $e){
26 echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
27 parent::onNotSuccessfulTest($e);
28 }
29
30 public function test_01_ajout_consultation_simple_par_l_instructeur() {
31
32 // On se connecte en tant que "instr"
33 $this->login("instr", "instr");
34 // On clique sur le lien "Mes encours" dans le menu
35 $this->byLinkText("Mes Encours")->click();
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 lien "AZ0130551200001P0" dans le tableau
39 $this->byLinkText("AZ 013055 12 00001P0")->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 l'onglet "Consultation(s)"
43 $this->byId("consultation")->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 lien "Ajouter" dans le tableau
47 $this->byId("action-soustab-consultation-corner-ajouter")->click();
48 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
49 $this->verifyNoErrors();
50 // On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi"
51 // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
52 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
53 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
54 $this->verifyNoErrors();
55 // On vérifie que le message d'erreur est présent
56 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
57 // On sélectionne le service "59.01 Direction de l'Eau et de l'Assainissement"
58 $this->select($this->byId("service"))->selectOptionByValue("1");
59 $this->byXPath("//input[@value='Ajouter']")->click();sleep(5);
60 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
61 $this->verifyNoErrors();sleep(1);
62 // On vérifie que le message de notification de mail est présent
63 $this->assertRegExp("/.*Envoi d'un mail de notification au service.*/", $this->byCssSelector("#sousform-consultation .message .text")->text());
64 // On vérifie le message de validation
65 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
66 // On clique sur le bouton retour
67 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
68 // On vérifie que nous avons bien 1 consultation affichée
69 $this->assertRegExp('/.*1 \- 2 enregistrement\(s\) sur 2*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
70 // On se déconnecte
71 $this->logout();
72 }
73
74 public function test_02_ajout_consultation_multiple_par_l_instructeur() {
75
76 // On se connecte en tant que "instr"
77 $this->login("instr", "instr");
78 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
79 $this->verifyNoErrors();
80 // On clique sur le lien "Mes encours" dans le menu
81 $this->byLinkText("Mes Encours")->click();
82 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
83 $this->verifyNoErrors();
84 // On clique sur le lien "AZ0130551200001P0" dans le tableau
85 $this->byLinkText("AZ 013055 12 00001P0")->click();
86 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
87 $this->verifyNoErrors();
88 // On clique sur l'onglet "Consultation(s)"
89 $this->byId("consultation")->click();
90 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
91 $this->verifyNoErrors();
92 // On clique sur le lien "Ajouter multiples" dans le tableau
93 $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span")->click();
94 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
95 $this->verifyNoErrors();
96 // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
97 $this->byId("button_val")->click();
98 // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
99 $this->assertEquals("Veuillez choisir au moins un service et une date d envoi", $this->alertText());
100 $this->acceptAlert();
101 // On sélectionne quatre services
102 $this->byId("t10_572_0_")->click();
103 $this->byId("t10_575_0_")->click();
104 $this->byId("t2_13_0_")->click();
105 $this->byId("t10_542_0_")->click();
106 // On les ajoute à la sélection
107 $this->byId("add-ser-them")->click();
108 // On sélectionne un des services sélectionnés
109 $this->byCssSelector("div[name=\"t10_542_0_\"]")->click();
110 // On l'enlève de la sélection
111 $this->byId("del-ser-them")->click();
112 // On coche la case pour la consultation papier pour un des services
113 $this->byCssSelector("div.cell2 > div > input.t10_575_0_")->click();
114 // On clique sur le bouton "Ajouter" du formulaire
115 $this->byId("button_val")->click();
116 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
117 $this->verifyNoErrors();
118 // On vérifie que le message de validation est présent avec le bon nombre de consultations
119 $this->assertRegExp('/.*3 service\(s\) sélectionné\(s\) dont 1 consultation\(s\) papier.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
120 // On vérifie que nous avons bien 4 consultations affichées
121 $this->assertRegExp('/.*1 - 5 enregistrement\(s\) sur 5*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
122 // On se déconnecte
123 $this->logout();
124 }
125
126 public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
127
128 // On se connecte en tant que "consu"
129 // !!! Attention on n'utilise pas la méthode login standard car
130 // l'utilisateur est redirigé automatiquement vers un autre écran
131 // sans voir le message de connexion !!!
132 // On se connecte
133 $this->connect("consu", "consu");
134 // Allonge le temps d'attente lors de la recherche d'élément
135 $this->timeouts()->implicitWait(10000);
136 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137 $this->verifynoerrors();
138 // On temporise pour laisser le temps au javascript de redirection
139 // de faire son travail
140 sleep(1);
141 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
142 $this->verifynoerrors();
143 // On clique sur le lien "AZ0130551200001P0" dans le tableau
144 $this->byLinkText("59.13")->click();
145 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
146 $this->verifyNoErrors();
147 // On clique sur le lien "Saisir un avis" dans le portlet
148 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
149 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
150 $this->verifyNoErrors();
151 // On vérifie que le sous-titre de l'élément affiché est correct
152 $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
153 // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis
154 $this->byXPath("//input[@value='Modifier']")->click();
155 sleep(1);
156 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
157 $this->verifyNoErrors();
158 // Retour à la liste des demandes
159 $this->byCssSelector("#sformulaire a.retour")->click();
160 // Accès au dossier en visualisation
161 $this->byLinkText("AZ 013055 12 00001P0")->click();
162 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163 $this->verifyNoErrors();
164 // Accès à l'onglet des consultations
165 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
166 $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
167 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
168 $this->verifyNoErrors();
169 // Saisie de valeurs
170 $this->select($this->byCssSelector("select#avis_consultation.champFormulaire"))->selectOptionByLabel("Defavorable");
171 $this->byCssSelector("textarea#motivation.champFormulaire")->value("Pas motivé");
172 // Upload de fichier
173 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
174 // Validation sans saisie de fichier
175 $this->byName("submit")->click();
176 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
177 $this->verifyNoErrors();
178 //
179 $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
180 // Saisie de fichier
181 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
182 $this->byName("submit")->click();
183 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
184 $this->verifyNoErrors();
185 // Validation de la modification de la demande d'avis
186 $this->byXPath("//input[@value='Modifier']")->click();
187 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
188 $this->verifyNoErrors();
189 // On vérifie que le message de validation est présent
190 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sformulaire .message .text")->text());
191 // On clique sur le lien retour
192 $this->byCssSelector("#sformulaire a.retour")->click();
193 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
194 $this->verifyNoErrors();
195 // Vérification que la demande d'avis n'est plus presente
196 try {
197 $el = $this->byLinkText("59.13");
198 $this->fail('Cet élément ne devrait pas exister.');
199 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
200 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
201 }
202 // On se déconnecte
203 $this->logout();
204 }
205
206
207 public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {
208
209 // On se connecte en tant que "suivi"
210 $this->login("suivi", "suivi");
211 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
212 $this->verifyNoErrors();
213 //
214 $this->byLinkText("Retours De Consultation")->click();
215 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
216 $this->verifyNoErrors();
217 // On vérifie que le titre de la page est correct
218 $this->assertRegExp('/.*Retours De Consultation.*/', $this->byCssSelector("#title h2")->text());
219 // On clique sur le bouton "Valider" sans saisir de code barres
220 $this->byXPath("//input[@value='Valider']")->click();
221 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222 $this->verifyNoErrors();
223 //
224 $this->assertRegExp('/.*Veuiller saisir un code barres de consultation.*/', $this->byCssSelector(".message .text")->text());
225 //
226 $this->byId("code_barres")->value("aze");
227 $this->byXPath("//input[@value='Valider']")->click();
228 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
229 $this->verifyNoErrors();
230 $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());
231 // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
232 $this->byId("code_barres")->value("120000000006");
233 $this->byXPath("//input[@value='Valider']")->click();
234 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
235 $this->verifyNoErrors();
236 // On vérifie que le titre de la page est correct
237 $this->assertEquals("6", $this->byId("consultation")->attribute('value'));
238 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->attribute('value'));
239 $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
240 $this->byId("motivation")->value("blablabla");
241 // Upload de fichier
242 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
243 // Validation sans saisie de fichier
244 $this->byName("submit")->click();
245 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246 $this->verifyNoErrors();
247 $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
248 // Saisie de fichier
249 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
250 $this->byName("submit")->click();
251 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
252 $this->verifyNoErrors();
253 // Visualisation du fichier
254 $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
255 $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->attribute('value'));
256 //On ferme l'overlay
257 $this->byCssSelector(".ui-dialog .ui-icon-closethick")->click();
258 //
259 $this->byXPath("//input[@value='Modifier']")->click();
260 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
261 $this->verifyNoErrors();
262 // On vérifie que le message de validation est présent
263 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
264 // On clique sur le lien retour
265 $this->byLinkText("Retour")->click();
266 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
267 $this->verifyNoErrors();
268 // On vérifie que le titre de la page est correct
269 $this->assertStringEndsWith('app/suivi_retours_de_consultation.php', $this->url());
270 // On se déconnecte
271 $this->logout();
272 }
273
274 public function test_05_gestion_de_la_consultation_par_l_instructeur() {
275
276 // On se connecte en tant que "instr"
277 $this->login("instr", "instr");
278 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
279 $this->verifyNoErrors();
280 // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
281 $this->assertEquals("5",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
282 // On clique sur le lien "Mes retours" dans le menu
283 $this->byLinkText("Mes Retours")->click();
284 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285 $this->verifyNoErrors();
286 // On vérifie que le titre de la page est correct
287 $this->assertEquals("Consultation_mes_retours", $this->byXPath("//a[@href='#tabs-1']")->text());
288 // On vérifie que les deux consultations sont présentes dans le tableau
289 $this->assertEquals("1 - 5 enregistrement(s) sur 5", $this->byClassName("pagination-text")->text());
290 // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
291 $this->byLinkText("59.01 Direction de l'Eau et de l'Assainissement")->click();
292 // On temporise pour laisser un peu de temps à l'onglet de se charger
293 // (accès direct)
294 sleep(2);
295 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
296 $this->verifyNoErrors();
297 // On vérifie que le formulaire de la consultation s'est bien ouvert
298 $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());
299 // On clique sur le lien "Marquer comme lu" dans le portlet
300 $this->byId("action-sousform-consultation-marquer_comme_lu")->click();
301 sleep(1);
302 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
303 $this->verifyNoErrors();
304 // On vérifie que le message de validation est présent avec le bon nombre de consultations
305 $this->assertRegExp('/.*Mise à jour effectuée avec succès*/', $this->byCssSelector(".message .text")->text());
306 // On clique sur le lien retour
307 $this->byCssSelector("#sousform-consultation #sformulaire div.formControls a.retour")->click();
308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
309 $this->verifyNoErrors();
310 // On vérifie que le nombre de consultations est le bon
311 $this->assertEquals("1 - 3 enregistrement(s) sur 3", $this->byClassName("pagination-text")->text());
312 // On clique sur le lien "Tableau de bord" dans le menu
313 $this->byLinkText("Tableau de bord")->click();
314 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
315 $this->verifyNoErrors();
316 // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
317 $this->assertEquals("4", $this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
318 // On se déconnecte
319 $this->logout();
320 }
321
322 /*
323 * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
324 * de consultation
325 */
326 public function test_06_envoi_de_message_erp(){
327
328 // On se connecte en tant que "admin"
329 $this->login("admin", "admin");
330 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
331 $this->verifyNoErrors();
332
333 //{{{ On ajoute trois services
334 //On clique sur Paramétrage
335 $this->byLinkText("Paramétrage")->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 Service
339 $this->byLinkText("Service")->click();
340 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
341 $this->verifyNoErrors();
342 //Initialisation de la variable
343 $services = array();
344 //On ajoute trois services
345 for ($i = 1 ; $i < 4 ; $i++){
346 $services[] = $this->addService("test_erp_".$i, "test_service_erp_".$i);
347 }
348 //}}}
349
350 //{{{ On change trois variables erp_service_accessibilite,
351 // erp_service_securite et erp_service_conformite
352 //Retour sur le tableau de bord
353 $this->byLinkText("Tableau de bord")->click();
354 //On clique sur Administration
355 $this->byLinkText("Administration")->click();
356 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
357 $this->verifyNoErrors();
358 //On clique sur Paramètre
359 $this->byLinkText("Paramètre")->click();
360 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
361 $this->verifyNoErrors();
362 $erp_service_accessibilite = $this->changeParametreServiceErp("erp_service_accessibilite", $services[0]);
363 $erp_service_securite = $this->changeParametreServiceErp("erp_service_securite", $services[1]);
364 $erp_service_conformite = $this->changeParametreServiceErp("erp_service_conformite", $services[2]);
365
366 ///}}}
367
368 // On se déconnecte
369 $this->deconnect();
370
371 // On se connecte en tant que "instr"
372 $this->login("guichet", "guichet");
373 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
374 $this->verifyNoErrors();
375 //{{{On ajoute un dossier d'instruction
376 //On clique sur Nouveau Dossier
377 $this->byLinkText("Nouveau Dossier")->click();
378 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
379 $this->verifyNoErrors();
380 //On choisit le type détaillé de dossier d'autorisation
381 $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
382 //On choisit le type de demande - Dépôt initial
383 $this->select($this->byName("demande_type"))->selectOptionByValue("1");
384 //On clique sur "Saisir le pétitionnaire principal"
385 $this->byId("add_petitionnaire_principal")->click();
386 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
387 $this->verifyNoErrors();
388 // On remplit le champ
389 $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
390 //On saisie le nom du pétitionnaire principal
391 $this->byId("particulier_nom")->value("test");
392 // On clique sur ajouter
393 $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
394 // On vérifie qu'il n'y ait pas d'erreur
395 $this->verifynoerrors();
396 //On vérifie que le pétitionnaire s'est bien ajouté
397 // On vérifie le message
398 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
399 // On clique sur le bouton retour
400 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
401 // On vérifie que le text est présent
402 $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
403 // On clique sur ajouter
404 $this->byXPath("//input[@value='Ajouter']")->click();
405 // On vérifie qu'il n'y ait pas d'erreur
406 $this->verifynoerrors();
407 // On vérifie le message
408 $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
409 //On récupère le numéro de dossier d'instruction créé
410 preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
411 //On récupère le numéro de dossier
412 $dossier = $dossier[0];
413
414 //}}}
415 // On se déconnecte
416 $this->deconnect();
417
418 // On se connecte en tant que "instr"
419 $this->login("instr", "instr");
420 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
421 $this->verifyNoErrors();
422 //{{{ On ajoute trois consultation
423 //On clique sur Nouveau Dossier
424 $this->byLinkText("Recherche")->click();
425 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
426 $this->verifyNoErrors();
427 //On cherche le dossier d'instruction
428 $this->byId("dossier")->value(str_replace(" ", "", $dossier));
429 // On valide la recherche
430 $this->byId("advanced-form")->submit();
431 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
432 $this->verifyNoErrors();
433 //On clique sur le dossier d'instruction
434 $this->byLinkText($dossier)->click();
435 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
436 $this->verifyNoErrors();
437 //On clique sur Modifier
438 $this->byClassName("edit-16")->click();
439 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
440 $this->verifyNoErrors();
441 //On clique sur erp
442 $this->byId("erp")->click();
443 //On valide le formulaire
444 $this->byName("f1")->submit();
445 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
446 $this->verifyNoErrors();
447 // On vérifie le message
448 $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
449 //On clique sur l'onglet Consulation
450 $this->byId("consultation")->click();
451 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
452 $this->verifyNoErrors();
453 //On ajoute trois consultations
454 foreach ($services as $value) {
455 $this->addConsultation($value);
456 }
457
458 //}}}
459
460 // On se déconnecte
461 $this->deconnect();
462
463 // On se connecte en tant que "admin"
464 $this->login("admin", "admin");
465 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
466 $this->verifyNoErrors();
467 //{{{ On remet les valeurs par défaut des paramètres
468 //On clique sur Administration
469 $this->byLinkText("Administration")->click();
470 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
471 $this->verifyNoErrors();
472 //On clique sur Paramètre
473 $this->byLinkText("Paramètre")->click();
474 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
475 $this->verifyNoErrors();
476 $this->changeParametreServiceErp("erp_service_accessibilite", $erp_service_accessibilite);
477 $this->changeParametreServiceErp("erp_service_securite", $erp_service_securite);
478 $this->changeParametreServiceErp("erp_service_conformite", $erp_service_conformite);
479 //}}}
480
481 //On se déconnecte
482 $this->logout();
483 }
484 /*
485 * Ajoute un service
486 * @param string $abrege le nom abrege du service
487 * @param string $libelle le libelle du service
488 *
489 * @return int l'identifiant du service crée
490 */
491 private function addService($abrege, $libelle, $collectivite="agglo"){
492
493 //On clique sur le + du tableau
494 $this->byClassName("add-16")->click();
495 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496 $this->verifyNoErrors();
497 //On remplit les champs obligatoires
498 $this->byId("abrege")->value($abrege);
499 $this->byId("libelle")->value($libelle);
500 //Consultation - Demande d'avis
501 $this->select($this->byId("edition"))->selectOptionByValue("9");
502 // om_collectivite
503 $this->select($this->byId("om_collectivite"))->selectOptionByLabel($collectivite);
504 //On valide le formulaire
505 $this->byName('f1')->submit();
506 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
507 $this->verifyNoErrors();
508 // On vérifie que le message de validation est présent
509 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
510 //On clique sur le bouton retour
511 $this->byLinkText("Retour")->click();
512 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
513 $this->verifyNoErrors();
514 //On saisie le nom du service dans la recherche simple
515 $this->byClassName("champFormulaire")->value($libelle);
516 //On valide la recherche
517 $this->byName('s1')->submit();
518 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
519 $this->verifyNoErrors();
520 //On clique sur le service
521 $this->byLinkText($libelle)->click();
522 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
523 $this->verifyNoErrors();
524 //On récupère l'identifiant
525 $serviceId = trim($this->byId("service")->text());
526 //On clique sur le bouton Retour
527 $this->byLinkText("Retour")->click();
528 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
529 $this->verifyNoErrors();
530 //On retourne l'identifiant
531 return $serviceId;
532 }
533
534 /*
535 * Modifie la valeur du paramètre du numéro de service pour le message ERP
536 * @param string $parametre le libelle du paramètre
537 * @param string $valeur la valeur à renseigner
538 *
539 * @return string la valeur précédente du paramètre
540 */
541 private function changeParametreServiceErp($parametre, $valeur){
542
543 //On vide le champ
544 $this->byClassName("champFormulaire")->clear();
545 //On saisie le nom de la variable dans la recherche simple
546 $this->byClassName("champFormulaire")->value($parametre);
547 //On valide la recherche
548 $this->byName('s1')->submit();
549 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
550 $this->verifyNoErrors();
551 //On clique sur le service
552 $this->byLinkText($parametre)->click();
553 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
554 $this->verifyNoErrors();
555 //On clique sur modifier dans le portail d'action
556 $this->byClassName("edit-16")->click();
557 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
558 $this->verifyNoErrors();
559 //On récupère la valeur actuelle du paramètre
560 $parametre = trim($this->byId("valeur")->attribute('value'));
561 //On vide le champ
562 $this->byId("valeur")->clear();
563 //On change la valeur du paramètre
564 $this->byId("valeur")->value($valeur);
565 //On valide le formulaire
566 $this->byName('f1')->submit();
567 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
568 $this->verifyNoErrors();
569 // On vérifie que le message de validation est présent
570 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
571 //On clique sur le bouton retour
572 $this->byLinkText("Retour")->click();
573 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
574 $this->verifyNoErrors();
575 //On clique sur le bouton retour
576 $this->byLinkText("Retour")->click();
577 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
578 $this->verifyNoErrors();
579 //On retourne la valeur
580 return $parametre;
581 }
582
583 /*
584 * Ajoute une consultation
585 * @param int $service l'identifiant du service
586 */
587 private function addConsultation($service){
588
589 //On clique sur le + du tableau
590 $this->byClassName("add-16")->click();
591 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
592 $this->verifyNoErrors();
593 //On choisit le service
594 $this->select($this->byId("service"))->selectOptionByValue($service);
595 //On valide le formulaire
596 $this->byName("f2")->submit();
597 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
598 $this->verifyNoErrors();
599 // On vérifie que le message de validation est présent
600 $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
601 // On vérifie que le message d'envoi est présent
602 $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-consultation .message .text")->text());
603 //On clique sur le bouton retour
604 $this->byLinkText("Retour")->click();
605 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
606 $this->verifyNoErrors();
607 }
608 }
609
610 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26