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

Contents of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26