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

Annotation of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3395 - (hide annotations)
Wed Apr 8 10:30:59 2015 UTC (9 years, 9 months ago) by nhaye
File size: 31799 byte(s)
Passage de la classe consultation avec les nouvelles actions

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26