/[openfoncier]/branches/3.14.x/tests/testFinalisationDocuments.php
ViewVC logotype

Contents of /branches/3.14.x/tests/testFinalisationDocuments.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3568 - (show annotations)
Thu Jul 9 10:06:30 2015 UTC (9 years, 6 months ago) by softime
File size: 21218 byte(s)
* Correction du HTML des actions après l'utilisation de la fonction "finaliser".
* Correction des tests.
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-finalisation")->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-finalisation");
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->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a span.definalise")->displayed());
73 $this->assertEquals("Reprendre la rédaction du document", $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a span.definalise")->text());
74 // On vérifie que le lien de l'édition a changé
75 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/', $this->byId("action-sousform-rapport_instruction-edition")->attribute("href"));
76 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
77 // du document
78 $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a")->click();
79 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
80 $this->verifyNoErrors();
81 // On vérifie le message de validation
82 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
83 // On vérifie que le lien de dé-finalisation a disparu
84 try {
85 $el = $this->byCssSelector("#sousform-rapport_instruction .portlet-list span.definalise");
86 $this->fail('Cet élément ne devrait pas exister.');
87 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
88 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
89 }
90 // On vérifie que le lien de modification est apparu
91 $this->assertTrue($this->byCssSelector("#sousform-rapport_instruction .edit-16")->displayed());
92 // On vérifie que le lien de finalisation est apparu
93 $this->assertTrue($this->byCssSelector("#action-sousform-rapport_instruction-finalisation")->displayed());
94 $this->assertEquals("Finaliser le document", $this->byCssSelector("#action-sousform-rapport_instruction-finalisation span")->text());
95 // On vérifie que le lien de l'édition a changé
96 $this->assertRegExp('/^[\s\S]*pdf\/pdfetat\.php[\s\S]*$/', $this->byId("action-sousform-rapport_instruction-edition")->attribute("href"));
97 //On ferme l'overlay
98 $this->byCssSelector(".ui-dialog-titlebar a.ui-dialog-titlebar-close")->click();
99 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
100 $this->verifyNoErrors();
101 // On se déconnecte de l'application
102 $this->logout();
103 }
104
105 /**
106 * Test de la finalisation du document lors de l'ajout d'une consultation par un
107 * instructeur pour le dossier PC 013055 12 00002P0.
108 */
109 function testFinalisationAjoutConsultation(){
110
111 // On se connecte en tant que "instr"
112 $this->login("instr", "instr");
113 // On clique sur le menu des encours
114 $this->byLinkText("Mes Encours")->click();
115 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
116 $this->verifyNoErrors();
117 // On clique sur le dossier PC0130551200001
118 $this->byLinkText("PC 013055 12 00002P0")->click();
119 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
120 $this->verifyNoErrors();
121 // On clique sur l'onglet consultation
122 $this->byId("consultation")->click();
123 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
124 $this->verifyNoErrors();
125 // On clique sur le + pour ajouter une consultation
126 $this->byCssSelector("#sousform-consultation .actions-max-2 a")->click();
127 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
128 $this->verifyNoErrors();
129 // On choisi le service "Atelier du Patrimoine"
130 $this->select($this->byId("service"))->selectOptionByValue("2");
131 // On clique sur le bouton ajouter
132 $this->byXPath("//input[@value='Ajouter']")->click();
133 sleep(1);
134 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
135 $this->verifyNoErrors();
136 // On vérifie que la consultation a bien été ajoutée
137 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
138 // On clique sur retour
139 $this->byCssSelector("#sousform-consultation form a.retour")->click();
140 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
141 $this->verifyNoErrors();
142 // On clique sur la consultation
143 $this->byLinkText("Atelier du Patrimoine")->click();
144 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145 $this->verifyNoErrors();
146 // On vérifie le lien de l'édition
147 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#action-sousform-consultation-pdfetat")->attribute("href"));
148 //On vérifie que le lien de finalisation n'est pas apparu
149 try {
150 $el = $this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(2) a span.finalise");
151 $this->fail('Cet élément ne devrait pas exister.');
152 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
153 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
154 }
155 //On vérifie que le lien de définalisation est apparu
156 $this->assertTrue($this->byCssSelector("#action-sousform-consultation-definalisation")->displayed());
157 //On définalise
158 $this->byCssSelector("#action-sousform-consultation-definalisation")->click();
159 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
160 $this->verifyNoErrors();
161 // On vérifie le message de validation
162 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());
163 // On vérifie que le lien de dé-finalisation a disparu
164 try {
165 $el = $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise");
166 $this->fail('Cet élément ne devrait pas consultation.');
167 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
168 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
169 }
170 //On vérifie que le lien de suppression est apparu
171 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list .delete-16")->displayed());
172 //On vérifie que l'action de modification est apparu
173 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list .edit-16")->displayed());
174 //On vérifie que le lien de finalisation est apparu
175 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list a span.finalise")->displayed());
176 // On se déconnecte de l'application
177 $this->logout();
178 }
179
180 /**
181 * Test de la finalisation du document d'une instruction par un instructeur pour
182 * le dossier PC 013055 12 00002P0.
183 */
184 function testFinalisationInstruction(){
185
186 // On se connecte en tant que "instr"
187 $this->login("instr", "instr");
188 // On clique sur le menu des encours
189 $this->byLinkText("Mes Encours")->click();
190 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
191 $this->verifyNoErrors();
192 // On clique sur le dossier PC0130551200001
193 $this->byLinkText("PC 013055 12 00002P0")->click();
194 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
195 $this->verifyNoErrors();
196 //Ralenti l'exécution du script pour permettre au JS de se charger
197 $this->byId("instruction")->click();
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 + pour ajouter une instruction
201 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
202 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
203 $this->verifyNoErrors();
204 // On choisi l'événement "adjoint [majoration]"
205 $this->select($this->byId("evenement"))->selectOptionByValue("62");
206 // On clique sur le bouton ajouter
207 $this->byXPath("//input[@value='Ajouter']")->click();
208 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
209 $this->verifyNoErrors();
210 // On vérifie que l'instruction s'est bien ajouté
211 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
212 // On clique sur le bouton retour
213 $this->byCssSelector("#sousform-instruction form a.retour")->click();
214 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
215 $this->verifyNoErrors();
216 // On clique sur l'instruction nouvellement créée
217 $this->byLinkText("adjoint")->click();
218 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
219 $this->verifyNoErrors();
220 // On vérifie que le lien de finalisation est apparu
221 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list span.finalise")->displayed());
222 $this->assertEquals("Finaliser le document", $this->byCssSelector("#sousform-instruction .portlet-list span.finalise")->text());
223 // On vérifie que le lien de l'édition a changé
224 $this->assertRegExp('/^[\s\S]*app\/pdf_instruction\.php[\s\S]*$/',$this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-pdfetat")->attribute("href"));
225 // On finalise le document
226 $this->byCssSelector("#sousform-instruction .portlet-list a span.finalise")->click();
227 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228 $this->verifyNoErrors();
229 // On vérifie le message de validation
230 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
231 // On vérifie que le lien de finalisation a disparu
232 try {
233 $el = $this->byCssSelector("#sousform-instruction .portlet-list a span.finalise");
234 $this->fail('Cet élément ne devrait pas exister.');
235 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
236 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
237 }
238 // On vérifie que le lien de modification a disparu
239 try {
240 $el = $this->byCssSelector("#sousform-instruction .portlet-list edit-16");
241 $this->fail('Cet élément ne devrait pas exister.');
242 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
243 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
244 }
245 // On vérifie que le lien de dé-finalisation est apparu
246 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise")->displayed());
247 $this->assertEquals("Reprendre la rédaction du document", $this->byCssSelector("#sousform-instruction .portlet-list a span.definalise")->text());
248 // On vérifie que le lien de l'édition a changé
249 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#sousform-instruction .portlet-list a#action-sousform-instruction-pdfetat")->attribute("href"));
250 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
251 // du document
252 $this->byCssSelector("#sousform-instruction .portlet-list a span.definalise")->click();
253 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254 $this->verifyNoErrors();
255 // On vérifie le message de validation
256 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
257 // On vérifie que le lien de dé-finalisation a disparu
258 try {
259 $el = $this->byCssSelector("#sousform-instruction .portlet-list a span.definalise");
260 $this->fail('Cet élément ne devrait pas exister.');
261 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
262 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
263 }
264 //On vérifie que le lien de modification est apparu
265 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list .edit-16")->displayed());
266 //On se déconnecte de l'application
267 $this->logout();
268 }
269
270 /**
271 * Test de la finalisation du compte rendu et de l'ordre du jour d'une commission
272 * par la cellule suivi sur le dossier PC 013055 12 00002P0.
273 */
274 function testFinalisationCommission(){
275
276 // On se connecte en tant que "instr"
277 $this->login("instr", "instr");
278 // On clique sur le menu des encours
279 $this->byLinkText("Mes Encours")->click();
280 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
281 $this->verifyNoErrors();
282 // On clique sur le dossier PC0130551200001
283 $this->byLinkText("PC 013055 12 00002P0")->click();
284 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285 $this->verifyNoErrors();
286 // On clique sur l'onglet commission
287 $this->byId("dossier_commission")->click();
288 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
289 $this->verifyNoErrors();
290 // On clique sur le + pour ajouter une commission
291 $this->byCssSelector("#sousform-dossier_commission .actions-max-1 a")->click();
292 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
293 $this->verifyNoErrors();
294 // On choisi le type de commission "Commission Technique d'Urbanisme"
295 $this->select($this->byId("commission_type"))->selectOptionByValue("1");
296 // On clique sur le bouton ajouter
297 $this->byXPath("//input[@value='Ajouter']")->click();
298 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299 $this->verifyNoErrors();
300 // On vérifie que l'instruction s'est bien ajouté
301 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-dossier_commission .message .text")->text());
302 //On se déconnecte de l'application
303 $this->deconnect();
304
305
306 // On se connecte en tant que "suivi"
307 $this->login("suivi", "suivi");
308 // On clique sur le menu gestion
309 $this->byLinkText("Gestion")->click();
310 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
311 $this->verifyNoErrors();
312 // On clique sur la commission numéro 1
313 $this->byLinkText("1")->click();
314 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
315 $this->verifyNoErrors();
316 //Mise à jour de la liste de diffusion
317 $this->byCssSelector(".portlet-list a#action-form-commission-modifier")->click();
318 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319 $this->verifyNoErrors();
320 $this->byId("listes_de_diffusion")->clear();
321 $this->byId("listes_de_diffusion")->value("[email protected]");
322 $this->byXPath("//input[@value='Modifier']")->click();
323 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
324 $this->verifyNoErrors();
325 // On vérifie que la commission s'est bien mise à jour
326 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
327 //On clique sur le lien retour
328 $this->byLinkText("Retour")->click();
329 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
330 $this->verifyNoErrors();
331 //On clique sur la diffusion de l'ordre du jour
332 $this->byCssSelector(".portlet-list a#action-form-commission-diffuser_ordre_jour")->click();
333 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
334 $this->verifyNoErrors();
335 //On vérifie que l'ordre du jour s'est bien envoyé
336 $this->assertRegExp('/.*La diffusion de l\'ordre du jour s\'est effectuée avec succès.*/', $this->byCssSelector(".message span.text")->text());
337 // On vérifie que le lien de l'édition a changé
338 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list a#action-form-commission-commission_ordre_jour")->attribute("href"));
339 // On clique sur la diffusion du compte rendu
340 $this->byCssSelector(".portlet-list a#action-form-commission-diffuser_compte_rendu")->click();
341 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
342 $this->verifyNoErrors();
343 //On vérifie que le compte rendu s'est bien envoyé
344 $this->assertRegExp('/.*La diffusion du compte-rendu s\'est effectuée avec succès.*/', $this->byCssSelector(".message span.text")->text());
345 // On vérifie que le lien de l'édition a changé
346 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list a#action-form-commission-commission_compte_rendu")->attribute("href"));
347 //On se déconnecte de l'application
348 $this->logout();
349 }
350 }

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26