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

Annotation of /trunk/tests/testFinalisationDocuments.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (hide annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 23270 byte(s)
Actualisation du trunk
1 mbroquet 3730 <?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("#sousform-rapport_instruction .portlet-list li:nth-child(2) a")->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 definalisation 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("#sousform-rapport_instruction .portlet-list li:nth-child(3) a span.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("#sousform-consultation .portlet-list li:nth-child(2) a span.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("#sousform-consultation .portlet-list li:nth-child(2) a span.definalise")->displayed());
202     //On définalise
203     $this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(2) a")->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 definalisation 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("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise");
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 l'action de modification n'est pas apparu
218     try {
219     $el = $this->byCssSelector("#sousform-consultation .edit-16");
220     $this->fail('Cet élément ne devrait pas exister.');
221     } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
222     $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
223     }
224     //On vérifie que le lien de finalisation est apparu
225     $this->assertTrue($this->byCssSelector("#sousform-consultation .portlet-list a span.finalise")->displayed());
226     // On se déconnecte de l'application
227     $this->logout();
228     }
229    
230     /**
231     * Test de la finalisation du document d'une instruction par un instructeur pour
232     * le dossier PC 013055 12 00002P0.
233     */
234     function test_03_FinalisationInstruction(){
235    
236     // On se connecte en tant que "instr"
237     $this->login("instr", "instr");
238     // On clique sur le menu des encours
239     $this->byLinkText("Mes Encours")->click();
240     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
241     $this->verifyNoErrors();
242     // On clique sur le dossier PC0130551200001
243     $this->byLinkText("PC 013055 12 00002P0")->click();
244     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
245     $this->verifyNoErrors();
246     //Ralenti l'exécution du script pour permettre au JS de se charger
247     $this->byId("instruction")->click();
248     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249     $this->verifyNoErrors();
250     // On clique sur le + pour ajouter une instruction
251     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
252     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
253     $this->verifyNoErrors();
254     // On choisi l'événement "adjoint [majoration]"
255     $this->select($this->byId("evenement"))->selectOptionByValue("62");
256     // On clique sur le bouton ajouter
257     $this->byXPath("//input[@value='Ajouter']")->click();
258     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
259     $this->verifyNoErrors();
260     // On vérifie que l'instruction s'est bien ajouté
261     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
262     // On clique sur le bouton retour
263     $this->byCssSelector("#sousform-instruction form a.retour")->click();
264     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
265     $this->verifyNoErrors();
266     // On clique sur l'instruction nouvellement créée
267     $this->byLinkText("adjoint")->click();
268     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
269     $this->verifyNoErrors();
270     // On vérifie que le lien de finalisation est apparu
271     $this->assertTrue($this->byId("action-sousform-instruction-finaliser")->displayed());
272     $this->assertEquals("Finaliser le document", $this->byId("action-sousform-instruction-finaliser")->text());
273     // On clique sur l'édition
274     $this->byId("action-sousform-instruction-edition")->click();
275     // Liste les fenêtres
276     $windows = $this->windowHandles();
277     // Change la fenêtre
278     $this->window($windows[1]);
279     // On vérifie qu'il n'y ait pas d'erreur
280     $this->verifynoerrors();
281     // On vérifie que le lien de l'édition
282     $this->assertRegExp('/^[\s\S]*scr\/sousform\.php[\s\S]*$/', $this->url());
283     $this->closeWindow();
284     // On change le focus de la fenêtre
285     $this->window($windows[0]);
286     // On finalise le document
287     $this->byId("action-sousform-instruction-finaliser")->click();
288     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
289     $this->verifyNoErrors();
290     // On vérifie le message de validation
291     $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
292     // On vérifie que le lien de finalisation a disparu
293     try {
294     sleep(1);
295     $el = $this->byId("action-sousform-instruction-finaliser");
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 modification a disparu
301     try {
302     $el = $this->byId("action-sousform-instruction-modifier");
303     $this->fail('Cet élément ne devrait pas exister.');
304     } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
305     $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
306     }
307     // On vérifie que le lien de dé-finalisation est apparu
308     $this->assertTrue($this->byId("action-sousform-instruction-definaliser")->displayed());
309     $this->assertEquals("Reprendre la rédaction du document", $this->byId("action-sousform-instruction-definaliser")->text());
310     // On clique sur l'édition
311     $this->byId("action-sousform-instruction-edition")->click();
312     // Liste les fenêtres
313     $windows = $this->windowHandles();
314     // Change la fenêtre
315     $this->window($windows[1]);
316     // On vérifie qu'il n'y ait pas d'erreur
317     $this->verifynoerrors();
318     // On vérifie que le lien de l'édition a changé
319     $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/', $this->url());
320     $this->closeWindow();
321     // On change le focus de la fenêtre
322     $this->window($windows[0]);
323     // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
324     // du document
325     $this->byId("action-sousform-instruction-definaliser")->click();
326     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
327     $this->verifyNoErrors();
328     // On vérifie le message de validation
329     $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
330     // On vérifie que le lien de dé-finalisation a disparu
331     try {
332     $el = $this->byId("action-sousform-instruction-definaliser");
333     $this->fail('Cet élément ne devrait pas exister.');
334     } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
335     $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
336     }
337     //On vérifie que le lien de modification est apparu
338     $this->assertTrue($this->byId("action-sousform-instruction-modifier")->displayed());
339     //On se déconnecte de l'application
340     $this->logout();
341     }
342    
343     /**
344     * Test de la finalisation du compte rendu et de l'ordre du jour d'une commission
345     * par la cellule suivi sur le dossier PC 013055 12 00002P0.
346     */
347     function test_04_FinalisationCommission(){
348    
349     // On se connecte en tant que "instr"
350     $this->login("instr", "instr");
351     // On clique sur le menu des encours
352     $this->byLinkText("Mes Encours")->click();
353     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
354     $this->verifyNoErrors();
355     // On clique sur le dossier PC0130551200001
356     $this->byLinkText("PC 013055 12 00002P0")->click();
357     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
358     $this->verifyNoErrors();
359     // On clique sur l'onglet commission
360     $this->byId("dossier_commission")->click();
361     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
362     $this->verifyNoErrors();
363     // On clique sur le + pour ajouter une commission
364     $this->byCssSelector("#sousform-dossier_commission .actions-max-1 a")->click();
365     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
366     $this->verifyNoErrors();
367     // On choisi le type de commission "Commission Technique d'Urbanisme"
368     $this->select($this->byId("commission_type"))->selectOptionByValue("1");
369     // On clique sur le bouton ajouter
370     $this->byXPath("//input[@value='Ajouter']")->click();
371     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
372     $this->verifyNoErrors();
373     // On vérifie que l'instruction s'est bien ajouté
374     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-dossier_commission .message .text")->text());
375     //On se déconnecte de l'application
376     $this->deconnect();
377     // On se connecte en tant que "suivi"
378     $this->login("suivi", "suivi");
379     // On clique sur le menu gestion
380     $this->byLinkText("Gestion")->click();
381     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382     $this->verifyNoErrors();
383     // On clique sur la commission numéro 1
384     $this->byLinkText("1")->click();
385     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
386     $this->verifyNoErrors();
387     //Mise à jour de la liste de diffusion
388     $this->byCssSelector(".portlet-list li:nth-child(1) a")->click();
389     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
390     $this->verifyNoErrors();
391     $this->byId("listes_de_diffusion")->clear();
392     $this->byId("listes_de_diffusion")->value("[email protected]");
393     $this->byXPath("//input[@value='Modifier']")->click();
394     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
395     $this->verifyNoErrors();
396     // On vérifie que la commission s'est bien mise à jour
397     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
398     //On clique sur le lien retour
399     $this->byLinkText("Retour")->click();
400     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
401     $this->verifyNoErrors();
402     //On clique sur la diffusion de l'ordre du jour
403     $this->byCssSelector(".portlet-list li:nth-child(3) a")->click();
404     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
405     $this->verifyNoErrors();
406     //On vérifie que l'ordre du jour s'est bien envoyé
407     $this->assertRegExp('/.*La diffusion de l\'ordre du jour s\'est effectuée avec succès.*/', $this->byCssSelector(".message span.text")->text());
408     // On vérifie que le lien de l'édition a changé
409     $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list li:nth-child(6) a")->attribute("href"));
410     // On clique sur la diffusion du compte rendu
411     $this->byCssSelector(".portlet-list li:nth-child(4) a")->click();
412     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
413     $this->verifyNoErrors();
414     //On vérifie que le compte rendu s'est bien envoyé
415     $this->assertRegExp('/.*La diffusion du compte-rendu s\'est effectuée avec succès.*/', $this->byCssSelector(".message span.text")->text());
416     // On vérifie que le lien de l'édition a changé
417     $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list li:nth-child(7) a")->attribute("href"));
418     //On se déconnecte de l'application
419     $this->logout();
420     }
421     }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26