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

Annotation of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1753 - (hide annotations)
Mon Apr 22 13:30:26 2013 UTC (11 years, 9 months ago) by fmichon
File size: 15632 byte(s)
Corrections du test_05_gestion_de_la_consultation_par_l_instructeur dans le testCase Consultations : le sélecteur du bouton retour était mauvais et il manquait le setSpeed pour gérer correctement les liens ajax

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 fmichon 1753
21 fmichon 1735 // On se connecte en tant que "instr"
22     $this->login("instr", "instr");
23 fmichon 1753
24 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
25     $this->verifyNoErrors();
26 fmichon 1735 // 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 fmichon 1736 // 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 fmichon 1735 // 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 fmichon 1753
83 fmichon 1735 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 fmichon 1753
87 fmichon 1735 // On se connecte en tant que "instr"
88     $this->login("instr", "instr");
89 fmichon 1753
90 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
91     $this->verifyNoErrors();
92 fmichon 1735 // 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 fmichon 1753
105 fmichon 1735 // 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 fmichon 1753
137 fmichon 1735 // On se déconnecte
138     $this->logout();
139     }
140 fmichon 1753
141 fmichon 1736 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 fmichon 1753
145 fmichon 1736 // On se connecte en tant que "instr"
146     $this->login("consu", "consu");
147 fmichon 1753
148 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
149     $this->verifyNoErrors();
150 fmichon 1736 // 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 fmichon 1753
204 fmichon 1736 //
205     $this->logout();
206     }
207 fmichon 1753
208    
209 fmichon 1736 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 fmichon 1753
213 fmichon 1736 // On se connecte en tant que "suivi"
214     $this->login("suivi", "suivi");
215 fmichon 1753
216 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217     $this->verifyNoErrors();
218 fmichon 1736 //
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 N° de consultation.");
227    
228     //
229     $this->type("id=consultation", "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=consultation", "2");
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 fmichon 1753
267 fmichon 1736 //
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 fmichon 1738
276     public function test_05_gestion_de_la_consultation_par_l_instructeur() {
277 fmichon 1753 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
278     $this->setSpeed('120');
279 fmichon 1738 // 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 fmichon 1745 // 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 fmichon 1753 $this->click("css=#sousform-consultation > #sformulaire > div.formControls > a.retour");
308 fmichon 1745 // 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 fmichon 1738 // On se déconnecte
320     $this->logout();
321     }
322 fmichon 1735 }
323    
324     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26