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

Annotation of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1811 - (hide 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 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     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 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
23     $this->verifyNoErrors();
24 fmichon 1735 // 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 fmichon 1736 // 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 fmichon 1735 // 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 fmichon 1753
80 fmichon 1735 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 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
86     $this->verifyNoErrors();
87 fmichon 1735 // 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 fmichon 1811 // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
108 fmichon 1735 $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 fmichon 1753
134 fmichon 1736 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 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
140     $this->verifyNoErrors();
141 fmichon 1736 // 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 fmichon 1811 // On vérifie que le titre de la page est correct
146 fmichon 1736 $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 fmichon 1811 // On clique sur le lien "Saisir un avis" dans le portlet
152 fmichon 1736 $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 fmichon 1811 // On vérifie que le sous-titre de l'élément affiché est correct
156 fmichon 1736 $this->verifyTextPresent("consultation 1");
157 fmichon 1811 // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis
158 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
166 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
172 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
181 fmichon 1736 $this->verifyNoErrors();
182 fmichon 1811 //
183 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
188 fmichon 1736 $this->verifyNoErrors();
189     // Validation de la modification de la demande d'avis
190     $this->click("//input[@value='Modifier']");
191 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
192 fmichon 1736 $this->verifyNoErrors();
193 fmichon 1811 // On vérifie que le message de validation est présent
194 fmichon 1736 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
195 fmichon 1811 // On clique sur le lien retour
196 fmichon 1736 $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
197 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
198 fmichon 1736 $this->verifyNoErrors();
199     // Vérification que la demande d'avis n'est plus presente
200     $this->assertTextNotPresent("link=AZ0130551200001P0");
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     // 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 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
212     $this->verifyNoErrors();
213 fmichon 1736 //
214     $this->clickAndWait("link=retours de consultation");
215 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
216 fmichon 1736 $this->verifyNoErrors();
217 fmichon 1811 // On vérifie que le titre de la page est correct
218 fmichon 1736 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
219 fmichon 1811 // On clique sur le bouton "Valider" sans saisir de code barres
220 fmichon 1736 $this->clickAndWait("//input[@value='Valider']");
221 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222 fmichon 1736 $this->verifyNoErrors();
223 fmichon 1811 //
224 vpihour 1796 $this->verifyTextPresent("Veuiller saisir un code barres de consultation.");
225 fmichon 1736
226     //
227 vpihour 1796 $this->type("id=code_barres", "aze");
228 fmichon 1736 $this->clickAndWait("//input[@value='Valider']");
229 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
230 fmichon 1736 $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 vpihour 1796 $this->type("id=code_barres", "120000000002");
235 fmichon 1736 $this->clickAndWait("//input[@value='Valider']");
236 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
237 fmichon 1736 $this->verifyNoErrors();
238 fmichon 1811 // On vérifie que le titre de la page est correct
239 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
260 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
268 fmichon 1736 $this->verifyNoErrors();
269 fmichon 1811 // On vérifie que le message de validation est présent
270 fmichon 1736 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
271 fmichon 1811 // On clique sur le lien retour
272 fmichon 1736 $this->clickAndWait("link=Retour");
273 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
274 fmichon 1736 $this->verifyNoErrors();
275 fmichon 1811 // On vérifie que le titre de la page est correct
276 fmichon 1736 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
277 fmichon 1811 // On se déconnecte
278 fmichon 1736 $this->logout();
279     }
280 fmichon 1738
281     public function test_05_gestion_de_la_consultation_par_l_instructeur() {
282 fmichon 1753 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
283     $this->setSpeed('120');
284 fmichon 1738 // 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 fmichon 1811 // On vérifie que le titre de la page est correct
295 fmichon 1738 $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 fmichon 1745 // 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 fmichon 1753 $this->click("css=#sousform-consultation > #sformulaire > div.formControls > a.retour");
312 fmichon 1745 // 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 fmichon 1738 // On se déconnecte
323     $this->logout();
324     }
325 fmichon 1811
326 fmichon 1735 }
327    
328     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26