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

Annotation of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1969 - (hide annotations)
Thu May 30 16:50:56 2013 UTC (11 years, 8 months ago) by fmichon
File size: 16797 byte(s)
Suppression du test dur la propriété focus du champs input à cause de la réussite aléatoire du test sur l'élément (Selenium 2...)

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 softime 1965 $this->setSpeed('300');
20 fmichon 1735 // 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 fmichon 1736 // 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 fmichon 1735 // 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 fmichon 1753
78 fmichon 1735 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 softime 1965 $this->setSpeed('300');
81 fmichon 1735 // On se connecte en tant que "instr"
82     $this->login("instr", "instr");
83 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
84     $this->verifyNoErrors();
85 fmichon 1735 // 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 fmichon 1811 // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
106 fmichon 1735 $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 fmichon 1753
132 fmichon 1736 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 softime 1965 $this->setSpeed('300');
135 fmichon 1736 // On se connecte en tant que "instr"
136     $this->login("consu", "consu");
137 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
138     $this->verifyNoErrors();
139 fmichon 1736 // 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 fmichon 1811 // On vérifie que le titre de la page est correct
144 fmichon 1736 $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 fmichon 1811 // On clique sur le lien "Saisir un avis" dans le portlet
150 fmichon 1736 $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 fmichon 1811 // On vérifie que le sous-titre de l'élément affiché est correct
154 fmichon 1736 $this->verifyTextPresent("consultation 1");
155 fmichon 1811 // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis
156 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
164 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
170 fmichon 1736 $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 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179 fmichon 1736 $this->verifyNoErrors();
180 fmichon 1811 //
181 fmichon 1736 $this->verifyTextPresent("Vous devez sélectionner un fichier.");
182     // Saisie de fichier
183 softime 1864 $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
184 fmichon 1736 $this->click("name=submit");
185 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
186 fmichon 1736 $this->verifyNoErrors();
187     // Validation de la modification de la demande d'avis
188     $this->click("//input[@value='Modifier']");
189 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
190 fmichon 1736 $this->verifyNoErrors();
191 fmichon 1811 // On vérifie que le message de validation est présent
192 fmichon 1736 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
193 fmichon 1811 // On clique sur le lien retour
194 fmichon 1736 $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
195 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
196 fmichon 1736 $this->verifyNoErrors();
197     // Vérification que la demande d'avis n'est plus presente
198     $this->assertTextNotPresent("link=AZ0130551200001P0");
199 fmichon 1811 // On se déconnecte
200 fmichon 1736 $this->logout();
201     }
202 fmichon 1753
203    
204 fmichon 1736 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 softime 1965 $this->setSpeed('300');
207 fmichon 1736 // On se connecte en tant que "suivi"
208     $this->login("suivi", "suivi");
209 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210     $this->verifyNoErrors();
211 fmichon 1736 //
212     $this->clickAndWait("link=retours de consultation");
213 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
214 fmichon 1736 $this->verifyNoErrors();
215 fmichon 1811 // On vérifie que le titre de la page est correct
216 fmichon 1736 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
217 fmichon 1811 // On clique sur le bouton "Valider" sans saisir de code barres
218 fmichon 1736 $this->clickAndWait("//input[@value='Valider']");
219 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
220 fmichon 1736 $this->verifyNoErrors();
221 fmichon 1811 //
222 vpihour 1796 $this->verifyTextPresent("Veuiller saisir un code barres de consultation.");
223 fmichon 1736
224     //
225 fmichon 1969 $this->type("css=#code_barres", "aze");
226 fmichon 1736 $this->clickAndWait("//input[@value='Valider']");
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     $this->verifyTextPresent("Cette consultation n'existe pas.");
230    
231     // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
232 vpihour 1824 $this->type("css=#code_barres:focus", "120000000002");
233 fmichon 1736 $this->clickAndWait("//input[@value='Valider']");
234 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
235 fmichon 1736 $this->verifyNoErrors();
236 fmichon 1811 // On vérifie que le titre de la page est correct
237 fmichon 1736 $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     // Upload de fichier
242     $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
243     // Validation sans saisie de fichier
244     $this->click("name=submit");
245 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246 fmichon 1736 $this->verifyNoErrors();
247     $this->verifyTextPresent("Vous devez sélectionner un fichier.");
248     // Saisie de fichier
249 softime 1864 $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
250 fmichon 1736 $this->click("name=submit");
251 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
252 fmichon 1736 $this->verifyNoErrors();
253     // Visualisation du fichier
254     $this->click("css=span.ui-icon.ui-icon-newwin");
255     $this->verifyTextPresent("Voir > [ lettre_rar16042013124515.pdf ]");
256 softime 1965 $this->click("css=.ui-dialog-titlebar a.ui-dialog-titlebar-close");
257 fmichon 1736 //
258     $this->clickAndWait("//input[@value='Modifier']");
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 fmichon 1811 // On vérifie que le message de validation est présent
262 fmichon 1736 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
263 fmichon 1811 // On clique sur le lien retour
264 fmichon 1736 $this->clickAndWait("link=Retour");
265 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
266 fmichon 1736 $this->verifyNoErrors();
267 fmichon 1811 // On vérifie que le titre de la page est correct
268 fmichon 1736 $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
269 fmichon 1811 // On se déconnecte
270 fmichon 1736 $this->logout();
271     }
272 fmichon 1738
273     public function test_05_gestion_de_la_consultation_par_l_instructeur() {
274 fmichon 1753 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
275 softime 1965 $this->setSpeed('300');
276 fmichon 1738 // On se connecte en tant que "instr"
277     $this->login("instr", "instr");
278     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
279     $this->verifyNoErrors();
280     // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
281     $this->verifyTextPresent("Vous avez 2 consultations pour lesquelles un avis a été rendu.");
282     // On clique sur le lien "Mes retours" dans le menu
283     $this->clickAndWait("link=Mes retours");
284     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285     $this->verifyNoErrors();
286 fmichon 1811 // On vérifie que le titre de la page est correct
287 fmichon 1738 $this->verifyTextPresent("Instruction > consultations > mes retours");
288     // On vérifie que les deux consultations sont présentes dans le tableau
289     $this->verifyTextPresent("1 - 2 enregistrement(s) sur 2");
290 fmichon 1745 // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
291     $this->clickAndWait("link=59.01 Direction de l'Eau et de l'Assainissement");
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 formulaire de la consultation s'est bien ouvert
295     $this->verifyTextPresent("consultation 1");
296     // On clique sur le lien "Marquer comme lu" dans le portlet
297     $this->click("link=Marquer comme lu");
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 message de validation est présent avec le bon nombre de consultations
301     $this->verifyTextPresent("Mise a jour effectue avec succes");
302     // On clique sur le lien retour
303 fmichon 1753 $this->click("css=#sousform-consultation > #sformulaire > div.formControls > a.retour");
304 fmichon 1745 // 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 nombre de consultations est le bon
307     $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");
308     // On clique sur le lien "Tableau de bord" dans le menu
309     $this->clickAndWait("link=Tableau de bord");
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 les consultations apparaissent bien sur le tableau de bord de l'instructeur
313     $this->verifyTextPresent("Vous avez 1 consultation pour laquelle un avis a été rendu.");
314 fmichon 1738 // On se déconnecte
315     $this->logout();
316     }
317 fmichon 1811
318 fmichon 1735 }
319    
320     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26