/[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 3621 - (show annotations)
Fri Aug 28 16:25:23 2015 UTC (9 years, 5 months ago) by vpihour
File size: 37237 byte(s)
* Correction - Les surfaces affichées dans les menu demandes en cours, demandes passées et exports étaient toujours vides.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26