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

Contents of /trunk/tests/testPieces.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2262 - (show annotations)
Thu Sep 5 18:19:30 2013 UTC (11 years, 5 months ago) by softime
File size: 15073 byte(s)
- Modification de testDigitalizedDocument.php pour qu'il puisse passer sur la même instance de bdd que testREST.php
- Amélioration des selecteurs dans testPieces.php

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id:
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Cette classe permet de tester l'interface de l'onglet "Pièce"
14 *
15 * Données utilisées : dossier AT0130551200001P0
16 * Fichiers utilisés :
17 * testImportManuel.jpg, testImportManuel.pdf, testImportManuel2.pdf
18 */
19 class PiecesTest extends Base2TestCase {
20
21 /**
22 * Test l'ajout de pièce
23 */
24 public function testAjoutPiece() {
25 //On se connecte à l'application
26 $this->login("instr", "instr");
27 //On clic sur le menu
28 $this->byLinkText("Mes Encours")->click();
29 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
30 $this->verifyNoErrors();
31 //On clic sur le dossier
32 $this->byLinkText("AT 013055 12 00001P0")->click();
33 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
34 $this->verifyNoErrors();
35 //On clic sur l'onglet
36 $this->byId("document_numerise")->click();sleep(1);
37 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
38 $this->verifyNoErrors();
39 //On vérifie qu'il n'y a aucun enregistrement
40 $this->assertRegExp("/^[\s\S]*Aucun enregistrements[\s\S]*$/",$this->byId("sousform-document_numerise")->text());
41 //On vérifie la présence du bouton "Ajouter" (le "+" au dessus du tableau)
42 //et du texte "Ajouter un document"
43 $this->assertRegExp("/^[\s\S]*Ajouter un document[\s\S]*$/",$this->byId("sousform-document_numerise")->text());
44 //On clic sur "Ajouter un document"
45 $this->byCssSelector(".add-16")->click();
46 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
47 $this->verifyNoErrors();
48 //On ecrit les données
49 $this->byId("date_creation")->clear();
50 $this->acceptAlert();
51 $this->byId("date_creation")->value("01/01/2013");
52 $this->select($this->byId("document_numerise_type"))->selectOptionByLabel("notification de délai");
53 //On clic sur le bouton pour ajouter un fichier
54 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
55 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
56 $this->verifyNoErrors();
57 //On sélectionne un document non pdf
58 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.jpg");
59 $this->byName("submit")->click();
60 //On vérifie le message d'erreur
61 $this->assertRegExp("/^[\s\S]*Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(.pdf\)\. \[testImportManuel\.jpg\][\s\S]*$/",$this->byCssSelector("#upload-container .message .text")->text());
62 //On sélectionne un document pdf
63 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.pdf");
64 $this->byName("submit")->click();
65 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
66 $this->verifyNoErrors();
67 //On clic sur le bouton ajouter
68 $this->byXPath('//input[@value="Ajouter"]')->click();
69 //On clic sur le bouton retour
70 $this->byCssSelector("#sformulaire a.retour")->click();sleep(1);
71 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
72 $this->verifyNoErrors();
73 //On vérifie que le document à été ajouté
74 $this->assertRegExp("/^[\s\S]*20130101NDL.pdf[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise table")->text());
75 //On vérifie la categorie du document
76 $this->assertRegExp("/^[\s\S]*Autre[\s\S]*$/",$this->byCssSelector("thead tr th.headerCat")->text());
77 //On vérifie la date de dépot du document
78 $this->assertEquals("01/01/2013", $this->byCssSelector("thead tr th.headerDate")->text());
79 //On affiche le fichier pdf
80 $this->byLinkText("20130101NDL.pdf")->click();sleep(5);
81 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
82 $this->verifyNoErrors();
83 // Liste les fenêtres
84 $windows = $this->windowHandles();
85 // Change la fenêtre
86 $this->window($windows[1]);
87 // On vérifie qu'il n'y ait pas d'erreur
88 $this->verifynoerrors();
89 // On vérifie que le text est présent
90 $this->assertRegExp("/^[\s\S]*TEST IMPORT MANUEL 1[\s\S]*$/",$this->source());
91 // On ferme la fenêtre
92 $this->closeWindow();
93 // On change le focus de la fenêtre
94 $this->window($windows[0]);
95 //On se déconnecte de l'application
96 $this->logout();
97
98 }
99
100 /**
101 * Test l'ajout de pièce déjà existante
102 */
103 public function testAjoutPieceUnique() {
104 //On se connecte à l'application
105 $this->login("instr", "instr");
106 //On clic sur le menu
107 $this->byLinkText("Mes Encours")->click();
108 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
109 $this->verifyNoErrors();
110 //On clic sur le dossier
111 $this->byLinkText("AT 013055 12 00001P0")->click();
112 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113 $this->verifyNoErrors();
114 //On clic sur l'onglet
115 $this->byId("document_numerise")->click();
116 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
117 $this->verifyNoErrors();
118 //On clic sur "Ajouter un document"
119 $this->byCssSelector(".add-16")->click();
120 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
121 $this->verifyNoErrors();
122 //On ecrit les données
123 $this->byId("date_creation")->clear();
124 $this->acceptAlert();
125 $this->byId("date_creation")->value("01/01/2013");
126 $this->select($this->byId("document_numerise_type"))->selectOptionByLabel("notification de délai");
127 //On clic sur le bouton pour ajouter un fichier
128 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
129 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
130 $this->verifyNoErrors();
131 //On sélectionne le document
132 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.pdf");
133 $this->byName("submit")->click();
134 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
135 $this->verifyNoErrors();
136 //On clic sur le bouton ajouter
137 $this->byXPath('//input[@value="Ajouter"]')->click();sleep(1);
138 //On vérifie qu'il y une erreur
139 $this->assertRegExp("/^[\s\S]*Les valeurs saisies dans les champs[\s\S]*$/",$this->byId("sformulaire")->text());
140 //On se déconnecte de l'application
141 $this->logout();
142
143 }
144
145 /**
146 * Test la modification des pièces numérisés par l'administrateur
147 */
148 public function testModificationPiece() {
149 //On se connecte à l'application
150 $this->login("admin", "admin");
151 //On clic sur le menu
152 $this->byLinkText("Instruction")->click();
153 $this->byLinkText("Recherche")->click();
154 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
155 $this->verifyNoErrors();
156 //On clic sur le dossier
157 $this->byLinkText("AT 013055 12 00001P0")->click();
158 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
159 $this->verifyNoErrors();
160 //On clic sur l'onglet
161 $this->byId("document_numerise")->click();
162 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163 $this->verifyNoErrors();
164 //On clic sur le document
165 $this->byLinkText("20130101NDL.pdf")->click();
166 // On vérifie que les informations s'affichent
167 $this->assertEquals("01/01/2013", $this->byId('date_creation')->text());
168 $this->assertEquals("notification de délai", $this->byId('document_numerise_type')->text());
169 // On clic sur le bouton modifier
170 $this->byId("action-sousform-document_numerise-modifier")->click();
171 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
172 $this->verifyNoErrors();
173 // On enlève le fichier
174 $this->byCssSelector("span.ui-icon.ui-icon-closethick")->click();
175 //On clic sur le bouton Modifier
176 $this->byXPath('//input[@value="Modifier"]')->click();sleep(1);
177 // On vérifie le message d'erreur
178 $this->assertRegExp("/^[\s\S]*SAISIE NON[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise div.message")->text());
179 // On modifie les données
180 $this->byId("date_creation")->clear();
181 $this->acceptAlert();
182 $this->byId("date_creation")->value("20/04/2013");
183 $this->select($this->byId("document_numerise_type"))->selectOptionByValue("40");
184 //On clic sur le bouton pour ajouter un fichier
185 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
186 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
187 $this->verifyNoErrors();
188 //On sélectionne un document non pdf
189 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel2.pdf");
190 $this->byName("submit")->click();
191 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
192 $this->verifyNoErrors();
193 //On clic sur le bouton modifier
194 $this->byXPath('//input[@value="Modifier"]')->click();sleep(1);
195 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
196 $this->verifyNoErrors();
197 //On clic sur le bouton retour
198 $this->byCssSelector("#sformulaire a.retour")->click();sleep(1);
199 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
200 $this->verifyNoErrors();
201 //On affiche le fichier pdf
202 $this->byLinkText("Visualiser")->click();
203 $this->byLinkText("20130420DGPA04.pdf")->click();sleep(5);
204 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
205 $this->verifyNoErrors();
206 // Liste les fenêtres
207 $windows = $this->windowHandles();
208 // Change la fenêtre
209 $this->window($windows[1]);
210 // On vérifie qu'il n'y ait pas d'erreur
211 $this->verifynoerrors();
212 // On vérifie que le text est présent
213 $this->assertRegExp("/^[\s\S]*TEST IMPORT MANUEL 2[\s\S]*$/",$this->source());
214 // On ferme la fenêtre
215 $this->closeWindow();
216 // On change le focus de la fenêtre
217 $this->window($windows[0]);
218 // On ferme l'overlay
219 $this->byLinkText("Fermer")->click();
220 //On se déconnecte de l'application
221 $this->logout();
222 }
223
224 /**
225 * Test la suppression des pièces numérisés par l'administrateur
226 */
227 public function testSuppressionPiece() {
228 //On se connecte à l'application
229 $this->login("admin", "admin");
230 //On clic sur le menu
231 $this->byLinkText("Instruction")->click();
232 $this->byLinkText("Recherche")->click();
233 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234 $this->verifyNoErrors();
235 //On clic sur le dossier
236 $this->byLinkText("AT 013055 12 00001P0")->click();
237 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
238 $this->verifyNoErrors();
239 //On clic sur l'onglet
240 $this->byId("document_numerise")->click();
241 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242 $this->verifyNoErrors();
243 //On clic sur le document
244 $this->byLinkText("20130420DGPA04.pdf")->click();
245 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246 $this->verifyNoErrors();
247 // On vérifie que les informations s'affichent
248 $this->assertEquals("20/04/2013", $this->byId('date_creation')->text());
249 $this->assertEquals("plan de composition d'ensemble du projet", $this->byId('document_numerise_type')->text());
250 // On clic sur le bouton supprimer
251 $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
252 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
253 $this->verifyNoErrors();
254 //On clic sur le bouton supprimer
255 $this->byXPath('//input[@value="Supprimer"]')->click();
256 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
257 $this->verifyNoErrors();
258 //On clic sur le bouton retour
259 $this->byCssSelector("#sformulaire a.retour")->click();sleep(1);
260 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
261 $this->verifyNoErrors();
262 //On vérifie qu'il n'y a aucun enregistrement
263 $this->assertRegExp("/^[\s\S]*Aucun enregistrements[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise")->text());
264 //On se déconnecte de l'application
265 $this->logout();
266 }
267
268 /**
269 * Test l'affichage des pièces numérisées dans un DA]
270 */
271 public function testAffichageDA() {
272
273 // On se connecte à l'application
274 $this->login("instr", "instr");
275 // On clique sur le menu
276 $this->byLinkText("Autorisation")->click();
277 $this->byLinkText("Dossiers D'autorisation")->click();
278 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
279 $this->verifyNoErrors();
280 // On clique sur un dossier d'autorisation possédant au moins un arrêté signé
281 $this->byLinkText("AZ 013055 12 00001")->click();
282 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283 $this->verifyNoErrors();
284 // On clique sur l'onglet "Pièce(s)"
285 $this->byId("document_numerise")->click();
286 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
287 $this->verifyNoErrors();
288 // On vérifie que le document est présent
289 // html body#jqueryui div#content.ui-widget div#formulaire.ui-tabs div#ui-tabs-2.i-tabs-panel div#sousform-document_numerise div#sousform-document_numerise div.formEntete table.tab-tab
290 $this->assertRegExp("/^[\s\S]*20130614ARRT.pdf[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise table")->text());
291 // On clique sur le document
292 $this->byLinkText("20130614ARRT.pdf")->click();sleep(5);
293 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
294 $this->verifyNoErrors();
295 // Liste les fenêtres
296 $windows = $this->windowHandles();
297 // Change la fenêtre
298 $this->window($windows[1]);
299 // On vérifie qu'il n'y ait pas d'erreur
300 $this->verifynoerrors();
301 // On vérifie que le text est présent
302 $this->assertRegExp("/^[\s\S]*sjudgbjuwskfdhgvujdfkgvh[\s\S]*$/",$this->source());
303 // On ferme la fenêtre
304 $this->closeWindow();
305 // On change le focus de la fenêtre
306 $this->window($windows[0]);
307 //On se déconnecte de l'application
308 $this->logout();
309 }
310
311 }
312
313 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26