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

Annotation of /trunk/tests/testCommissions.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2002 - (hide annotations)
Wed Jun 12 10:52:42 2013 UTC (11 years, 7 months ago) by softime
File size: 17933 byte(s)
- Dans instruction.class.php mettre le libelle de l'évenement dans type_doc
- Ajouter métadonnées dans les classes consultation et commisson
- Modification des tests pour éviter les aléatoires

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     $this->deconnect();
57     }
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     $this->clickAndWait("link=AZ0130551200001P0");
78     // 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     $this->deconnect();
187     }
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     $this->assertTextPresent("Mise à jour réalisée avec succès pour le(s) dossier(s) : AZ0130551200001P0.");
219     // 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     $this->type("id=dossier", "CU0130551200001P0");
231     // 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     $this->assertTextPresent("Mise à jour réalisée avec succès pour le(s) dossier(s) : CU0130551200001P0, AZ0130551200001P0.");
267    
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     $this->deconnect();
286     }
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     $this->click("link=AZ0130551200001P0");
307     // 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     $this->deconnect();
334     }
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     $this->clickAndWait("link=AZ0130551200001P0");
353     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
354     $this->verifyNoErrors();
355     //On marque comme lu
356     $this->click("css=#sousform-dossier_commission #portlet-actions li::nth-child(3) a span");
357     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
358     $this->verifyNoErrors();
359     // On vérifie que la demande de passage est bien passée à lu
360     $this->assertText("id=lu","Oui");
361     //Retour sur le tableau de bord
362     $this->clickAndWait("link=Tableau de bord");
363     //On vérifie le tableau de bord
364     $this->assertTextPresent("Vous n'avez aucune demande de passage en commission pour laquelle un avis a été rendu.");
365     // On se déconnecte de l'application
366     $this->deconnect();
367     }
368    
369    
370 fmichon 1737 }
371    
372     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26