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

Contents of /trunk/tests/testFinalisationDocuments.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1987 - (show annotations)
Wed Jun 5 15:51:54 2013 UTC (11 years, 8 months ago) by vpihour
File size: 16270 byte(s)
Mise à jour des tests suite à la modification de la finalisation des documents

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testFinalisationDocuments.php
7 */
8
9 //
10 require_once "base2.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("PC0130551200002P0")->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->byXPath("//ul[@class='portlet-list']/li[3]/a")->click();sleep(1);
35 // On valide le rapport d'instruction
36 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
37 // On vérifie que le rapport d'instruction s'est bien ajouté
38 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());sleep(1);
39 // On clique sur retour
40 $this->byCssSelector("#sousform-rapport_instruction form a.retour")->click();sleep(1);
41 // On clique sur le lien "Rapport d'instruction" dans le portlet d'action
42 $this->byXPath("//ul[@class='portlet-list']/li[3]/a")->click();sleep(1);
43 // On finalise le document
44 $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(3) a")->click();sleep(1);
45 // On vérifie le message de validation
46 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
47 // On vérifie que le lien de finalisation a disparu
48 try {
49 $el = $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(3) a span.finalise");
50 $this->fail('Cet élément ne devrait pas exister.');
51 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
52 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
53 }
54 //On vérifie que l'action de modification n'existe plus
55 try {
56 $el = $this->byCssSelector("#sousform-rapport_instruction .edit-16");
57 $this->fail('Cet élément ne devrait pas exister.');
58 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
59 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
60 }
61 // On vérifie que le lien de dé-finalisation est apparu
62 $this->assertTrue($this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a span.definalise")->displayed());
63 $this->assertEquals("Reprendre la rédaction du document", $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a span.definalise")->text());
64 // On vérifie que le lien de l'édition a changé
65 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(1) a")->attribute("href"));
66 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
67 // du document
68 $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a")->click();sleep(1);
69 // On vérifie le message de validation
70 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-rapport_instruction .message .text")->text());
71 // On vérifie que le lien de dé-finalisation a disparu
72 try {
73 $el = $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(3) a span.definalise");
74 $this->fail('Cet élément ne devrait pas exister.');
75 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
76 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
77 }
78 // On vérifie que le lien de modification est apparu
79 $this->assertTrue($this->byCssSelector("#sousform-rapport_instruction .edit-16")->displayed());
80 // On vérifie que le lien de finalisation est apparu
81 $this->assertTrue($this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(3) a span.finalise")->displayed());
82 $this->assertEquals("Finaliser le document", $this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(3) a span.finalise")->text());
83 // On vérifie que le lien de l'édition a changé
84 $this->assertRegExp('/^[\s\S]*pdf\/pdfetat\.php[\s\S]*$/',$this->byCssSelector("#sousform-rapport_instruction .portlet-list li:nth-child(2) a")->attribute("href"));
85 //On ferme l'overlay
86 $this->byCssSelector(".ui-dialog-titlebar a.ui-dialog-titlebar-close")->click();sleep(1);
87 // On se déconnecte de l'application
88 $this->deconnect();
89 }
90
91 /**
92 * Test de la finalisation du document lors de l'ajout d'une consultation par un
93 * instructeur pour le dossier PC0130551200001.
94 */
95 function testFinalisationAjoutConsultation(){
96
97 // On se connecte en tant que "instr"
98 $this->login("instr", "instr");
99 // On clique sur le menu des encours
100 $this->byLinkText("Mes Encours")->click();
101 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
102 $this->verifyNoErrors();
103 // On clique sur le dossier PC0130551200001
104 $this->byLinkText("PC0130551200002P0")->click();
105 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
106 $this->verifyNoErrors();
107 // On clique sur l'onglet consultation
108 $this->byId("consultation")->click();sleep(1);
109 // On clique sur le + pour ajouter une consultation
110 $this->byCssSelector("#sousform-consultation .actions-max-2 a")->click();sleep(1);
111 // On choisi le service
112 $this->select($this->byId("service"))->selectOptionByValue("1");
113 // On clique sur le bouton ajouter
114 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
115 // On vérifie que la consultation a bien été ajoutée
116 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(1);
117 // On clique sur retour
118 $this->byCssSelector("#sousform-consultation form a.retour")->click();sleep(1);
119 // On clique sur la consultation
120 $this->byLinkText("7")->click();sleep(1);
121 // On vérifie le lien de l'édition a changé
122 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#sousform-consultation .portlet-list li:nth-child(1) a")->attribute("href"));
123 //On vérifie que l'action de modification n'existe plus
124 try {
125 $el = $this->byCssSelector("#sousform-rapport_instruction .edit-16");
126 $this->fail('Cet élément ne devrait pas exister.');
127 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
128 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
129 }
130 // On se déconnecte de l'application
131 $this->deconnect();
132 }
133
134 /**
135 * Test de la finalisation du document d'une instruction par un instructeur pour
136 * le dossier PC0130551200001.
137 */
138 function testFinalisationInstruction(){
139
140 // On se connecte en tant que "instr"
141 $this->login("instr", "instr");
142 // On clique sur le menu des encours
143 $this->byLinkText("Mes Encours")->click();
144 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145 $this->verifyNoErrors();
146 // On clique sur le dossier PC0130551200001
147 $this->byLinkText("PC0130551200002P0")->click();
148 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
149 $this->verifyNoErrors();
150 //Ralenti l'exécution du script pour permettre au JS de se charger
151 $this->byId("instruction")->click();sleep(1);
152 // On clique sur le + pour ajouter une instruction
153 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();sleep(1);
154 // On choisi l'événement
155 $this->select($this->byId("evenement"))->selectOptionByValue("62");
156 // On clique sur le bouton ajouter
157 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
158 // On vérifie que l'instruction s'est bien ajouté
159 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());sleep(1);
160 // On clique sur le bouton retour
161 $this->byCssSelector("#sousform-instruction form a.retour")->click();sleep(1);
162 // On clique sur l'instruction nouvellement créée
163 $this->byLinkText("19")->click();sleep(1);
164 // On vérifie que le lien de finalisation est apparu
165 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a span.finalise")->displayed());
166 $this->assertEquals("Finaliser le document", $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a span.finalise")->text());
167 // On vérifie que le lien de l'édition a changé
168 $this->assertRegExp('/^[\s\S]*app\/pdf_instruction\.php[\s\S]*$/',$this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a")->attribute("href"));
169 // On finalise le document
170 $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a")->click();sleep(1);
171 // On vérifie le message de validation
172 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
173 // On vérifie que le lien de finalisation a disparu
174 try {
175 $el = $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a span.finalise");
176 $this->fail('Cet élément ne devrait pas exister.');
177 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
178 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
179 }
180 // On vérifie que le lien de modification a disparu
181 try {
182 $el = $this->byCssSelector("#sousform-instruction .portlet-list edit-16");
183 $this->fail('Cet élément ne devrait pas exister.');
184 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
185 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
186 }
187 // On vérifie que le lien de dé-finalisation est apparu
188 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise")->displayed());
189 $this->assertEquals("Reprendre la rédaction du document", $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise")->text());
190 // On vérifie que le lien de l'édition a changé
191 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(1) a")->attribute("href"));
192 // On dé-finalise le document en cliquant sur le lien Reprendre la rédaction
193 // du document
194 $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a")->click();sleep(1);
195 // On vérifie le message de validation
196 $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
197 // On vérifie que le lien de dé-finalisation a disparu
198 try {
199 $el = $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(2) a span.definalise");
200 $this->fail('Cet élément ne devrait pas exister.');
201 } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
202 $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
203 }
204 //On vérifie que le lien de modification est apparu
205 $this->assertTrue($this->byCssSelector("#sousform-instruction .portlet-list .edit-16")->displayed());
206 //On se déconnecte de l'application
207 $this->deconnect();
208 }
209
210 /**
211 * Test de la finalisation du compte rendu et de l'ordre du jour d'une commission
212 * par la cellule suivi.
213 */
214 function testFinalisationCommission(){
215
216 // On se connecte en tant que "instr"
217 $this->login("instr", "instr");
218 // On clique sur le menu des encours
219 $this->byLinkText("Mes Encours")->click();
220 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
221 $this->verifyNoErrors();
222 // On clique sur le dossier PC0130551200001
223 $this->byLinkText("PC0130551200002P0")->click();
224 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
225 $this->verifyNoErrors();
226 // On clique sur l'onglet commission
227 $this->byId("dossier_commission")->click();sleep(1);
228 // On clique sur le + pour ajouter une commission
229 $this->byCssSelector("#sousform-dossier_commission .actions-max-1 a")->click();sleep(1);
230 // On choisi le type de commission
231 $this->select($this->byId("commission_type"))->selectOptionByValue("1");
232 // On clique sur le bouton ajouter
233 $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
234 // On vérifie que l'instruction s'est bien ajouté
235 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-dossier_commission .message .text")->text());sleep(1);
236 //On se déconnecte de l'application
237 $this->deconnect();
238
239
240 // On se connecte en tant que "suivi"
241 $this->login("suivi", "suivi");
242 // On clique sur le menu gestion
243 $this->byLinkText("Gestion")->click();
244 // On clique sur la commission numéro 1
245 $this->byLinkText("1")->click();sleep(1);
246 //Mise à jour de la liste de diffusion
247 $this->byCssSelector(".portlet-list li:nth-child(1) a")->click();sleep(1);
248 $this->byId("listes_de_diffusion")->clear();
249 $this->byId("listes_de_diffusion")->value("[email protected]");
250 $this->byXPath("//input[@value='Modifier']")->click();
251 // On vérifie que la commission s'est bien mise à jour
252 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());sleep(1);
253 //On clique sur le lien retour
254 $this->byLinkText("Retour")->click();
255 //On clique sur la diffusion de l'ordre du jour
256 $this->byCssSelector(".portlet-list li:nth-child(3) a")->click();sleep(1);
257 // On vérifie que le lien de l'édition a changé
258 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list li:nth-child(6) a")->attribute("href"));
259 // On clique sur la diffusion du compte rendu
260 $this->byCssSelector(".portlet-list li:nth-child(4) a")->click();sleep(1);
261 // On vérifie que le lien de l'édition a changé
262 $this->assertRegExp('/^[\s\S]*spg\/file\.php[\s\S]*$/',$this->byCssSelector(".portlet-list li:nth-child(7) a")->attribute("href"));
263 //On se déconnecte de l'application
264 $this->deconnect();
265 }
266 }

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26