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

Annotation of /trunk/tests/testFinalisationDocuments.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4469 - (hide annotations)
Fri Jun 10 08:08:45 2016 UTC (8 years, 7 months ago) by fmichon
File size: 18659 byte(s)
* Tests : Réécriture d'un test PHPUnitSelenium lié aux commissions (diffuser odf et cr) en RobotFramework.

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 fmichon 4469
343 mbroquet 3730 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26