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

Contents of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1864 - (show annotations)
Wed May 15 08:07:48 2013 UTC (11 years, 8 months ago) by softime
File size: 17070 byte(s)
Suppression des fichiers séparés pour le test de digitalizedDocument et de son testSuite + dossier binaire renommé binary_files + modification des tests de digitalizedDocument

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26