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

Contents of /trunk/tests/testFinalisationDocuments.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5024 - (show annotations)
Wed Nov 2 14:39:23 2016 UTC (8 years, 3 months ago) by softime
File size: 18069 byte(s)
* Merge de la branche de développement 3.33.x

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 * Fonction lancée en debut de chaque test
18 */
19 public function setUp() {
20 parent::setUp();
21 echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
22 }
23
24 public function onNotSuccessfulTest(Exception $e){
25 echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
26 parent::onNotSuccessfulTest($e);
27 }
28
29 /**
30 * Test de la finalisation du rapport d'instruction par un instructeur pour le
31 * dossier PC0130551200001.
32 */
33 function test_01_FinalisationRapportInstruction(){
34
35 // On se connecte en tant que "instr"
36 $this->login("instr", "instr");
37 // On clique sur le menu des encours
38 $this->byLinkText("Mes Encours")->click();
39 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
40 $this->verifyNoErrors();
41 // On clique sur le dossier PC0130551200001
42 $this->byLinkText("PC 013055 12 00002P0")->click();
43 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
44 $this->verifyNoErrors();
45 // On clique sur le lien "Rapport d'instruction" dans le portlet d'action
46 $this->byId("action-form-dossier_instruction_mes_encours-rapport_instruction")->click();
47 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48 $this->verifyNoErrors();
49 // On valide le rapport d'instruction
50 $this->byXPath("//input[@value='Ajouter']")->click();
51 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
52 $this->verifyNoErrors();
53 // On vérifie que le rapport d'instruction s'est bien ajouté
54 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
55 // On clique sur retour
56 $this->byCssSelector("#sousform-rapport_instruction form a.retour")->click();
57 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
58 $this->verifyNoErrors();
59 // On clique sur le lien "Rapport d'instruction" dans le portlet d'action
60 $this->byId("action-form-dossier_instruction_mes_encours-rapport_instruction")->click();
61 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
62 $this->verifyNoErrors();
63 // On finalise le document
64 $this->byId("action-sousform-rapport_instruction-finalise")->click();
65 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
66 $this->verifyNoErrors();
67 // On vérifie le message de validation
68 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
69 // On vérifie que le lien de finalisation a disparu
70 try {
71 $el = $this->byId("action-sousform-rapport_instruction-finalise");
72 $this->fail('Cet élément ne devrait pas exister.');
73 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
74 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
75 }
76 //On vérifie que l'action de modification n'existe plus
77 try {
78 $el = $this->byId("action-sousform-rapport_instruction-modifier");
79 $this->fail('Cet élément ne devrait pas exister.');
80 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
81 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
82 }
83 // On vérifie que le lien de dé-finalisation est apparu
84 $this->assertTrue($this->byId("action-sousform-rapport_instruction-definalise")->displayed());
85 $this->assertEquals("Reprendre la rédaction du document", $this->byId("action-sousform-rapport_instruction-definalise")->text());
86 // On clique sur l'édition
87 $this->byId("action-sousform-rapport_instruction-edition")->click();
88 // Liste les fenêtres
89 $windows = $this->windowHandles();
90 // Change la fenêtre
91 $this->window($windows[1]);
92 // On vérifie qu'il n'y ait pas d'erreur
93 $this->verifynoerrors();
94 // On vérifie que le lien de l'édition a changé
95 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/', $this->url());
96 $this->closeWindow();
97 // On change le focus de la fenêtre
98 $this->window($windows[0]);
99 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
100 // du document
101 $this->byCssSelector("#action-sousform-rapport_instruction-definalise")->click();
102 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103 $this->verifyNoErrors();
104 // On vérifie le message de validation
105 $this->assertEquals('La définalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
106 // On vérifie que le lien de dé-finalisation a disparu
107 try {
108 $el = $this->byId("action-sousform-rapport_instruction-definalise");
109 $this->fail('Cet élément ne devrait pas exister.');
110 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
111 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
112 }
113 // On vérifie que le lien de modification est apparu
114 $this->assertTrue($this->byCssSelector("#sousform-rapport_instruction .edit-16")->displayed());
115 // On vérifie que le lien de finalisation est apparu
116 $this->assertTrue($this->byId("action-sousform-rapport_instruction-finalise")->displayed());
117 $this->assertEquals("Finaliser le document", $this->byCssSelector("#action-sousform-rapport_instruction-finalise")->text());
118 // On clique sur l'édition
119 $this->byId("action-sousform-rapport_instruction-edition")->click();
120 // Liste les fenêtres
121 $windows = $this->windowHandles();
122 // Change la fenêtre
123 $this->window($windows[1]);
124 // On vérifie qu'il n'y ait pas d'erreur
125 $this->verifynoerrors();
126 // On vérifie que le lien de l'édition a changé
127 $this->assertRegExp('/^[\s\S]*scr\/sousform\.php[\s\S]*$/', $this->url());
128 $this->closeWindow();
129 // On change le focus de la fenêtre
130 $this->window($windows[0]);
131 //On ferme l'overlay
132 $this->byCssSelector(".ui-dialog-titlebar a.ui-dialog-titlebar-close")->click();
133 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
134 $this->verifyNoErrors();
135 // On se déconnecte de l'application
136 $this->logout();
137 }
138
139 /**
140 * Test de la finalisation du document lors de l'ajout d'une consultation par un
141 * instructeur pour le dossier PC 013055 12 00002P0.
142 */
143 function test_02_FinalisationAjoutConsultation(){
144
145 // On se connecte en tant que "instr"
146 $this->login("instr", "instr");
147 // On clique sur le menu des encours
148 $this->byLinkText("Mes Encours")->click();
149 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
150 $this->verifyNoErrors();
151 // On clique sur le dossier PC0130551200001
152 $this->byLinkText("PC 013055 12 00002P0")->click();
153 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
154 $this->verifyNoErrors();
155 // On clique sur l'onglet consultation
156 $this->byId("consultation")->click();
157 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
158 $this->verifyNoErrors();
159 // On clique sur le + pour ajouter une consultation
160 $this->byCssSelector("#sousform-consultation .actions-max-2 a")->click();
161 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
162 $this->verifyNoErrors();
163 // On choisi le service "Atelier du Patrimoine"
164 $this->select($this->byId("service"))->selectOptionByValue("2");
165 // On clique sur le bouton ajouter
166 $this->byXPath("//input[@value='Ajouter']")->click();
167 sleep(1);
168 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
169 $this->verifyNoErrors();
170 // On vérifie que la consultation a bien été ajoutée
171 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
172 // On clique sur retour
173 $this->byCssSelector("#sousform-consultation form a.retour")->click();
174 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
175 $this->verifyNoErrors();
176 // On clique sur la consultation
177 $this->byLinkText("59.02 - Atelier du Patrimoine")->click();
178 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179 $this->verifyNoErrors();
180 // On clique sur l'édition
181 $this->byId("action-sousform-consultation-consulter_pdf")->click();
182 // Liste les fenêtres
183 $windows = $this->windowHandles();
184 // Change la fenêtre
185 $this->window($windows[1]);
186 // On vérifie qu'il n'y ait pas d'erreur
187 $this->verifynoerrors();
188 // On vérifie que le lien de l'édition a changé
189 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/', $this->url());
190 $this->closeWindow();
191 // On change le focus de la fenêtre
192 $this->window($windows[0]);
193 //On vérifie que le lien de finalisation n'est pas apparu
194 try {
195 $el = $this->byCssSelector("#action-sousform-consultation-finalise");
196 $this->fail('Cet élément ne devrait pas exister.');
197 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
198 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
199 }
200 //On vérifie que le lien de définalisation est apparu
201 $this->assertTrue($this->byCssSelector("#action-sousform-consultation-unfinalise")->displayed());
202 //On définalise
203 $this->byCssSelector("#action-sousform-consultation-unfinalise")->click();
204 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
205 $this->verifyNoErrors();
206 // On vérifie le message de validation
207 $this->assertEquals('La définalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());
208 // On vérifie que le lien de dé-finalisation a disparu
209 try {
210 $el = $this->byCssSelector("#action-sousform-instruction-definaliser");
211 $this->fail('Cet élément ne devrait pas consultation.');
212 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
213 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
214 }
215 //On vérifie que le lien de suppression est apparu
216 $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list .delete-16")->displayed());
217 //On vérifie que le lien de finalisation est apparu
218 $this->assertTrue($this->byCssSelector("#action-sousform-consultation-finalise")->displayed());
219 // On se déconnecte de l'application
220 $this->logout();
221 }
222
223 /**
224 * Test de la finalisation du document d'une instruction par un instructeur pour
225 * le dossier PC 013055 12 00002P0.
226 */
227 function test_03_FinalisationInstruction(){
228
229 // On se connecte en tant que "instr"
230 $this->login("instr", "instr");
231 // On clique sur le menu des encours
232 $this->byLinkText("Mes Encours")->click();
233 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234 $this->verifyNoErrors();
235 // On clique sur le dossier PC0130551200001
236 $this->byLinkText("PC 013055 12 00002P0")->click();
237 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
238 $this->verifyNoErrors();
239 //Ralenti l'exécution du script pour permettre au JS de se charger
240 $this->byId("instruction")->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 le + pour ajouter une instruction
244 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
245 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246 $this->verifyNoErrors();
247 // On choisi l'événement "adjoint [majoration]"
248 $this->select($this->byId("evenement"))->selectOptionByValue("62");
249 // On clique sur le bouton ajouter
250 $this->byXPath("//input[@value='Ajouter']")->click();
251 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
252 $this->verifyNoErrors();
253 // On vérifie que l'instruction s'est bien ajouté
254 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
255 // On clique sur le bouton retour
256 $this->byCssSelector("#sousform-instruction form a.retour")->click();
257 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258 $this->verifyNoErrors();
259 // On clique sur l'instruction nouvellement créée
260 $this->byLinkText("adjoint")->click();
261 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
262 $this->verifyNoErrors();
263 // On vérifie que le lien de finalisation est apparu
264 $this->assertTrue($this->byId("action-sousform-instruction-finaliser")->displayed());
265 $this->assertEquals("Finaliser le document", $this->byId("action-sousform-instruction-finaliser")->text());
266 // On clique sur l'édition
267 $this->byId("action-sousform-instruction-edition")->click();
268 // Liste les fenêtres
269 $windows = $this->windowHandles();
270 // Change la fenêtre
271 $this->window($windows[1]);
272 // On vérifie qu'il n'y ait pas d'erreur
273 $this->verifynoerrors();
274 // On vérifie que le lien de l'édition
275 $this->assertRegExp('/^[\s\S]*scr\/sousform\.php[\s\S]*$/', $this->url());
276 $this->closeWindow();
277 // On change le focus de la fenêtre
278 $this->window($windows[0]);
279 // On finalise le document
280 $this->byId("action-sousform-instruction-finaliser")->click();
281 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282 $this->verifyNoErrors();
283 // On vérifie le message de validation
284 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
285 // On vérifie que le lien de finalisation a disparu
286 try {
287 sleep(1);
288 $el = $this->byId("action-sousform-instruction-finaliser");
289 $this->fail('Cet élément ne devrait pas exister.');
290 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
291 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
292 }
293 // On vérifie que le lien de modification a disparu
294 try {
295 $el = $this->byId("action-sousform-instruction-modifier");
296 $this->fail('Cet élément ne devrait pas exister.');
297 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
298 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
299 }
300 // On vérifie que le lien de dé-finalisation est apparu
301 $this->assertTrue($this->byId("action-sousform-instruction-definaliser")->displayed());
302 $this->assertEquals("Reprendre la rédaction du document", $this->byId("action-sousform-instruction-definaliser")->text());
303 // On clique sur l'édition
304 $this->byId("action-sousform-instruction-edition")->click();
305 // Liste les fenêtres
306 $windows = $this->windowHandles();
307 // Change la fenêtre
308 $this->window($windows[1]);
309 // On vérifie qu'il n'y ait pas d'erreur
310 $this->verifynoerrors();
311 // On vérifie que le lien de l'édition a changé
312 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/', $this->url());
313 $this->closeWindow();
314 // On change le focus de la fenêtre
315 $this->window($windows[0]);
316 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
317 // du document
318 $this->byId("action-sousform-instruction-definaliser")->click();
319 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
320 $this->verifyNoErrors();
321 // On vérifie le message de validation
322 $this->assertEquals('La définalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
323 // On vérifie que le lien de dé-finalisation a disparu
324 try {
325 $el = $this->byId("action-sousform-instruction-definaliser");
326 $this->fail('Cet élément ne devrait pas exister.');
327 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
328 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
329 }
330 //On vérifie que le lien de modification est apparu
331 $this->assertTrue($this->byId("action-sousform-instruction-modifier")->displayed());
332 //On se déconnecte de l'application
333 $this->logout();
334 }
335
336 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26