/[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 4004 - (show annotations)
Tue Apr 19 14:05:25 2016 UTC (8 years, 9 months ago) by jymadier
File size: 36887 byte(s)
Correction des tests sur les consultations

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26