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

Annotation of /trunk/tests/testPieces.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2450 - (hide annotations)
Thu Nov 7 18:56:52 2013 UTC (11 years, 2 months ago) by vpihour
File size: 21659 byte(s)
Ajout de deux nouveaux web-services. Un sortant vers le référentiel ERP qui lui envoie un message en cas d'ajout de pièces sur un dossier AT et un entrant qui va compléter ou clôturer un dossier AT.

1 softime 1875 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6 softime 2092 * @version SVN : $Id:
7 softime 1875 */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     * Cette classe permet de tester l'interface de l'onglet "Pièce"
14     *
15 softime 2092 * Données utilisées : dossier AT0130551200001P0
16 softime 1953 * Fichiers utilisés :
17 softime 2092 * testImportManuel.jpg, testImportManuel.pdf, testImportManuel2.pdf
18 softime 1875 */
19 softime 2092 class PiecesTest extends Base2TestCase {
20 softime 1875
21     /**
22     * Test l'ajout de pièce
23     */
24 vpihour 2450 public function stestAjoutPiece() {
25 softime 1875 //On se connecte à l'application
26 softime 1897 $this->login("instr", "instr");
27 softime 1875 //On clic sur le menu
28 softime 2092 $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 softime 1875 //On clic sur le dossier
32 softime 2112 $this->byLinkText("AT 013055 12 00001P0")->click();
33 softime 2092 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
34     $this->verifyNoErrors();
35 softime 1875 //On clic sur l'onglet
36 softime 2092 $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 softime 1889 //On vérifie qu'il n'y a aucun enregistrement
40 softime 2262 $this->assertRegExp("/^[\s\S]*Aucun enregistrements[\s\S]*$/",$this->byId("sousform-document_numerise")->text());
41 softime 1953 //On vérifie la présence du bouton "Ajouter" (le "+" au dessus du tableau)
42     //et du texte "Ajouter un document"
43 softime 2262 $this->assertRegExp("/^[\s\S]*Ajouter un document[\s\S]*$/",$this->byId("sousform-document_numerise")->text());
44 softime 1953 //On clic sur "Ajouter un document"
45 softime 2092 $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 softime 1875 //On ecrit les données
49 softime 2092 $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 softime 1875 //On clic sur le bouton pour ajouter un fichier
54 softime 2092 $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 softime 1875 //On clic sur le bouton ajouter
68 softime 2092 $this->byXPath('//input[@value="Ajouter"]')->click();
69 softime 1875 //On clic sur le bouton retour
70 softime 2092 $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 softime 1875 //On vérifie que le document à été ajouté
74 softime 2262 $this->assertRegExp("/^[\s\S]*20130101NDL.pdf[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise table")->text());
75 softime 2092 //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 softime 1875 //On se déconnecte de l'application
96 fmichon 2183 $this->logout();
97 softime 1875
98     }
99    
100     /**
101 softime 2092 * Test l'ajout de pièce déjà existante
102 softime 1889 */
103 vpihour 2450 public function stestAjoutPieceUnique() {
104 softime 1889 //On se connecte à l'application
105 softime 1897 $this->login("instr", "instr");
106 softime 1889 //On clic sur le menu
107 softime 2092 $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 softime 1889 //On clic sur le dossier
111 softime 2112 $this->byLinkText("AT 013055 12 00001P0")->click();
112 softime 2092 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113     $this->verifyNoErrors();
114 softime 1889 //On clic sur l'onglet
115 softime 2092 $this->byId("document_numerise")->click();
116 softime 1965 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
117     $this->verifyNoErrors();
118 softime 2092 //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 softime 2262 $this->assertRegExp("/^[\s\S]*Les valeurs saisies dans les champs[\s\S]*$/",$this->byId("sformulaire")->text());
140 softime 1889 //On se déconnecte de l'application
141 fmichon 2183 $this->logout();
142 softime 2092
143 softime 1889 }
144    
145     /**
146 softime 2092 * Test la modification des pièces numérisés par l'administrateur
147 softime 1875 */
148 vpihour 2450 public function stestModificationPiece() {
149 softime 1875 //On se connecte à l'application
150 softime 2092 $this->login("admin", "admin");
151 softime 1875 //On clic sur le menu
152 softime 2092 $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 softime 1875 //On clic sur le dossier
157 softime 2112 $this->byLinkText("AT 013055 12 00001P0")->click();
158 softime 2092 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
159     $this->verifyNoErrors();
160 softime 1875 //On clic sur l'onglet
161 softime 2092 $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 fmichon 2211 $this->byId("action-sousform-document_numerise-modifier")->click();
171 softime 2092 // 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 fmichon 2211 $this->assertRegExp("/^[\s\S]*SAISIE NON[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise div.message")->text());
179 softime 2092 // 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 softime 1875 //On clic sur le bouton pour ajouter un fichier
185 softime 2092 $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 softime 1875 //On se déconnecte de l'application
221 fmichon 2183 $this->logout();
222 softime 1875 }
223    
224 softime 1953 /**
225 softime 2092 * Test la suppression des pièces numérisés par l'administrateur
226 softime 1953 */
227 vpihour 2450 public function stestSuppressionPiece() {
228 softime 1929 //On se connecte à l'application
229 softime 2092 $this->login("admin", "admin");
230 softime 1929 //On clic sur le menu
231 softime 2092 $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 softime 1929 //On clic sur le dossier
236 softime 2112 $this->byLinkText("AT 013055 12 00001P0")->click();
237 softime 2092 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
238     $this->verifyNoErrors();
239 softime 1929 //On clic sur l'onglet
240 softime 2092 $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 softime 2112 $this->byCssSelector("#sformulaire a.retour")->click();sleep(1);
260 softime 2092 // 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 softime 2262 $this->assertRegExp("/^[\s\S]*Aucun enregistrements[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise")->text());
264 softime 1929 //On se déconnecte de l'application
265 fmichon 2183 $this->logout();
266 softime 1929 }
267    
268 softime 2120 /**
269     * Test l'affichage des pièces numérisées dans un DA]
270     */
271 vpihour 2450 public function stestAffichageDA() {
272 softime 2120
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 fmichon 2211 $this->assertRegExp("/^[\s\S]*20130614ARRT.pdf[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise table")->text());
291 softime 2120 // On clique sur le document
292 fmichon 2211 $this->byLinkText("20130614ARRT.pdf")->click();sleep(5);
293 softime 2120 // 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 fmichon 2183 $this->logout();
309 softime 2120 }
310 vpihour 2450
311     /**
312     * Test de l'ajout de pièce à un dossier AT et envoi de message au
313     * référentiel ERP
314     */
315     public function testAjoutPieceDossierAT(){
316    
317     //{{{ On active l'option d'envoi de message à ERP
318     // On se connecte à l'application
319     $this->login("admin", "admin");
320     //On clique sur le menu "administration"
321     $this->byLinkText("Administration")->click();
322     //On clique sur l'entrée de menu "Paramètre"
323     $this->byLinkText("Paramètre")->click();
324     //On navique entre les pages
325     $this->byCssSelector("span.ui-icon.ui-icon-circle-triangle-e")->click();
326     $this->byCssSelector("span.ui-icon.ui-icon-circle-triangle-e")->click();
327     //On clique sur "option_erp"
328     $this->byLinkText("option_erp")->click();
329     //On clique sur "modifier"
330     $this->byLinkText("Modifier")->click();
331     //On active l'option
332     $this->byId("valeur")->clear();
333     $this->byId("valeur")->value("true");
334     //On valide en cliquant sur "Modifier"
335     $this->byXPath("//input[@value='Modifier']")->click();
336     //On se déconnecte de l'application
337     $this->deconnect();
338     //}}}
339    
340     //{{{On ajoute un dossier AT
341     // On se connecte à l'application
342     $this->login("guichet", "guichet");
343     //On clique sur le menu "Guichet Unique"
344     $this->byLinkText("Guichet Unique")->click();
345     //On clique sur l'entrée de menu "Nouveau Dossier"
346     $this->byLinkText("Nouveau Dossier")->click();
347     //On choisit le type détaillé de dossier d'autorisation
348     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("8");
349     //On choisit le type de la demande
350     $this->select($this->byId("demande_type"))->selectOptionByValue("8");
351     //On saisit le pétitionnaire principal
352     $this->byId("add_petitionnaire_principal")->click();
353     $this->byId("particulier_nom")->value("test");
354     $this->byCssSelector("#sousform-petitionnaire .formControls input")->click();
355     sleep(2);
356     $this->byCssSelector("#sousform-petitionnaire .formControls .retour")->click();
357     //On ajoute la demande
358     $this->byXPath("//input[@value='Ajouter']")->click();
359     // On vérifie le message de validation
360     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
361     //On récupère le numéro de dossier d'instruction créé
362     preg_match('/(AT)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
363     $dossier = $dossier[0];
364     //On se déconnecte de l'application
365     $this->deconnect();
366     //}}}
367    
368     //{{{On ajoute une pièce au dossier AT
369     // On se connecte à l'application
370     $this->login("instr", "instr");
371     //On clique sur le menu "Instruction"
372     $this->byLinkText("Instruction")->click();
373     //On clique sur le menu "Recherche"
374     $this->byLinkText("Recherche")->click();
375     //On clique sur le lien du dossier
376     $this->byLinkText($dossier)->click();
377     //On clique sur l'onglet "document numérisé"
378     $this->byId("document_numerise")->click();
379     //On clique sur "Ajouter un document"
380     $this->byCssSelector(".formEntete p a")->click();
381     //On ajoute un fichier
382     $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
383     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.pdf");
384     $this->byName("submit")->click();
385     //On choisit le type de document
386     $this->select($this->byId("document_numerise_type"))->selectOptionByValue("78");
387     //On valide l'ajout
388     $this->byXPath("//input[@value='Ajouter']")->click();
389     sleep(2);
390     //On vérifie le message de validation
391     $this->assertRegExp("/^[\s\S]*Le message a été transmis au référentiel ERP.[\s\S]*$/",$this->byCssSelector("#sousform-document_numerise .message")->text());
392     //}}}
393    
394     //{{{On vérifie que le message ne s'affiche pas sur un autre dossier
395     //On clique sur le menu "Instruction"
396     $this->byLinkText("Instruction")->click();
397     //On clique sur le menu "Recherche"
398     $this->byLinkText("Recherche")->click();
399     //On clique sur le lien du dossier
400     $this->byLinkText("CU 013055 12 00001P0")->click();
401     //On clique sur l'onglet "document numérisé"
402     $this->byId("document_numerise")->click();
403     //On clique sur "Ajouter un document"
404     $this->byCssSelector(".formEntete p a")->click();
405     //On ajoute un fichier
406     $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
407     $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.pdf");
408     $this->byName("submit")->click();
409     //On choisit le type de document
410     $this->select($this->byId("document_numerise_type"))->selectOptionByValue("78");
411     //On valide l'ajout
412     $this->byXPath("//input[@value='Ajouter']")->click();
413     //On vérifie le message de validation
414     $this->assertNotContains("Le message a été transmis au référentiel ERP.",$this->byCssSelector("#sousform-document_numerise .message")->text());
415     //On se déconnecte de l'application
416     $this->deconnect();
417     //}}}
418    
419     //{{{ On désactive l'option d'envoi de message à ERP
420     // On se connecte à l'application
421     $this->login("admin", "admin");
422     //On clique sur le menu "administration"
423     $this->byLinkText("Administration")->click();
424     //On clique sur l'entrée de menu "Paramètre"
425     $this->byLinkText("Paramètre")->click();
426     //On navique entre les pages
427     $this->byCssSelector("span.ui-icon.ui-icon-circle-triangle-e")->click();
428     $this->byCssSelector("span.ui-icon.ui-icon-circle-triangle-e")->click();
429     //On clique sur "option_erp"
430     $this->byLinkText("option_erp")->click();
431     //On clique sur "modifier"
432     $this->byLinkText("Modifier")->click();
433     //On désactive l'option
434     $this->byId("valeur")->clear();
435     $this->byId("valeur")->value("NA");
436     //On valide en cliquant sur "Modifier"
437     $this->byXPath("//input[@value='Modifier']")->click();
438     //On se déconnecte de l'application
439     $this->logout();
440     //}}}
441     }
442 softime 1875 }
443    
444     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26