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

Contents of /trunk/tests/testFinalisationDocuments.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3387 - (show annotations)
Fri Apr 3 13:43:43 2015 UTC (9 years, 10 months ago) by softime
File size: 22106 byte(s)
* Correction des tests après l'amélioration des actions de rapport_instruction.
1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testFinalisationDocuments.php
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Test de la finalisatiotn des documents.
14 */
15 class FinalisationDocuments extends Base2TestCase {
16
17 /**
18 * Test de la finalisation du rapport d'instruction par un instructeur pour le
19 * dossier PC0130551200001.
20 */
21 function testFinalisationRapportInstruction(){
22
23 // On se connecte en tant que "instr"
24 $this->login("instr", "instr");
25 // On clique sur le menu des encours
26 $this->byLinkText("Mes Encours")->click();
27 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
28 $this->verifyNoErrors();
29 // On clique sur le dossier PC0130551200001
30 $this->byLinkText("PC 013055 12 00002P0")->click();
31 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
32 $this->verifyNoErrors();
33 // On clique sur le lien "Rapport d'instruction" dans le portlet d'action
34 $this->byId("action-form-dossier_instruction_mes_encours-rapport_instruction")->click();
35 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
36 $this->verifyNoErrors();
37 // On valide le rapport d'instruction
38 $this->byXPath("//input[@value='Ajouter']")->click();
39 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
40 $this->verifyNoErrors();
41 // On vérifie que le rapport d'instruction s'est bien ajouté
42 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
43 // On clique sur retour
44 $this->byCssSelector("#sousform-rapport_instruction form a.retour")->click();
45 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
46 $this->verifyNoErrors();
47 // On clique sur le lien "Rapport d'instruction" dans le portlet d'action
48 $this->byId("action-form-dossier_instruction_mes_encours-rapport_instruction")->click();
49 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
50 $this->verifyNoErrors();
51 // On finalise le document
52 $this->byId("action-sousform-rapport_instruction-finalise")->click();
53 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
54 $this->verifyNoErrors();
55 // On vérifie le message de validation
56 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
57 // On vérifie que le lien de finalisation a disparu
58 try {
59 $el = $this->byId("action-sousform-rapport_instruction-finalise");
60 $this->fail('Cet élément ne devrait pas exister.');
61 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
62 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
63 }
64 //On vérifie que l'action de modification n'existe plus
65 try {
66 $el = $this->byId("action-sousform-rapport_instruction-modifier");
67 $this->fail('Cet élément ne devrait pas exister.');
68 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
69 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
70 }
71 // On vérifie que le lien de dé-finalisation est apparu
72 $this->assertTrue($this->byId("action-sousform-rapport_instruction-definalise")->displayed());
73 $this->assertEquals("Reprendre la rédaction du document", $this->byId("action-sousform-rapport_instruction-definalise")->text());
74 // On clique sur l'édition
75 $this->byId("action-sousform-rapport_instruction-edition")->click();
76 // Liste les fenêtres
77 $windows = $this->windowHandles();
78 // Change la fenêtre
79 $this->window($windows[1]);
80 // On vérifie qu'il n'y ait pas d'erreur
81 $this->verifynoerrors();
82 // On vérifie que le lien de l'édition a changé
83 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/', $this->url());
84 $this->closeWindow();
85 // On change le focus de la fenêtre
86 $this->window($windows[0]);
87 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
88 // du document
89 $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a")->click();
90 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
91 $this->verifyNoErrors();
92 // On vérifie le message de validation
93 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
94 // On vérifie que le lien de dé-finalisation a disparu
95 try {
96 $el = $this->byId("action-sousform-rapport_instruction-definalise");
97 $this->fail('Cet élément ne devrait pas exister.');
98 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
99 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
100 }
101 // On vérifie que le lien de modification est apparu
102 $this->assertTrue($this->byCssSelector("#sousform-rapport_instruction .edit-16")->displayed());
103 // On vérifie que le lien de finalisation est apparu
104 $this->assertTrue($this->byId("action-sousform-rapport_instruction-finalise")->displayed());
105 $this->assertEquals("Finaliser le document", $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(3) a span.finalise")->text());
106 // On clique sur l'édition
107 $this->byId("action-sousform-rapport_instruction-edition")->click();
108 // Liste les fenêtres
109 $windows = $this->windowHandles();
110 // Change la fenêtre
111 $this->window($windows[1]);
112 // On vérifie qu'il n'y ait pas d'erreur
113 $this->verifynoerrors();
114 // On vérifie que le lien de l'édition a changé
115 $this->assertRegExp('/^[\s\S]*scr\/sousform\.php[\s\S]*$/', $this->url());
116 $this->closeWindow();
117 // On change le focus de la fenêtre
118 $this->window($windows[0]);
119 //On ferme l'overlay
120 $this->byCssSelector(".ui-dialog-titlebar a.ui-dialog-titlebar-close")->click();
121 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
122 $this->verifyNoErrors();
123 // On se déconnecte de l'application
124 $this->logout();
125 }
126
127 /**
128 * Test de la finalisation du document lors de l'ajout d'une consultation par un
129 * instructeur pour le dossier PC 013055 12 00002P0.
130 */
131 function testFinalisationAjoutConsultation(){
132
133 // On se connecte en tant que "instr"
134 $this->login("instr", "instr");
135 // On clique sur le menu des encours
136 $this->byLinkText("Mes Encours")->click();
137 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
138 $this->verifyNoErrors();
139 // On clique sur le dossier PC0130551200001
140 $this->byLinkText("PC 013055 12 00002P0")->click();
141 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
142 $this->verifyNoErrors();
143 // On clique sur l'onglet consultation
144 $this->byId("consultation")->click();
145 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
146 $this->verifyNoErrors();
147 // On clique sur le + pour ajouter une consultation
148 $this->byCssSelector("#sousform-consultation .actions-max-2 a")->click();
149 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
150 $this->verifyNoErrors();
151 // On choisi le service "Atelier du Patrimoine"
152 $this->select($this->byId("service"))->selectOptionByValue("2");
153 // On clique sur le bouton ajouter
154 $this->byXPath("//input[@value='Ajouter']")->click();
155 sleep(1);
156 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
157 $this->verifyNoErrors();
158 // On vérifie que la consultation a bien été ajoutée
159 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
160 // On clique sur retour
161 $this->byCssSelector("#sousform-consultation form a.retour")->click();
162 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163 $this->verifyNoErrors();
164 // On clique sur la consultation
165 $this->byLinkText("Atelier du Patrimoine")->click();
166 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
167 $this->verifyNoErrors();
168 // On vérifie le lien de l'édition
169 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(1) a")->attribute("href"));
170 //On vérifie que le lien de finalisation n'est pas apparu
171 try {
172 $el = $this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(2) a span.finalise");
173 $this->fail('Cet élément ne devrait pas exister.');
174 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
175 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
176 }
177 //On vérifie que le lien de définalisation est apparu
178 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(2) a span.definalise")->displayed());
179 //On définalise
180 $this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(2) a")->click();
181 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
182 $this->verifyNoErrors();
183 // On vérifie le message de validation
184 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());
185 // On vérifie que le lien de dé-finalisation a disparu
186 try {
187 $el = $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise");
188 $this->fail('Cet élément ne devrait pas consultation.');
189 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
190 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
191 }
192 //On vérifie que le lien de suppression est apparu
193 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list .delete-16")->displayed());
194 //On vérifie que l'action de modification n'est pas apparu
195 try {
196 $el = $this->byCssSelector("#sousform-consultation .edit-16");
197 $this->fail('Cet élément ne devrait pas exister.');
198 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
199 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
200 }
201 //On vérifie que le lien de finalisation est apparu
202 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list a span.finalise")->displayed());
203 // On se déconnecte de l'application
204 $this->logout();
205 }
206
207 /**
208 * Test de la finalisation du document d'une instruction par un instructeur pour
209 * le dossier PC 013055 12 00002P0.
210 */
211 function testFinalisationInstruction(){
212
213 // On se connecte en tant que "instr"
214 $this->login("instr", "instr");
215 // On clique sur le menu des encours
216 $this->byLinkText("Mes Encours")->click();
217 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
218 $this->verifyNoErrors();
219 // On clique sur le dossier PC0130551200001
220 $this->byLinkText("PC 013055 12 00002P0")->click();
221 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
222 $this->verifyNoErrors();
223 //Ralenti l'exécution du script pour permettre au JS de se charger
224 $this->byId("instruction")->click();
225 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
226 $this->verifyNoErrors();
227 // On clique sur le + pour ajouter une instruction
228 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
229 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
230 $this->verifyNoErrors();
231 // On choisi l'événement "adjoint [majoration]"
232 $this->select($this->byId("evenement"))->selectOptionByValue("62");
233 // On clique sur le bouton ajouter
234 $this->byXPath("//input[@value='Ajouter']")->click();
235 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
236 $this->verifyNoErrors();
237 // On vérifie que l'instruction s'est bien ajouté
238 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
239 // On clique sur le bouton retour
240 $this->byCssSelector("#sousform-instruction form a.retour")->click();
241 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242 $this->verifyNoErrors();
243 // On clique sur l'instruction nouvellement créée
244 $this->byLinkText("adjoint")->click();
245 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246 $this->verifyNoErrors();
247 // On vérifie que le lien de finalisation est apparu
248 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a span.finalise")->displayed());
249 $this->assertEquals("Finaliser le document", $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a span.finalise")->text());
250 // On vérifie que le lien de l'édition a changé
251 $this->assertRegExp('/^[\s\S]*app\/pdf_instruction\.php[\s\S]*$/',$this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a")->attribute("href"));
252 // On finalise le document
253 $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a")->click();
254 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
255 $this->verifyNoErrors();
256 // On vérifie le message de validation
257 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
258 // On vérifie que le lien de finalisation a disparu
259 try {
260 $el = $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a span.finalise");
261 $this->fail('Cet élément ne devrait pas exister.');
262 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
263 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
264 }
265 // On vérifie que le lien de modification a disparu
266 try {
267 $el = $this->byCssSelector("#sousform-instruction .portlet-list edit-16");
268 $this->fail('Cet élément ne devrait pas exister.');
269 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
270 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
271 }
272 // On vérifie que le lien de dé-finalisation est apparu
273 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise")->displayed());
274 $this->assertEquals("Reprendre la rédaction du document", $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise")->text());
275 // On vérifie que le lien de l'édition a changé
276 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(1) a")->attribute("href"));
277 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
278 // du document
279 $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a")->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 le message de validation
283 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
284 // On vérifie que le lien de dé-finalisation a disparu
285 try {
286 $el = $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise");
287 $this->fail('Cet élément ne devrait pas exister.');
288 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
289 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
290 }
291 //On vérifie que le lien de modification est apparu
292 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list .edit-16")->displayed());
293 //On se déconnecte de l'application
294 $this->logout();
295 }
296
297 /**
298 * Test de la finalisation du compte rendu et de l'ordre du jour d'une commission
299 * par la cellule suivi sur le dossier PC 013055 12 00002P0.
300 */
301 function testFinalisationCommission(){
302
303 // On se connecte en tant que "instr"
304 $this->login("instr", "instr");
305 // On clique sur le menu des encours
306 $this->byLinkText("Mes Encours")->click();
307 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308 $this->verifyNoErrors();
309 // On clique sur le dossier PC0130551200001
310 $this->byLinkText("PC 013055 12 00002P0")->click();
311 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
312 $this->verifyNoErrors();
313 // On clique sur l'onglet commission
314 $this->byId("dossier_commission")->click();
315 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
316 $this->verifyNoErrors();
317 // On clique sur le + pour ajouter une commission
318 $this->byCssSelector("#sousform-dossier_commission .actions-max-1 a")->click();
319 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
320 $this->verifyNoErrors();
321 // On choisi le type de commission "Commission Technique d'Urbanisme"
322 $this->select($this->byId("commission_type"))->selectOptionByValue("1");
323 // On clique sur le bouton ajouter
324 $this->byXPath("//input[@value='Ajouter']")->click();
325 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
326 $this->verifyNoErrors();
327 // On vérifie que l'instruction s'est bien ajouté
328 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-dossier_commission .message .text")->text());
329 //On se déconnecte de l'application
330 $this->deconnect();
331
332
333 // On se connecte en tant que "suivi"
334 $this->login("suivi", "suivi");
335 // On clique sur le menu gestion
336 $this->byLinkText("Gestion")->click();
337 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
338 $this->verifyNoErrors();
339 // On clique sur la commission numéro 1
340 $this->byLinkText("1")->click();
341 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
342 $this->verifyNoErrors();
343 //Mise à jour de la liste de diffusion
344 $this->byCssSelector(".portlet-list li:nth-child(1) a")->click();
345 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
346 $this->verifyNoErrors();
347 $this->byId("listes_de_diffusion")->clear();
348 $this->byId("listes_de_diffusion")->value("[email protected]");
349 $this->byXPath("//input[@value='Modifier']")->click();
350 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
351 $this->verifyNoErrors();
352 // On vérifie que la commission s'est bien mise à jour
353 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
354 //On clique sur le lien retour
355 $this->byLinkText("Retour")->click();
356 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
357 $this->verifyNoErrors();
358 //On clique sur la diffusion de l'ordre du jour
359 $this->byCssSelector(".portlet-list li:nth-child(3) a")->click();
360 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
361 $this->verifyNoErrors();
362 //On vérifie que l'ordre du jour s'est bien envoyé
363 $this->assertRegExp('/.*La diffusion de l\'ordre du jour s\'est effectuée avec succès.*/', $this->byCssSelector(".message span.text")->text());
364 // On vérifie que le lien de l'édition a changé
365 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list li:nth-child(6) a")->attribute("href"));
366 // On clique sur la diffusion du compte rendu
367 $this->byCssSelector(".portlet-list li:nth-child(4) a")->click();
368 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
369 $this->verifyNoErrors();
370 //On vérifie que le compte rendu s'est bien envoyé
371 $this->assertRegExp('/.*La diffusion du compte-rendu s\'est effectuée avec succès.*/', $this->byCssSelector(".message span.text")->text());
372 // On vérifie que le lien de l'édition a changé
373 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list li:nth-child(7) a")->attribute("href"));
374 //On se déconnecte de l'application
375 $this->logout();
376 }
377 }

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26