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

Contents of /trunk/tests/testInstruction.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2088 - (show annotations)
Tue Jul 16 09:30:30 2013 UTC (11 years, 6 months ago) by nhaye
File size: 15820 byte(s)
Ajout de tests d'ajout de lots

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 Instruction extends Base2TestCase {
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 public function test_01_ouverture_de_chaque_ecran_par_l_instructeur() {
22 //
23 $this->login("instr", "instr");
24 //
25 $this->byLinkText("Mes Encours")->click();
26 $this->verifyNoErrors();
27 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
28 //
29 $this->byLinkText("Tous Les Encours")->click();
30 $this->verifyNoErrors();
31 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
32 //
33 $this->byLinkText("Mes Clôturés")->click();
34 $this->verifyNoErrors();
35 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
36 //
37 $this->byLinkText("Tous Les Clôturés")->click();
38 $this->verifyNoErrors();
39 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
40 //
41 $this->byLinkText("Recherche")->click();
42 $this->verifyNoErrors();
43 $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
44 //
45 $this->byLinkText("Dossiers À Qualifier")->click();
46 $this->verifyNoErrors();
47 $this->assertEquals("dossier", $this->byCssSelector(".firstcol .name a")->text());
48 //
49 $this->byLinkText("Mes Retours")->click();
50 $this->verifyNoErrors();
51 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
52 //
53 $this->byLinkText("Tous Les Retours")->click();
54 $this->verifyNoErrors();
55 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
56 //
57 $this->byLinkText("Mes Messages")->click();
58 $this->verifyNoErrors();
59 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
60 //
61 $this->byLinkText("Tous Les Messages")->click();
62 $this->verifyNoErrors();
63 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
64 //
65 $this->byCssSelector("a.commission_mes_retours-16")->click();
66 $this->verifyNoErrors();
67 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
68 //
69 $this->byCssSelector("a.commission_tous_retours-16")->click();
70 $this->verifyNoErrors();
71 $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
72
73 //
74 $this->logout();
75 }
76
77 /**
78 *
79 */
80 public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
81
82 // On se connecte en tant que "instr"
83 $this->login("instr", "instr");
84 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85 $this->verifyNoErrors();
86 // On clique sur le lien "Mes encours" dans le menu
87 $this->byLinkText("Mes Encours")->click();
88 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
89 $this->verifyNoErrors();
90 // On clique sur le lien "AZ0130551200001P0" dans le tableau
91 $this->byLinkText("AZ0130551200001P0")->click();
92 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
93 $this->verifyNoErrors();
94 // On vérifie que le breadcrumb est correct
95 $this->assertEquals("AZ0130551200001P0", $this->byId("dossier")->text());
96 // On clique sur l'onglet "Instruction"
97 $this->byId("instruction")->click();
98 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
99 $this->verifyNoErrors();
100 // On clique sur l'onglet "Consultation(s)"
101 $this->byId("consultation")->click();
102 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103 $this->verifyNoErrors();
104 // On clique sur l'onglet "Lot(s)"
105 $this->byId("lot")->click();
106 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
107 $this->verifyNoErrors();
108 // On clique sur l'onglet "Message(s)"
109 $this->byId("dossier_message")->click();
110 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
111 $this->verifyNoErrors();
112 // On clique sur l'onglet "Commission(s)"
113 $this->byId("dossier_commission")->click();
114 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
115 $this->verifyNoErrors();
116 // On clique sur l'onglet "Bloc-note"
117 $this->byId("blocnote")->click();
118 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
119 $this->verifyNoErrors();
120 // On clique sur l'onglet "DA"
121 $this->byId("dossier_autorisation")->click();
122 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123 $this->verifyNoErrors();
124 // On clique sur le lien "AZ0130551200001" dans le tableau
125 $this->byLinkText("AZ0130551200001")->click();
126 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
127 $this->verifyNoErrors();
128 // On vérifie que le breadcrumb est correct
129 $this->assertEquals("AZ0130551200001", $this->byCssSelector(".form-content #dossier_autorisation")->text());
130 // On clique sur l'onglet "Dossier(s) d'instruction"
131 $this->byId("dossier_instruction")->click();
132 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
133 $this->verifyNoErrors();
134 // On clique sur le lien "AZ0130551200001P0" dans le tableau
135 $this->byLinkText("AZ0130551200001P0")->click();
136 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137 $this->verifyNoErrors();
138 // On vérifie que le breadcrumb est correct
139 $this->assertEquals("AZ0130551200001P0", $this->byId("dossier")->text());
140 // On se déconnecte
141 $this->logout();
142 }
143
144 /**
145 *
146 */
147 public function test_03_informations_du_widget_profil_instructeur() {
148 // On se connecte en tant que "instr"
149 $this->login("instr", "instr");
150 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
151 $this->verifyNoErrors();
152 // On vérifie que le titre du widget est correct
153 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
154 // On vérifie que le nom de l'instructeur affiché est le bon
155 $this->assertEquals("Louis Laurent", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
156 // On vérifie que la division de l'instructeur affichée est la bonne
157 $this->assertEquals("H", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
158 // On se déconnecte
159 $this->byLinkText("Déconnexion")->click();
160 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
161 $this->verifyNoErrors();
162 // On se connecte en tant que "instr"
163 $this->login("instr1", "instr");
164 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
165 $this->verifyNoErrors();
166 // On vérifie que le titre du widget est correct
167 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
168 // On vérifie que le nom de l'instructeur affiché est le bon
169 $this->assertEquals("Martine Nadeau", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
170 // On vérifie que la division de l'instructeur affichée est la bonne
171 $this->assertEquals("H", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
172 // On se déconnecte
173 $this->byLinkText("Déconnexion")->click();
174 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
175 $this->verifyNoErrors();
176 // On se connecte en tant que "instr"
177 $this->login("instr2", "instr");
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 titre du widget est correct
181 $this->assertEquals("Profil instructeur", $this->byCssSelector("#widget_2 .widget-header h3")->text());
182 // On vérifie que le nom de l'instructeur affiché est le bon
183 $this->assertEquals("Roland Richard", $this->byCssSelector("div.instructeur-infos-nom > span.value")->text());
184 // On vérifie que la division de l'instructeur affichée est la bonne
185 $this->assertEquals("J", $this->byCssSelector("div.instructeur-infos-division > span.value")->text());
186 // On se déconnecte
187 $this->logout();
188 }
189
190 /**
191 * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
192 */
193 public function test_04_ajout_instructions_par_instructeur() {
194
195
196 // On se connecte en tant que "instr"
197 $this->login("instr", "instr");
198 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
199 $this->verifyNoErrors();
200 // On clique sur le lien "Mes encours" dans le menu
201 $this->byLinkText("Mes Encours")->click();
202 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
203 $this->verifyNoErrors();
204 // On clique sur le lien "AZ0130551200001P0" dans le tableau
205 $this->byLinkText("DP0130551200001P0")->click();
206 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
207 $this->verifyNoErrors();
208 // On clique sur l'onglet "Instruction"
209 $this->byId("instruction")->click();
210 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211 $this->verifyNoErrors();
212 //Ajout d'une instruction simple
213 // On clique sur le lien d'ajout dans le tableau
214 $this->byCssSelector(".actions-max-1 a")->click();
215 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
216 $this->verifyNoErrors();
217 //On choisi un événement
218 $this->select($this->byId("evenement"))->selectOptionByValue("22");
219 //On valide le formulaire
220 $this->byXPath("//input[@value='Ajouter']")->click();
221 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222 $this->verifyNoErrors();
223 sleep(1);
224 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
225 //On retourne sur le tableau d'instructions
226 $this->byCssSelector("#sousform-instruction .retour")->click();
227 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228 $this->verifyNoErrors();
229 //On affiche l'instruction
230 $this->byLinkText("CDEC majoration appel decision")->click();
231 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
232 $this->verifyNoErrors();
233 //On vérifie que certains champs n'apparaissent pas
234 $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
235 $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
236 //On retourne sur le tableau d'instructions
237 $this->byCssSelector("#sousform-instruction .retour")->click();
238 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
239 $this->verifyNoErrors();
240 //Ajout d'une instruction de type arrêté
241 // On clique sur le lien d'ajout dans le tableau
242 $this->byCssSelector(".actions-max-1 a")->click();
243 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
244 $this->verifyNoErrors();
245 //On choisi un événement
246 $this->select($this->byId("evenement"))->selectOptionByValue("81");
247 //On valide le formulaire
248 $this->byXPath("//input[@value='Ajouter']")->click();
249 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
250 $this->verifyNoErrors();
251 sleep(1);
252 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
253 //On retourne sur le tableau d'instructions
254 $this->byCssSelector("#sousform-instruction .retour")->click();
255 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
256 $this->verifyNoErrors();
257 //On affiche l'instruction
258 $this->byLinkText("accepter un dossier sans réserve")->click();
259 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
260 $this->verifyNoErrors();
261 //On vérifie que certains champs apparaissent
262 $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
263 $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
264 // On se déconnecte
265 $this->logout();
266 }
267
268 /**
269 * Test le formulaire de la demande de type qui possède des select filtrés
270 */
271 public function test_05_ajout_lot() {
272 // On se connecte en tant que "instr"
273 $this->login("instr", "instr");
274 // On clique sur le lien "Mes encours" dans le menu
275 $this->byLinkText("Mes Encours")->click();
276 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
277 $this->verifyNoErrors();
278 // On clique sur le lien "AZ0130551200001P0" dans le tableau
279 $this->byLinkText("AZ0130551200001P0")->click();
280 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
281 $this->verifyNoErrors();
282 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283 $this->verifyNoErrors();
284 // On clique sur l'onglet "Lot(s)"
285 $this->byId("lot")->click();
286 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
287 $this->verifyNoErrors();
288 // On clique sur le bouton d'ajout de lots
289 $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
290 // Vérification des champs obligatoires
291 $this->byXPath("//input[@value='Ajouter']")->click();
292 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
293 $this->verifyNoErrors();
294 // On vérifie que le message de champ vide soit affiché
295 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
296 // Insertion d'un lot
297 $this->byId("libelle")->value("Lot n°1");
298 $this->byXPath("//input[@value='Ajouter']")->click();
299 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
300 $this->verifyNoErrors();
301 // On retourne sur le tableau listant les lots
302 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
303 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
304 $this->verifyNoErrors();
305 // On clique sur le bouton d'ajout de lots
306 $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
307 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308 $this->verifyNoErrors();
309 // Insertion d'un second lot
310 $this->byId("libelle")->value("Lot n°2");
311 $this->byXPath("//input[@value='Ajouter']")->click();
312 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
313 $this->verifyNoErrors();
314 // On retourne sur le tableau listant les lots
315 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
316 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
317 $this->verifyNoErrors();
318 }
319 }
320
321 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26