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

Contents of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1824 - (show annotations)
Thu May 2 17:24:21 2013 UTC (11 years, 9 months ago) by vpihour
File size: 9579 byte(s)
Correction du focus sur les bons champs

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("css=#liste_code_barres_instruction:focus", "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("css=#liste_code_barres_instruction:focus", "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("css=#liste_code_barres_instruction:focus", "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_simple_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 0 => array(
149 "id" => "date_envoi_signature",
150 "label" => "date d'envoi pour signature Mairie/Préfet",
151 "date" => "10/04/2013",
152 ),
153 1 => array(
154 "id" => "date_retour_signature",
155 "label" => "date de retour de signature Mairie/Préfet",
156 "date" => "12/04/2013",
157 ),
158 2 => array(
159 "id" => "date_envoi_controle_legalite",
160 "label" => "date d'envoi au contrôle de légalite",
161 "date" => "12/04/2013",
162 ),
163 3 => array(
164 "id" => "date_retour_controle_legalite",
165 "label" => "date de retour de controle de légalite",
166 "date" => "18/04/2013",
167 ),
168 );
169 foreach($dates as $date) {
170 // On vérifie que le titre de la page est correct
171 $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
172 // On saisi les informations de mise à jour de la date
173 $this->select("id=type_mise_a_jour", "label=".$date["label"]."");
174 $this->type("id=date", $date["date"]);
175 $this->type("id=code_barres", "110000000009");
176 // On clique sur le bouton "Valider"
177 $this->clickAndWait("name=validation");
178 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179 $this->verifyNoErrors();
180 // On vérifie que le les informations du dossier sont bien présentes
181 $this->verifyText("id=dossier", "AZ0130551200001P0");
182 $this->verifyText("id=".$date["id"]."", $date["date"]);
183 // On clique sur le bouton "Valider"
184 $this->clickAndWait("name=validation");
185 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
186 $this->verifyNoErrors();
187 // On vérifie que le message de validation est présent
188 $this->verifyTextPresent("Saisie enregistrée");
189 }
190 // On clique sur le logo pour revenir au tableau de bord
191 $this->click("css=span.logo");
192 // On se déconnecte
193 $this->logout();
194
195 // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
196 $this->setSpeed('120');
197 // On se connecte en tant que "instr"
198 $this->login("instr", "instr");
199 // 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
200 $this->type("id=dossier", "AZ0130551200001P0");
201 // On clique sur le bouton "Rechercher" du widget "accès direct" du tableau de bord
202 $this->clickAndWait("name=validation");
203 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
204 $this->verifyNoErrors();
205 // On vérifie que le titre de la page est correct (que nous sommes sur le bon dossier)
206 $this->verifyTextPresent("Instruction > dossiers d'instruction > AZ0130551200001P0");
207 // On clique sur l'onglet "Instruction"
208 $this->click("id=instruction");
209 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210 $this->verifyNoErrors();
211 // On clique sur le lien de l'événement d'instruction n°9
212 $this->click("link=arrete");
213 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
214 $this->verifyNoErrors();
215 // On vérifie que le sous-titre est correct (que nous sommes sur le bon événement d'instruction)
216 $this->verifyTextPresent("Instruction 9");
217 // On boucle sur chaque date pour vérifier que ces dernières sont bien présentes sur l'écran de visualisation de l'événement d'instruction
218 foreach($dates as $date) {
219 //
220 $this->verifyText("id=".$date["id"]."", $date["date"]);
221 }
222 // On clique sur le bouton retour
223 $this->click("css=#sformulaire > a.retour");
224 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
225 $this->verifyNoErrors();
226 // On clique sur le logo pour revenir au tableau de bord
227 $this->click("css=span.logo");
228 // On se déconnecte
229 $this->logout();
230 }
231
232 }
233
234 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26