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

Contents of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1817 - (show annotations)
Thu May 2 15:08:36 2013 UTC (11 years, 9 months ago) by fmichon
File size: 9031 byte(s)
Ajout d'un test sur les mise à jour des dates par la cellule suivi

1 <?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 Suivi extends BaseTestCase {
16
17 /**
18 * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
19 * entrée de menu ne génère pas une erreur de base de données
20 *
21 * Ce test est temporaire, il permet d'effectuer un test grossier sur chacun
22 * des écrans en attendant que l'intégralité des cas d'utilisation soient
23 * testés
24 */
25 public function testGeneral() {
26 //
27 $this->login("suivi", "suivi");
28
29 //
30 $this->clickAndWait("link=Mise à jour des dates");
31 $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
32 $this->verifyNoErrors();
33 //
34 $this->clickAndWait("link=gestion");
35 $this->verifyTextPresent("suivi > commissions > gestion");
36 $this->verifyNoErrors();
37 //
38 $this->clickAndWait("link=demandes");
39 $this->verifyTextPresent("suivi > commissions > demandes");
40 $this->verifyNoErrors();
41
42 //
43 $this->logout();
44 }
45
46 /**
47 * XXX tous les cas d'utilisation ne sont pas testés
48 * Permet de tester la génération de feuillets pour lettre avec accusé de récéption
49 */
50 public function testEnvoiLettreRAR() {
51 //
52 $this->login("suivi", "suivi");
53
54 //
55 $this->clickAndWait("link=envoi lettre RAR");
56 $this->verifyTextPresent("suivi > suivi des pièces > envoi lettre RAR");
57 $this->verifyNoErrors();
58
59 // Vérification sans valeur saisie
60 $this->clickAndWait("//input[@value='Valider']");
61 $this->verifyNoErrors();
62 $this->verifyTextPresent("Tous les champs doivent être remplis.");
63
64 // Vérification avec un numéro non valide
65 $this->type("id=liste_code_barres_instruction", "a");
66 $this->clickAndWait("//input[@value='Valider']");
67 $this->verifyNoErrors();
68 $this->verifyTextPresent("Le code barres d'instruction a n'est pas valide.");
69
70 // Vérification avec un numéro non présent en base
71 $this->type("id=liste_code_barres_instruction", "123");
72 $this->clickAndWait("//input[@value='Valider']");
73 $this->verifyNoErrors();
74 $this->verifyTextPresent("Le numéro 123 ne correspond à aucun code barres d'instruction.");
75
76 // Vérification formulaire valide
77 $this->type("id=liste_code_barres_instruction", "110000000001");
78 $this->clickAndWait("//input[@value='Valider']");
79 $this->verifyNoErrors();
80 $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre document :");
81 $this->verifyTextPresent("Télécharger le document pour 1 RAR");
82 //
83 $this->logout();
84 }
85
86 /**
87 *
88 */
89 public function testBordereaux() {
90 //
91 $this->login("suivi", "suivi");
92
93 //
94 $this->clickAndWait("link=Bordereaux");
95 $this->verifyNoErrors();
96 $this->verifyTextPresent("suivi > suivi des pièces > bordereaux");
97
98 //
99 $this->clickAndWait("//input[@value='Valider']");
100 $this->verifyNoErrors();
101 $this->verifyTextPresent("Veuillez sélectionner un bordereau.");
102
103 //
104 $this->select("id=bordereau", "label=Bordereau d'envoi des avis du Maire au Préfet");
105 $this->click("id=date_bordereau");
106 $this->type("id=date_bordereau", "");
107 $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());
108 $this->clickAndWait("//input[@value='Valider']");
109 $this->verifyNoErrors();
110 $this->verifyTextPresent("Veuillez saisir une date valide.");
111
112 //
113 $bordereaux = array(
114 "Bordereau d'envoi des avis du Maire au Préfet",
115 "Bordereau d'envoi des contrôles de légalité",
116 "Bordereau d'envoi de courriers signature Maire",
117 "Bordereau d'envoi des décisions",
118 );
119 foreach ($bordereaux as $bordereau) {
120 //
121 $this->select("id=bordereau", "label=".$bordereau."");
122 $this->clickAndWait("//input[@value='Valider']");
123 $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre bordereau : \n\n".$bordereau." au ".date("d/m/Y"));
124 //
125 $this->click("link=".$bordereau." au ".date("d/m/Y"));
126 $this->waitForPopUp("", "30000");
127 $this->selectPopUp();
128 sleep(5);
129 $this->verifyNoErrors();
130 $this->verifyTextPresent("Edition du ".date("d/m/Y"));
131 $this->close();
132 $this->selectWindow();
133 }
134
135 //
136 $this->logout();
137 }
138
139 public function test_20_mise_a_jour_des_dates_par_la_cellule_suivi() {
140 // On se connecte en tant que "suivi"
141 $this->login("suivi", "suivi");
142 // On clique sur le lien "Mise à jour des dates" dans le menu
143 $this->clickAndWait("link=Mise à jour des dates");
144 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145 $this->verifyNoErrors();
146 //
147 $dates = array(
148 //
149 0 => array(
150 "id" => "date_envoi_signature",
151 "label" => "date d'envoi pour signature Mairie/Préfet",
152 "date" => "10/04/2013",
153 ),
154 1 => array(
155 "id" => "date_retour_signature",
156 "label" => "date de retour de signature Mairie/Préfet",
157 "date" => "12/04/2013",
158 ),
159 );
160 //
161 foreach($dates as $date) {
162 // On vérifie que le titre de la page est correct
163 $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
164 // On saisi les informations de mise à jour de la date
165 $this->select("id=type_mise_a_jour", "label=".$date["label"]."");
166 $this->type("id=date", $date["date"]);
167 $this->type("id=code_barres", "110000000009");
168 // On clique sur le bouton "Valider"
169 $this->clickAndWait("name=validation");
170 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
171 $this->verifyNoErrors();
172 // On vérifie que le les informations du dossier sont bien présentes
173 $this->verifyText("id=dossier", "AZ0130551200001P0");
174 $this->verifyText("id=".$date["id"]."", $date["date"]);
175 // On clique sur le bouton "Valider"
176 $this->clickAndWait("name=validation");
177 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
178 $this->verifyNoErrors();
179 // On vérifie que le message de validation est présent
180 $this->verifyTextPresent("Saisie enregistrée");
181 }
182 // On clique sur le logo pour revenir au tableau de bord
183 $this->click("css=span.logo");
184 // On se déconnecte
185 $this->logout();
186
187 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
188 $this->setSpeed('120');
189 // On se connecte en tant que "instr"
190 $this->login("instr", "instr");
191 // On saisit le numéro de dossier "AZ0130551200001P0" dans le champ de recherche du widget "accès direct" du tableau de bord qui possède le focus
192 $this->type("id=dossier", "AZ0130551200001P0");
193 // On clique sur le bouton "Rechercher" du widget "accès direct" du tableau de bord
194 $this->clickAndWait("name=validation");
195 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
196 $this->verifyNoErrors();
197 // On vérifie que le titre de la page est correct (que nous sommes sur le bon dossier)
198 $this->verifyTextPresent("Instruction > dossiers d'instruction > AZ0130551200001P0");
199 // On clique sur l'onglet "Instruction"
200 $this->click("id=instruction");
201 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202 $this->verifyNoErrors();
203 // On clique sur le lien de l'événement d'instruction n°9
204 $this->click("link=arrete");
205 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
206 $this->verifyNoErrors();
207 // On vérifie que le sous-titre est correct (que nous sommes sur le bon événement d'instruction)
208 $this->verifyTextPresent("Instruction 9");
209 //
210 $this->verifyText("id=date_envoi_signature", "10/04/2013");
211 $this->verifyText("id=date_retour_signature", "12/04/2013");
212 // On clique sur le bouton retour
213 $this->click("css=#sformulaire > a.retour");
214 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
215 $this->verifyNoErrors();
216 // On clique sur le logo pour revenir au tableau de bord
217 $this->click("css=span.logo");
218 // On se déconnecte
219 $this->logout();
220 }
221
222 }
223
224 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26