/[openfoncier]/branches/3.14.x/tests/testConsultations.php
ViewVC logotype

Contents of /branches/3.14.x/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3151 - (show annotations)
Mon Sep 15 14:24:59 2014 UTC (10 years, 4 months ago) by vpihour
Original Path: trunk/tests/testConsultations.php
File size: 31844 byte(s)
Correction des tests

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26