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

Annotation of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1699 - (hide annotations)
Tue Apr 16 10:31:12 2013 UTC (11 years, 9 months ago) by nhaye
File size: 7712 byte(s)
Test d'ajout de fichier dans le formulaire de retour de consultation

1 fmichon 1673 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8    
9     //
10 fmichon 1677 require_once "base.php";
11 fmichon 1673
12     /**
13     *
14     */
15     class Suivi extends BaseTestCase {
16    
17     private function login() {
18     // on commence par se connecter
19     $this->connect("suivi", "suivi");
20     // On doit être connecté
21     $this->assertTrue($this->isTextPresent("Votre session est maintenant ouverte."));
22     }
23    
24     private function logout() {
25     // puis on se déconnecte
26     $this->deconnect();
27     // on doit avoir un message nous indiquant que la session est finie
28     $this->assertTrue($this->isTextPresent("Votre session est maintenant terminée."));
29     // on ne doit plus avoir de lien de déconnexion
30     $this->assertFalse($this->isElementPresent("link=Déconnexion"));
31     }
32    
33     /**
34     * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
35     * entrée de menu ne génère pas une erreur de base de données
36 fmichon 1690 *
37     * Ce test est temporaire, il permet d'effectuer un test grossier sur chacun
38     * des écrans en attendant que l'intégralité des cas d'utilisation soient
39     * testés
40 fmichon 1673 */
41     public function testGeneral() {
42     //
43     $this->login();
44 fmichon 1690
45 fmichon 1673 //
46     $this->clickAndWait("link=Mise à jour des dates");
47 fmichon 1681 $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
48 fmichon 1674 $this->verifyNoDatabaseError();
49 fmichon 1673 //
50     $this->clickAndWait("link=gestion");
51     $this->verifyTextPresent("suivi > commissions > gestion");
52 fmichon 1674 $this->verifyNoDatabaseError();
53 fmichon 1673 //
54     $this->clickAndWait("link=demandes");
55     $this->verifyTextPresent("suivi > commissions > demandes");
56 fmichon 1674 $this->verifyNoDatabaseError();
57 fmichon 1690
58 fmichon 1673 //
59     $this->logout();
60     }
61 nhaye 1695
62     /**
63     * XXX tous les cas d'utilisation ne sont pas testés
64     * Permet de tester la génération de feuillets pour lettre avec accusé de récéption
65     */
66     public function testEnvoiLettreRAR() {
67     //
68     $this->login();
69    
70     //
71     $this->clickAndWait("link=envoi lettre RAR");
72     $this->verifyTextPresent("suivi > suivi des pièces > envoi lettre RAR");
73     $this->verifyNoDatabaseError();
74     // Vérification sans valeur saisie
75     $this->clickAndWait("//input[@value='Valider']");
76     $this->verifyTextPresent("Tous les champs doivent être remplis.");
77     // Vérification avec un numéro non présent en base
78     $this->type("id=liste_instruction", "a");
79     $this->clickAndWait("//input[@value='Valider']");
80     $this->verifyTextPresent("Le numéro a ne correspond à aucune instruction.");
81     // Vérification formulaire valide
82     $this->type("id=liste_instruction", "1");
83     $this->clickAndWait("//input[@value='Valider']");
84     $this->verifyNoDatabaseError();
85     $this->verifyTextPresent("1 feuillets générés :");
86     $this->verifyTextPresent("Télécharger les feuillets pour RAR");
87     //
88     $this->logout();
89     }
90 fmichon 1690
91 fmichon 1685 /**
92     *
93     */
94     public function testRetoursDeConsultation() {
95     //
96     $this->login();
97 fmichon 1690
98 fmichon 1685 //
99     $this->clickAndWait("link=retours de consultation");
100     $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
101     $this->verifyNoDatabaseError();
102 fmichon 1690
103 fmichon 1685 //
104     $this->clickAndWait("//input[@value='Valider']");
105     $this->verifyNoDatabaseError();
106     $this->verifyTextPresent("Veuiller saisir un N° de consultation.");
107 fmichon 1690
108 fmichon 1685 //
109     $this->type("id=consultation", "aze");
110     $this->clickAndWait("//input[@value='Valider']");
111     $this->verifyNoDatabaseError();
112     $this->verifyTextPresent("Cette consultation n'existe pas.");
113    
114     // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
115     $this->type("id=consultation", "1");
116     $this->clickAndWait("//input[@value='Valider']");
117     $this->verifyNoDatabaseError();
118     $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation > 1");
119     $this->verifyTextPresent("AZ0130551200001P0");
120     $this->select("id=avis_consultation", "label=Favorable");
121     $this->type("id=motivation", "blablabla");
122 nhaye 1699 // Ajout d'un fichier
123     // Test l'affichage d'un fichier si le champ est vide
124     $this->click("css=span.ui-icon.ui-icon-newwin");
125     $this->setSpeed('120');
126     $this->assertEquals("zone vide", $this->getAlert());
127     $this->click("css=span.ui-icon.ui-icon-closethick");
128     $this->setSpeed('120');
129     // Upload de fichier
130     $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
131     $this->setSpeed('120');
132     // Validation sans saisie de fichier
133     $this->click("name=submit");
134     $this->setSpeed('120');
135     $this->verifyTextPresent("Vous devez sélectionner un fichier.");
136     // Saisie de fichier
137     $this->type("name=userfile[]", dirname(__FILE__)."/binaire/panier.png");
138     $this->click("name=submit");
139     $this->setSpeed('120');
140     // Visualisation du fichier
141     $this->click("css=span.ui-icon.ui-icon-newwin");
142     $this->setSpeed('120');
143     $this->verifyTextPresent("Voir > [ panier.png ]");
144     $this->click("css=span.ui-icon.ui-icon-closethick");
145     $this->setSpeed('120');
146 nhaye 1695 //
147 fmichon 1685 $this->clickAndWait("//input[@value='Modifier']");
148     $this->verifyNoDatabaseError();
149     $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
150     $this->clickAndWait("link=Retour");
151     $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
152 fmichon 1690
153     //
154     $this->logout();
155     }
156 fmichon 1685
157 fmichon 1690 /**
158     *
159     */
160     public function testBordereaux() {
161 fmichon 1685 //
162 fmichon 1690 $this->login();
163    
164     //
165     $this->clickAndWait("link=Bordereaux");
166     $this->verifyTextPresent("suivi > suivi des pièces > bordereaux");
167     $this->verifyNoDatabaseError();
168    
169     //
170     $this->clickAndWait("//input[@value='Valider']");
171     $this->verifyNoDatabaseError();
172     $this->verifyTextPresent("Veuillez sélectionner un bordereau.");
173    
174     //
175     $this->select("id=bordereau", "label=Bordereau d'envoi des avis du Maire au Préfet");
176     $this->click("id=date_bordereau");
177     $this->type("id=date_bordereau", "");
178     $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());
179     $this->clickAndWait("//input[@value='Valider']");
180     $this->verifyNoDatabaseError();
181     $this->verifyTextPresent("Veuillez saisir une date valide.");
182    
183     //
184     $bordereaux = array(
185     "Bordereau d'envoi des avis du Maire au Préfet",
186     "Bordereau d'envoi des contrôles de légalité",
187     "Bordereau d'envoi de courriers signature Maire",
188     "Bordereau d'envoi des décisions",
189     );
190     foreach ($bordereaux as $bordereau) {
191     //
192     $this->select("id=bordereau", "label=".$bordereau."");
193     $this->clickAndWait("//input[@value='Valider']");
194     $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre bordereau : \n\n".$bordereau." au ".date("d/m/Y"));
195     //
196     $this->click("link=".$bordereau." au ".date("d/m/Y"));
197     $this->waitForPopUp("", "30000");
198     $this->selectPopUp();
199     sleep(5);
200     $this->verifyNoDatabaseError();
201     $this->verifyTextPresent("Edition du ".date("d/m/Y"));
202     $this->close();
203     $this->selectWindow();
204     }
205    
206     //
207 fmichon 1685 $this->logout();
208     }
209    
210 fmichon 1673 }
211    
212     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26