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

Annotation of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2112 - (hide annotations)
Wed Jul 24 17:08:32 2013 UTC (11 years, 6 months ago) by softime
File size: 17960 byte(s)
Ajout du champ dossier_libelle pour la table dossier
Ajout du champ dossier_autorisation_libelle pour la table dossier_autorisation
Génération OM
Modification des formulaires, messages, tableaux et fil d'Ariane pour affiché le numéro de dossier formaté
Traduction des nouveaux champs
Correction des tests utilisant les numéro de dossier
MàJ HISTORY.txt

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     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 vpihour 2077 $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a/span")->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     try {
39 vpihour 2077 $this->assertEquals(date("d/m/Y"), $this->byId("date_envoi")->value());
40 fmichon 1735 } catch (PHPUnit_Framework_AssertionFailedError $e) {
41     array_push($this->verificationErrors, $e->toString());
42     }
43     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
44 vpihour 2077 $this->byXPath("//input[@value='Ajouter']")->click();
45 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
46     $this->verifyNoErrors();
47     // On vérifie que le message d'erreur est présent
48 vpihour 2077 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
49 fmichon 1736 // On sélectionne le service "59.01 Direction de l'Eau et de l'Assainissement"
50 vpihour 2077 $this->select($this->byId("service"))->selectOptionByValue("1");
51 fmichon 1735 // On saisit une date d'envoi vide
52 vpihour 2077 $this->byId("date_envoi")->clear();
53 fmichon 1735 // On valide l'alerte javascript qui nous indique que la date saisie est invalide
54 vpihour 2077 $this->assertEquals("La date saisie n'est pas valide", $this->alertText());
55     $this->acceptAlert();
56 fmichon 1735 // On clique sur le bouton "Ajouter" du formulaire
57 vpihour 2077 $this->byXPath("//input[@value='Ajouter']")->click();
58 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
59     $this->verifyNoErrors();
60     // On vérifie que le message d'erreur est présent
61 vpihour 2077 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
62 fmichon 1735 // On saisit une date d'envoi vide
63 vpihour 2077 $this->byId("date_envoi")->value(date("d/m/Y"));
64 fmichon 1735 // On clique sur le bouton "Ajouter" du formulaire
65 vpihour 2077 $this->byXPath("//input[@value='Ajouter']")->click();
66 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
67 softime 2081 $this->verifyNoErrors();sleep(1);
68     // On vérifie que le message de notification de mail est présent
69     $this->assertRegExp("/.*Envoi d'un mail de notification au service.*/", $this->byCssSelector("#sousform-consultation .message .text")->text());
70     // On vérifie le message de validation
71 vpihour 2077 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
72 fmichon 1735 // On clique sur le bouton retour
73 vpihour 2077 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
74 fmichon 1735 // On vérifie que nous avons bien 1 consultation affichée
75 vpihour 2077 $this->assertRegExp('/.*1 \- 1 enregistrement\(s\) sur 1*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
76 fmichon 1735 // On se déconnecte
77     $this->logout();
78     }
79 fmichon 1753
80 fmichon 1735 public function test_02_ajout_consultation_multiple_par_l_instructeur() {
81 vpihour 2077
82 fmichon 1735 // On se connecte en tant que "instr"
83     $this->login("instr", "instr");
84 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85     $this->verifyNoErrors();
86 fmichon 1735 // On clique sur le lien "Mes encours" dans le menu
87 vpihour 2077 $this->byLinkText("Mes Encours")->click();
88 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
89     $this->verifyNoErrors();
90     // On clique sur le lien "AZ0130551200001P0" dans le tableau
91 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
92 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
93     $this->verifyNoErrors();
94     // On clique sur l'onglet "Consultation(s)"
95 vpihour 2077 $this->byId("consultation")->click();
96 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
97     $this->verifyNoErrors();
98     // On clique sur le lien "Ajouter multiples" dans le tableau
99 vpihour 2077 $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span")->click();
100 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
101     $this->verifyNoErrors();
102     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
103 vpihour 2077 $this->byId("button_val")->click();
104 fmichon 1811 // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
105 vpihour 2077 $this->assertEquals("Veuillez choisir au moins un service et une date d envoi", $this->alertText());
106     $this->acceptAlert();
107 fmichon 1735 // On sélectionne quatre services
108 vpihour 2077 $this->byId("t10_572_0_")->click();
109     $this->byId("t10_575_0_")->click();
110     $this->byId("t10_584_0_")->click();
111     $this->byId("t10_542_0_")->click();
112 fmichon 1735 // On les ajoute à la sélection
113 vpihour 2077 $this->byId("add-ser-them")->click();
114 fmichon 1735 // On sélectionne un des services sélectionnés
115 vpihour 2077 $this->byCssSelector("div[name=\"t10_542_0_\"]")->click();
116 fmichon 1735 // On l'enlève de la sélection
117 vpihour 2077 $this->byId("del-ser-them")->click();
118 fmichon 1735 // On coche la case pour la consultation papier pour un des services
119 vpihour 2077 $this->byCssSelector("div.cell2 > div > input.t10_575_0_")->click();
120 fmichon 1735 // On clique sur le bouton "Ajouter" du formulaire
121 vpihour 2077 $this->byId("button_val")->click();
122 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123     $this->verifyNoErrors();
124     // On vérifie que le message de validation est présent avec le bon nombre de consultations
125 vpihour 2077 $this->assertRegExp('/.*3 service\(s\) sélectionné\(s\) dont 1 consultation\(s\) papier.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
126 fmichon 1735 // On vérifie que nous avons bien 4 consultations affichées
127 vpihour 2077 $this->assertRegExp('/.*1 - 4 enregistrement\(s\) sur 4*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
128 fmichon 1735 // On se déconnecte
129     $this->logout();
130     }
131 fmichon 1753
132 fmichon 1736 public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
133 vpihour 2077
134 fmichon 1736 // On se connecte en tant que "instr"
135     $this->login("consu", "consu");
136 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137     $this->verifyNoErrors();
138 fmichon 1736 // On clique sur le lien "Demandes en cours" dans le menu
139 vpihour 2077 $this->byLinkText("Demandes En Cours")->click();
140 fmichon 1736 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
141     $this->verifyNoErrors();
142     // On clique sur le lien "AZ0130551200001P0" dans le tableau
143 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
144 fmichon 1736 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145     $this->verifyNoErrors();
146 fmichon 1811 // On clique sur le lien "Saisir un avis" dans le portlet
147 vpihour 2077 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->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 vérifie que le sous-titre de l'élément affiché est correct
151 vpihour 2077 $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());
152 fmichon 1811 // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis
153 vpihour 2077 $this->byXPath("//input[@value='Modifier']")->click();
154     sleep(1);
155 fmichon 1736 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
156     $this->verifyNoErrors();
157     // Retour à la liste des demandes
158 vpihour 2077 $this->byCssSelector("#sformulaire a.retour")->click();
159 fmichon 1736 // Accès au dossier en visualisation
160 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
161 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
162 fmichon 1736 $this->verifyNoErrors();
163     // Accès à l'onglet des consultations
164 vpihour 2077 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
165     $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());
166 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
167 fmichon 1736 $this->verifyNoErrors();
168     // Saisie de valeurs
169 vpihour 2077 $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Defavorable");
170     $this->byId("motivation")->value("Pas motivé");
171 fmichon 1736 // Upload de fichier
172 vpihour 2077 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
173 fmichon 1736 // Validation sans saisie de fichier
174 vpihour 2077 $this->byName("submit")->click();
175 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
176 fmichon 1736 $this->verifyNoErrors();
177 fmichon 1811 //
178 vpihour 2077 $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
179 fmichon 1736 // Saisie de fichier
180 vpihour 2077 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
181     $this->byName("submit")->click();
182 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
183 fmichon 1736 $this->verifyNoErrors();
184     // Validation de la modification de la demande d'avis
185 vpihour 2077 $this->byXPath("//input[@value='Modifier']")->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 fmichon 1811 // On vérifie que le message de validation est présent
189 vpihour 2077 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sformulaire .message .text")->text());
190 fmichon 1811 // On clique sur le lien retour
191 vpihour 2077 $this->byCssSelector("#sformulaire a.retour")->click();
192 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
193 fmichon 1736 $this->verifyNoErrors();
194     // Vérification que la demande d'avis n'est plus presente
195 vpihour 2077 try {
196 softime 2112 $el = $this->byLinkText("AZ 013055 12 00001P0");
197 vpihour 2077 $this->fail('Cet élément ne devrait pas exister.');
198     } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
199     $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
200     }
201 fmichon 1811 // On se déconnecte
202 fmichon 1736 $this->logout();
203     }
204 fmichon 1753
205    
206 fmichon 1736 public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {
207 vpihour 2077
208 fmichon 1736 // On se connecte en tant que "suivi"
209     $this->login("suivi", "suivi");
210 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211     $this->verifyNoErrors();
212 fmichon 1736 //
213 vpihour 2077 $this->byLinkText("Retours De Consultation")->click();
214 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
215 fmichon 1736 $this->verifyNoErrors();
216 fmichon 1811 // On vérifie que le titre de la page est correct
217 vpihour 2077 $this->assertRegExp('/.*Retours De Consultation.*/', $this->byCssSelector("#title h2")->text());
218 fmichon 1811 // On clique sur le bouton "Valider" sans saisir de code barres
219 vpihour 2077 $this->byXPath("//input[@value='Valider']")->click();
220 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
221 fmichon 1736 $this->verifyNoErrors();
222 fmichon 1811 //
223 vpihour 2077 $this->assertRegExp('/.*Veuiller saisir un code barres de consultation.*/', $this->byCssSelector(".message .text")->text());
224 fmichon 1736 //
225 vpihour 2077 $this->byId("code_barres")->value("aze");
226     $this->byXPath("//input[@value='Valider']")->click();
227 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228 fmichon 1736 $this->verifyNoErrors();
229 vpihour 2077 $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());
230 fmichon 1736 // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
231 vpihour 2077 $this->byId("code_barres")->value("120000000004");
232     $this->byXPath("//input[@value='Valider']")->click();
233 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234 fmichon 1736 $this->verifyNoErrors();
235 fmichon 1811 // On vérifie que le titre de la page est correct
236 vpihour 2077 $this->assertEquals("4", $this->byId("consultation")->value());
237 softime 2112 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->value());
238 vpihour 2077 $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
239     $this->byId("motivation")->value("blablabla");
240 fmichon 1736 // Upload de fichier
241 vpihour 2077 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
242 fmichon 1736 // Validation sans saisie de fichier
243 vpihour 2077 $this->byName("submit")->click();
244 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
245 fmichon 1736 $this->verifyNoErrors();
246 vpihour 2077 $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
247 fmichon 1736 // Saisie de fichier
248 vpihour 2077 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
249     $this->byName("submit")->click();
250 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
251 fmichon 1736 $this->verifyNoErrors();
252     // Visualisation du fichier
253 vpihour 2077 $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
254     $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->value());
255 fmichon 1736 //
256 vpihour 2077 $this->byXPath("//input[@value='Modifier']")->click();
257 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258 fmichon 1736 $this->verifyNoErrors();
259 fmichon 1811 // On vérifie que le message de validation est présent
260 vpihour 2077 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
261 fmichon 1811 // On clique sur le lien retour
262 vpihour 2077 $this->byLinkText("Retour")->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 titre de la page est correct
266 vpihour 2077 $this->assertStringEndsWith('app/suivi_retours_de_consultation.php', $this->url());
267 fmichon 1811 // On se déconnecte
268 fmichon 1736 $this->logout();
269     }
270 fmichon 1738
271     public function test_05_gestion_de_la_consultation_par_l_instructeur() {
272 vpihour 2077
273 fmichon 1738 // On se connecte en tant que "instr"
274     $this->login("instr", "instr");
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 les consultations apparaissent bien sur le tableau de bord de l'instructeur
278 vpihour 2077 $this->assertEquals("2",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
279 fmichon 1738 // On clique sur le lien "Mes retours" dans le menu
280 vpihour 2077 $this->byLinkText("Mes Retours")->click();
281 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282     $this->verifyNoErrors();
283 fmichon 1811 // On vérifie que le titre de la page est correct
284 vpihour 2077 $this->assertEquals("Consultation_mes_retours", $this->byXPath("//a[@href='#tabs-1']")->text());
285 fmichon 1738 // On vérifie que les deux consultations sont présentes dans le tableau
286 vpihour 2077 $this->assertEquals("1 - 2 enregistrement(s) sur 2", $this->byClassName("pagination-text")->text());
287 fmichon 1745 // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
288 vpihour 2077 $this->byLinkText("59.01 Direction de l'Eau et de l'Assainissement")->click();
289 fmichon 1745 // 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 formulaire de la consultation s'est bien ouvert
292 vpihour 2077 $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());
293 fmichon 1745 // On clique sur le lien "Marquer comme lu" dans le portlet
294 vpihour 2077 $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
295 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
296     $this->verifyNoErrors();
297     // On vérifie que le message de validation est présent avec le bon nombre de consultations
298 vpihour 2077 $this->assertRegExp('/.*Mise a jour effectue avec succes.*/', $this->byCssSelector(".message .text")->text());
299 fmichon 1745 // On clique sur le lien retour
300 vpihour 2077 $this->byCssSelector("#sousform-consultation > #sformulaire > div.formControls > a.retour")->click();
301 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
302     $this->verifyNoErrors();
303     // On vérifie que le nombre de consultations est le bon
304 vpihour 2077 $this->assertEquals("1 - 4 enregistrement(s) sur 4", $this->byClassName("pagination-text")->text());
305 fmichon 1745 // On clique sur le lien "Tableau de bord" dans le menu
306 vpihour 2077 $this->byLinkText("Tableau de bord")->click();
307 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308     $this->verifyNoErrors();
309     // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
310 vpihour 2077 $this->assertEquals("1",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
311 fmichon 1738 // On se déconnecte
312     $this->logout();
313     }
314 fmichon 1735 }
315    
316     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26