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

Annotation of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2196 - (hide annotations)
Fri Aug 30 07:21:19 2013 UTC (11 years, 5 months ago) by fmichon
File size: 18060 byte(s)
Modification du test sur les commissions par l'ajout d'une pause au moment d'un lien 'accès direct' sur l'élement d'un onglet qui est connu pour s'afficher avec une certaine latence

1 fmichon 1737 <?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 Commissions extends BaseTestCase {
16    
17 vpihour 1751 /*
18     * Ajout d'un type de commission par l'administrateur fonctionnel
19     * */
20 vpihour 1752 public function test_10_ajout_type_commission_administrateur_fonctionnel(){
21 vpihour 1751
22     // On se connecte en tant que "admin"
23     $this->login("admin", "admin");
24 vpihour 1758 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
25     $this->verifyNoErrors();
26 vpihour 1751 // On clique sur le menu de paramétrage du type des commissions
27     $this->clickAndWait("link=type de commission");
28 vpihour 1752 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
29     $this->verifyNoErrors();
30 vpihour 1751 // On clique sur le bouton d'ajout de type de commission
31     $this->clickAndWait("css=.add-16");
32 vpihour 1752 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33     $this->verifyNoErrors();
34 vpihour 1751 // On ajoute les informations du type de commission
35     $this->type("id=code", "TTDC");
36     $this->type("id=libelle", "Test type de commission");
37     $this->type("id=lieu_salle", "2a");
38     $this->type("id=listes_de_diffusion", "[email protected]");
39     $this->type("id=participants", "Atreal");
40     $this->type("id=corps_du_courriel", "Test du type de commission");
41     // On ajoute le type de commission
42     $this->clickAndWait("//input[@value='Ajouter']");
43 vpihour 1752 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
44     $this->verifyNoErrors();
45 vpihour 1751 // On retourne sur le tableau listant les types de commission
46     $this->clickAndWait("css=a.retour");
47 vpihour 1752 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48     $this->verifyNoErrors();
49 vpihour 1758 // On vérifie que le type de commission nouvellement créé avec les informations
50     // ci-dessus existe bien
51 vpihour 1751 $this->assertText("css=.even td:nth-child(2)", "2");
52     $this->assertText("css=.even td:nth-child(3)", "TTDC");
53     $this->assertText("css=.even td:nth-child(4)", "Test type de commission");
54     $this->assertText("css=.even td:nth-child(7)", "2a");
55     //On se déconnecte de l'application
56 fmichon 2183 $this->logout();
57 vpihour 1751 }
58    
59 vpihour 1758 /*
60     * Ajout d'une demande de passage en commission dans le contexte d'un dossier
61     * d'instruction par l'instructeur
62     * */
63     public function test_20_ajout_demande_de_passage_instructeur() {
64 fmichon 1746 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
65     $this->setSpeed('120');
66 fmichon 1737
67 fmichon 1746 // On se connecte en tant que "instr"
68     $this->login("instr", "instr");
69    
70     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
71     $this->verifyNoErrors();
72     // On clique sur le lien "Mes encours" dans le menu
73     $this->clickAndWait("link=mes encours");
74     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
75     $this->verifyNoErrors();
76     // On clique sur le lien "AZ0130551200001P0" dans le tableau
77 softime 2112 $this->clickAndWait("link=AZ 013055 12 00001P0");
78 fmichon 1746 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
79     $this->verifyNoErrors();
80     // On clique sur l'onglet "Commission(s)"
81     $this->click("id=dossier_commission");
82     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
83     $this->verifyNoErrors();
84     // On clique sur le lien "Ajouter" dans le tableau
85     $this->click("//div[@id='sousform-dossier_commission']/table/thead/tr/th/a/span");
86     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
87     $this->verifyNoErrors();
88     // On vérifie que la date du jour est pré-remplie dans le champs "date souhaitée"
89     try {
90     $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_souhaitee"));
91     } catch (PHPUnit_Framework_AssertionFailedError $e) {
92     array_push($this->verificationErrors, $e->toString());
93     }
94     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de type de commission
95     $this->click("//input[@value='Ajouter']");
96     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
97     $this->verifyNoErrors();
98     // On vérifie que le message d'erreur est présent
99     $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
100     // On sélectionne le type de commission "Commission Technique d'Urbanisme"
101 vpihour 1758 $this->select("id=commission_type", "label=Test type de commission");
102 fmichon 1746 //
103     $this->type("id=motivation", "blablablabla");
104     // On clique sur le bouton "Ajouter" du formulaire avec toutes les informations saisies
105     $this->click("//input[@value='Ajouter']");
106     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
107     $this->verifyNoErrors();
108 vpihour 1758 // O vérifie que le message de validation est présent
109 fmichon 1746 $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
110     // On clique sur le bouton retour
111     $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");
112     // On vérifie que nous avons bien 1 consultation affichée
113     $this->verifyTextPresent("1 - 2 enregistrement(s) sur 2");
114     // On se déconnecte
115     $this->logout();
116     }
117    
118 vpihour 1758 /*
119     * Création d'une nouvelle commission par la cellule suivi
120     * */
121     public function test_30_creation_commission_cellule_suivi() {
122    
123     // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
124 softime 1965 $this->setSpeed('300');
125 vpihour 1758 // On se connecte en tant que "suivi"
126     $this->login("suivi", "suivi");
127     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
128     $this->verifyNoErrors();
129     // On clique sur l'entrée de menu "Commissions -> Gestion"
130     $this->clickAndWait("link=gestion");
131     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
132     $this->verifyNoErrors();
133     // On clique sur le bouton d'ajout de commission
134     $this->clickAndWait("css=.add-16");
135     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
136     $this->verifyNoErrors();
137     // On saisie une nouvelle commission
138     // On vérifie que la date du jour est pré-remplie dans le champs "date souhaitée"
139     try {
140     $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_commission"));
141     } catch (PHPUnit_Framework_AssertionFailedError $e) {
142     array_push($this->verificationErrors, $e->toString());
143     }
144     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de type de commission
145     $this->click("//input[@value='Ajouter']");
146     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
147     $this->verifyNoErrors();
148     // On vérifie que le message d'erreur est présent
149     $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");
150     //On choisi un type de commission
151     $this->select("id=commission_type","label=Test type de commission");
152     // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
153     $this->setSpeed('120');
154     // On vérifie que les informations du type de commision sélectionnées sont bien
155     // dans les champs
156     $this->assertValue("id=libelle", "Test type de commission");
157     $this->assertValue("id=lieu_salle", "2a");
158     // Aucune adresse n'avait été saisie dans le champ concernant l'adresse
159     $this->assertValue("id=lieu_adresse_ligne1", "");
160     // Saisie d'une adresse
161     $this->type("id=lieu_adresse_ligne1", "1 boulevard de la république");
162     $this->type("id=heure_commission", "15:00");
163     $this->assertValue("id=listes_de_diffusion", "[email protected]");
164     $this->assertValue("id=participants", "Atreal");
165     // On ajoute la commission
166     $this->clickAndWait("//input[@value='Ajouter']");
167     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
168     $this->verifyNoErrors();
169     // On retourne sur le tableau listant les commissions
170     $this->clickAndWait("css=a.retour");
171     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
172     $this->verifyNoErrors();
173     // On vérifie que la commission nouvellement avec les informations ci-dessus
174     // existe bien
175     $this->assertText("css=.odd td:nth-child(2)", "2");
176     // Champ calculé
177     $this->assertText("css=.odd td:nth-child(3)", "TTDC".date("Ymd"));
178     $this->assertText("css=.odd td:nth-child(4)", "Test type de commission");
179     $this->assertText("css=.odd td:nth-child(5)", "Test type de commission");
180     $this->assertText("css=.odd td:nth-child(6)", date("d/m/Y"));
181     $this->assertText("css=.odd td:nth-child(7)", "15:00");
182     $this->assertText("css=.odd td:nth-child(8)", "1 boulevard de la république");
183     $this->assertText("css=.odd td:nth-child(9)", "");
184     $this->assertText("css=.odd td:nth-child(10)", "2a");
185     // On se déconnecte de l'application
186 fmichon 2183 $this->logout();
187 vpihour 1758 }
188 vpihour 1752
189 vpihour 1758 /*
190     * Plannification des dossiers et impression de l'ordre du jour par la cellule suivi
191     *
192     * */
193     public function test_31_preparation_commission_cellule_suivi(){
194    
195     // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
196 softime 2002 $this->setSpeed('300');
197 vpihour 1758 // On se connecte en tant que "suivi"
198     $this->login("suivi", "suivi");
199     // On clique sur le menu de paramétrage du type des commissions
200     $this->clickAndWait("link=gestion");
201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202     $this->verifyNoErrors();
203     // Clique sur la commission
204     $this->clickAndWait("link="."TTDC".date("Ymd"));
205     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
206     $this->verifyNoErrors();
207     // On clique sur l'onglet "Plannifier/retirer des dossiers"
208     $this->click("id=commission_dossiers_plannifier_retirer");
209     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210     $this->verifyNoErrors();
211     // On supprime un dossier par l'onglet planifier/retirer
212     $this->click("css=.odd td:nth-child(1)");
213     // On valide le formulaire
214     $this->click("//input[@name='validation']");
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 formulaire s'est bien validé
218 softime 2112 $this->assertTextPresent("Mise à jour réalisée avec succès pour le(s) dossier(s) : AZ 013055 12 00001P0.");
219 vpihour 1758 // On clique sur l'onglet "Plannifier/retirer des dossiers"
220     $this->click("id=sousform-dossier_commission");
221     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222     $this->verifyNoErrors();
223     //On verifie que le dossier a bien été supprimé
224     $this->assertTextPresent( "1 - 0 enregistrement(s) sur 0");
225     // On clique sur l'onglet "Plannifier un dossier spécifique"
226     $this->click("id=commission_dossiers_plannifier_numero");
227     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228     $this->verifyNoErrors();
229     // On saisie le numéro du dossier d'instruction
230 fmichon 2187 $this->type("id=dossier", "CU0130551200001P0");
231 vpihour 1758 // On clique sur le bouton "Valider" du formulaire
232     $this->click("//input[@value='Valider']");
233     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234     $this->verifyNoErrors();
235     // On vérifie que le formulaire s'est bien validé
236 softime 2002 $this->assertTextPresent("Dossier ajouté avec succès.");
237 vpihour 1758 // On clique sur l'onglet "Les dossiers planifiés"
238     $this->click("id=dossier_planifie");
239     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240     $this->verifyNoErrors();
241     //On verifie que le dossier a bien été ajouté
242     $this->assertTextPresent( "1 - 1 enregistrement(s) sur 1");
243     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
244     $this->verifyNoErrors();
245     // On clique sur l'onglet "Plannifier un dossier spécifique"
246     $this->click("id=commission_dossiers_plannifier_numero");
247     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
248     $this->verifyNoErrors();
249     // On saisie le même numéro du dossier d'instruction
250     $this->type("id=dossier", "CU0130551200001P0");
251     // On clique sur le bouton "Valider" du formulaire
252     $this->click("//input[@value='Valider']");
253     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254     $this->verifyNoErrors();
255     // On vérifie qu'il y a un message d'erreur
256     $this->assertTextPresent("Ce dossier est deja a l'ordre du jour.");
257     //On ajoute uniquement le dossier AZ0130551200001P0 à la commission
258     $this->click("id=commission_dossiers_plannifier_retirer");
259     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
260     $this->verifyNoErrors();
261     $this->uncheck("name=dossier[]");
262     $this->check("css=tr:nth-child(2) td:nth-child(1) input");
263     // On valide le formulaire
264     $this->click("//input[@name='validation']");
265     // On vérifie que le formulaire s'est bien validé
266 softime 2112 $this->assertTextPresent("Mise à jour réalisée avec succès pour le(s) dossier(s) : CU 013055 12 00001P0, AZ 013055 12 00001P0.");
267 vpihour 1758
268    
269     //Problème avec les PDFs
270     /*// Imprime l'ordre du jour
271     $this->click("//div[@id='portlet-actions']/ul/li[6]/a/span");
272     //
273     $this->waitForPopUp("", "30000");
274     $this->selectPopUp();
275     sleep(5);
276     $this->verifyNoErrors();
277     $this->verifyTextPresent("ORDRE DU JOUR DE LA Test du type de commission DU ".date("d/m/Y"));
278     $this->close();
279     //
280     $this->selectWindow();
281     $this->verifyNoErrors();*/
282    
283    
284     //On se déconnecte de l'application
285 fmichon 2183 $this->logout();
286 vpihour 1758 }
287 vpihour 1752
288 vpihour 1758 /*
289     * Rédaction des retours de commission suite au passage en commission
290     * */
291     public function test_22_saisie_des_avis_par_la_cellule_suivi() {
292    
293     // On se connecte en tant que "suivi"
294     $this->login("suivi", "suivi");
295     // On clique sur le menu de paramétrage du type des commissions
296     $this->clickAndWait("link=gestion");
297     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
298     $this->verifyNoErrors();
299     // Clique sur la commission
300     $this->clickAndWait("link="."TTDC".date("Ymd"));
301     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
302     $this->verifyNoErrors();
303     // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
304 softime 2002 $this->setSpeed('300');
305 vpihour 1758 // Affichage en visualisation du dossier qui est passé en commission
306 softime 2112 $this->click("link=AZ 013055 12 00001P0");
307 vpihour 1758 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308     $this->verifyNoErrors();
309     // On saisie le retour
310     $this->type("id=avis","Favorable");
311     // Validation du formulaire
312     $this->click("//input[@value='Modifier']");
313     // La modification a bien été prise en compte
314     $this->assertTextPresent("Vos modifications ont bien été enregistrées");
315    
316    
317     //Problème avec les PDFs
318     /*//Impression du retour
319     $this->click("//div[@id='portlet-actions']/ul/li[8]/a/span");
320     //
321     $this->waitForPopUp("", "30000");
322     $this->selectPopUp();
323     sleep(5);
324     $this->verifyNoErrors();
325     $this->verifyTextPresent("COMPTE-RENDU DE LA Test du type de commission DU ".date("d/m/Y"));
326     $this->close();
327     //
328     $this->selectWindow();
329     $this->verifyNoErrors();*/
330    
331    
332     //On se déconnecte de l'application
333 fmichon 2183 $this->logout();
334 vpihour 1758 }
335 vpihour 1752
336 vpihour 1758
337     public function test_30_gestion_du_retour_de_commission_par_l_instructeur() {
338    
339     // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
340     $this->setSpeed('120');
341     // On se connecte en tant que "instr"
342     $this->login("instr", "instr");
343     //On verifie le message du widget
344     $this->assertTextPresent("Vous avez 1 demande de passage en commission pour laquelle un avis a été rendu.");
345     // On clique sur le lien du widget
346     $this->clickAndWait("link=Voir mes retours de commission");
347     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
348     $this->verifyNoErrors();
349     // On se rend sur la demande de passage en visualisaion
350     $this->assertText("css=.odd td:nth-child(7)","Favorable");
351     //On clique sur le retour du dossier "AZ0130551200001P0"
352 softime 2112 $this->clickAndWait("link=AZ 013055 12 00001P0");
353 vpihour 1758 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
354     $this->verifyNoErrors();
355 fmichon 2196 // On temporise pour laisser un peu de temps à l'onglet de se charger
356     // (accès direct)
357     sleep(2);
358 vpihour 1758 //On marque comme lu
359     $this->click("css=#sousform-dossier_commission #portlet-actions li::nth-child(3) a span");
360     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
361     $this->verifyNoErrors();
362     // On vérifie que la demande de passage est bien passée à lu
363     $this->assertText("id=lu","Oui");
364     //Retour sur le tableau de bord
365     $this->clickAndWait("link=Tableau de bord");
366     //On vérifie le tableau de bord
367     $this->assertTextPresent("Vous n'avez aucune demande de passage en commission pour laquelle un avis a été rendu.");
368     // On se déconnecte de l'application
369 fmichon 2183 $this->logout();
370 vpihour 1758 }
371    
372    
373 fmichon 1737 }
374    
375     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26