/[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 1806 - (show annotations)
Thu May 2 10:04:33 2013 UTC (11 years, 9 months ago) by fmichon
Original Path: trunk/tests/testConsultations.php
File size: 15649 byte(s)
Ajout de la propriété svn:keywords Id sur les fichiers du dossier tests

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Consultations extends BaseTestCase {
16
17 public function test_01_ajout_consultation_simple_par_l_instructeur() {
18 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
19 $this->setSpeed('120');
20
21 // On se connecte en tant que "instr"
22 $this->login("instr", "instr");
23
24 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
25 $this->verifyNoErrors();
26 // On clique sur le lien "Mes encours" dans le menu
27 $this->clickAndWait("link=mes encours");
28 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
29 $this->verifyNoErrors();
30 // On clique sur le lien "AZ0130551200001P0" dans le tableau
31 $this->clickAndWait("link=AZ0130551200001P0");
32 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33 $this->verifyNoErrors();
34 // On clique sur l'onglet "Consultation(s)"
35 $this->click("id=consultation");
36 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37 $this->verifyNoErrors();
38 // On clique sur le lien "Ajouter" dans le tableau
39 $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a/span");
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 la date du jour est pré-remplie dans le champs "date d'envoi"
43 try {
44 $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_envoi"));
45 } catch (PHPUnit_Framework_AssertionFailedError $e) {
46 array_push($this->verificationErrors, $e->toString());
47 }
48 // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
49 $this->click("//input[@value='Ajouter']");
50 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
51 $this->verifyNoErrors();
52 // On vérifie que le message d'erreur est présent
53 $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
54 // On sélectionne le service "59.01 Direction de l'Eau et de l'Assainissement"
55 $this->select("id=service", "label=59.01 Direction de l'Eau et de l'Assainissement");
56 // On saisit une date d'envoi vide
57 $this->type("id=date_envoi", "");
58 // On valide l'alerte javascript qui nous indique que la date saisie est invalide
59 $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());
60 // On clique sur le bouton "Ajouter" du formulaire
61 $this->click("//input[@value='Ajouter']");
62 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
63 $this->verifyNoErrors();
64 // On vérifie que le message d'erreur est présent
65 $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
66 // On saisit une date d'envoi vide
67 $this->type("id=date_envoi", date("d/m/Y"));
68 // On clique sur le bouton "Ajouter" du formulaire
69 $this->click("//input[@value='Ajouter']");
70 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
71 $this->verifyNoErrors();
72 // On vérifie que le message de validation est présent
73 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
74 // On clique sur le bouton retour
75 $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
76 // On vérifie que nous avons bien 1 consultation affichée
77 $this->verifyTextPresent("1 - 1 enregistrement(s) sur 1");
78
79 // On se déconnecte
80 $this->logout();
81 }
82
83 public function test_02_ajout_consultation_multiple_par_l_instructeur() {
84 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
85 $this->setSpeed('120');
86
87 // On se connecte en tant que "instr"
88 $this->login("instr", "instr");
89
90 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
91 $this->verifyNoErrors();
92 // On clique sur le lien "Mes encours" dans le menu
93 $this->clickAndWait("link=mes encours");
94 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
95 $this->verifyNoErrors();
96 // On clique sur le lien "AZ0130551200001P0" dans le tableau
97 $this->clickAndWait("link=AZ0130551200001P0");
98 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
99 $this->verifyNoErrors();
100 // On clique sur l'onglet "Consultation(s)"
101 $this->click("id=consultation");
102 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103 $this->verifyNoErrors();
104
105 // On clique sur le lien "Ajouter multiples" dans le tableau
106 $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span");
107 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
108 $this->verifyNoErrors();
109 // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
110 $this->click("id=button_val");
111 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
112 $this->verifyNoErrors();
113 // On vérifier qu'une alerte javascript nous indique qu'il y a une erreur de saisie
114 $this->assertEquals("Veuillez choisir au moins un service et une date d envoi", $this->getAlert());
115 // On sélectionne quatre services
116 $this->click("id=t10_572_0_");
117 $this->click("id=t10_575_0_");
118 $this->click("id=t10_584_0_");
119 $this->click("id=t10_542_0_");
120 // On les ajoute à la sélection
121 $this->click("id=add-ser-them");
122 // On sélectionne un des services sélectionnés
123 $this->click("css=div[name=\"t10_542_0_\"]");
124 // On l'enlève de la sélection
125 $this->click("id=del-ser-them");
126 // On coche la case pour la consultation papier pour un des services
127 $this->click("css=div.cell2 > div > input.t10_575_0_");
128 // On clique sur le bouton "Ajouter" du formulaire
129 $this->click("id=button_val");
130 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
131 $this->verifyNoErrors();
132 // On vérifie que le message de validation est présent avec le bon nombre de consultations
133 $this->verifyTextPresent("3 service(s) sélectionné(s) dont 1 consultation(s) papier.");
134 // On vérifie que nous avons bien 4 consultations affichées
135 $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");
136
137 // On se déconnecte
138 $this->logout();
139 }
140
141 public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
142 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
143 $this->setSpeed('120');
144
145 // On se connecte en tant que "instr"
146 $this->login("consu", "consu");
147
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 "Demandes en cours" dans le menu
151 $this->clickAndWait("link=Demandes en cours");
152 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
153 $this->verifyNoErrors();
154 //
155 $this->verifyTextPresent("Demandes d'avis > en cours");
156 // On clique sur le lien "AZ0130551200001P0" dans le tableau
157 $this->clickAndWait("link=AZ0130551200001P0");
158 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
159 $this->verifyNoErrors();
160 // On clique sur le lein "Saisir un avis" dans le portlet
161 $this->click("//div[@id='portlet-actions']/ul/li/a/span");
162 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163 $this->verifyNoErrors();
164 //
165 $this->verifyTextPresent("consultation 1");
166 // Validation sans retour d'avis
167 $this->click("//input[@value='Modifier']");
168 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
169 $this->verifyNoErrors();
170 // Retour à la liste des demandes
171 $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
172 // Accès au dossier en visualisation
173 $this->clickAndWait("link=AZ0130551200001P0");
174 $this->verifyNoErrors();
175 $this->verifyTextPresent("Demandes d'avis > en cours");
176 // Accès à l'onglet des consultations
177 $this->click("//div[@id='portlet-actions']/ul/li/a/span");
178 $this->verifyTextPresent("consultation 1");
179 $this->verifyNoErrors();
180 // Saisie de valeurs
181 $this->select("id=avis_consultation", "label=Defavorable");
182 $this->type("id=motivation", "Pas motivé");
183 // Upload de fichier
184 $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
185 // Validation sans saisie de fichier
186 $this->click("name=submit");
187 $this->verifyNoErrors();
188 $this->verifyTextPresent("Vous devez sélectionner un fichier.");
189 // Saisie de fichier
190 $this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf");
191 $this->click("name=submit");
192 $this->verifyNoErrors();
193 // Validation de la modification de la demande d'avis
194 $this->click("//input[@value='Modifier']");
195 $this->verifyNoErrors();
196 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
197
198 // Retour à la liste des demandes
199 $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
200 $this->verifyNoErrors();
201 // Vérification que la demande d'avis n'est plus presente
202 $this->assertTextNotPresent("link=AZ0130551200001P0");
203
204 //
205 $this->logout();
206 }
207
208
209 public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {
210 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
211 $this->setSpeed('120');
212
213 // On se connecte en tant que "suivi"
214 $this->login("suivi", "suivi");
215
216 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217 $this->verifyNoErrors();
218 //
219 $this->clickAndWait("link=retours de consultation");
220 $this->verifyNoErrors();
221 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
222
223 //
224 $this->clickAndWait("//input[@value='Valider']");
225 $this->verifyNoErrors();
226 $this->verifyTextPresent("Veuiller saisir un code barres de consultation.");
227
228 //
229 $this->type("id=code_barres", "aze");
230 $this->clickAndWait("//input[@value='Valider']");
231 $this->verifyNoErrors();
232 $this->verifyTextPresent("Cette consultation n'existe pas.");
233
234 // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
235 $this->type("id=code_barres", "120000000002");
236 $this->clickAndWait("//input[@value='Valider']");
237 $this->verifyNoErrors();
238 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation > 2");
239 $this->verifyTextPresent("AZ0130551200001P0");
240 $this->select("id=avis_consultation", "label=Favorable");
241 $this->type("id=motivation", "blablabla");
242 // Ajout d'un fichier
243 // Test l'affichage d'un fichier si le champ est vide
244 $this->click("css=span.ui-icon.ui-icon-newwin");
245 //
246 $this->assertEquals("zone vide", $this->getAlert());
247 $this->click("css=span.ui-icon.ui-icon-closethick");
248 // Upload de fichier
249 $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
250 // Validation sans saisie de fichier
251 $this->click("name=submit");
252 $this->verifyNoErrors();
253 $this->verifyTextPresent("Vous devez sélectionner un fichier.");
254 // Saisie de fichier
255 $this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf");
256 $this->click("name=submit");
257 $this->verifyNoErrors();
258 // Visualisation du fichier
259 $this->click("css=span.ui-icon.ui-icon-newwin");
260 $this->verifyTextPresent("Voir > [ lettre_rar16042013124515.pdf ]");
261 $this->click("css=span.ui-icon.ui-icon-closethick");
262 //
263 $this->clickAndWait("//input[@value='Modifier']");
264 $this->verifyNoErrors();
265 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
266
267 //
268 $this->clickAndWait("link=Retour");
269 $this->verifyNoErrors();
270 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
271
272 //
273 $this->logout();
274 }
275
276 public function test_05_gestion_de_la_consultation_par_l_instructeur() {
277 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
278 $this->setSpeed('120');
279 // On se connecte en tant que "instr"
280 $this->login("instr", "instr");
281
282 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283 $this->verifyNoErrors();
284 // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
285 $this->verifyTextPresent("Vous avez 2 consultations pour lesquelles un avis a été rendu.");
286 // On clique sur le lien "Mes retours" dans le menu
287 $this->clickAndWait("link=Mes retours");
288 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
289 $this->verifyNoErrors();
290 // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
291 $this->verifyTextPresent("Instruction > consultations > mes retours");
292 // On vérifie que les deux consultations sont présentes dans le tableau
293 $this->verifyTextPresent("1 - 2 enregistrement(s) sur 2");
294 // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
295 $this->clickAndWait("link=59.01 Direction de l'Eau et de l'Assainissement");
296 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
297 $this->verifyNoErrors();
298 // On vérifie que le formulaire de la consultation s'est bien ouvert
299 $this->verifyTextPresent("consultation 1");
300 // On clique sur le lien "Marquer comme lu" dans le portlet
301 $this->click("link=Marquer comme lu");
302 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
303 $this->verifyNoErrors();
304 // On vérifie que le message de validation est présent avec le bon nombre de consultations
305 $this->verifyTextPresent("Mise a jour effectue avec succes");
306 // On clique sur le lien retour
307 $this->click("css=#sousform-consultation > #sformulaire > div.formControls > a.retour");
308 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
309 $this->verifyNoErrors();
310 // On vérifie que le nombre de consultations est le bon
311 $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");
312 // On clique sur le lien "Tableau de bord" dans le menu
313 $this->clickAndWait("link=Tableau de bord");
314 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
315 $this->verifyNoErrors();
316 // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
317 $this->verifyTextPresent("Vous avez 1 consultation pour laquelle un avis a été rendu.");
318
319 // On se déconnecte
320 $this->logout();
321 }
322 }
323
324 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26