/[openfoncier]/branches/3.14.x/tests/testPieces.php
ViewVC logotype

Diff of /branches/3.14.x/tests/testPieces.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2091 by softime, Fri May 31 11:09:40 2013 UTC revision 2092 by softime, Wed Jul 17 12:50:53 2013 UTC
# Line 3  Line 3 
3   *   *
4   *   *
5   * @package openfoncier   * @package openfoncier
6   * @version SVN : $Id   * @version SVN : $Id:
7   */   */
8    
9  //  //
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   * Cette classe permet de tester l'interface de l'onglet "Pièce"   * Cette classe permet de tester l'interface de l'onglet "Pièce"
14   *   *
15   * Données utilisées : dossier PC0130551200001P0   * Données utilisées : dossier AT0130551200001P0
16   * Fichiers utilisés :   * Fichiers utilisés :
17   * Dans binary_files/test_digitalizedDocument/Transfert_GED/   * testImportManuel.jpg, testImportManuel.pdf, testImportManuel2.pdf
  * -> Todo  
  * -> PC0130551200001.P0  
  *  -> 20091106AUTPCP.pdf  
  * -> PC0130551200002.P0  
  *-> Done  
  * -> PC0130551200001.P0  
  *  
18   */   */
19  class PiecesTest extends BaseTestCase {  class PiecesTest extends Base2TestCase {
20    
21      /**      /**
22       * Test l'ajout de pièce       * Test l'ajout de pièce
23       */       */
24      public function testAjoutPiece() {      public function testAjoutPiece() {
         // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement  
         $this->setSpeed("300");  
25          //On se connecte à l'application          //On se connecte à l'application
26          $this->login("instr", "instr");          $this->login("instr", "instr");
27          //On clic sur le menu          //On clic sur le menu
28          $this->click("link=Instruction");          $this->byLinkText("Mes Encours")->click();
29          //On clic sur le sous-menu          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
30          $this->clickAndWait("link=recherche");          $this->verifyNoErrors();
31          //On clic sur le dossier          //On clic sur le dossier
32          $this->clickAndWait("link=PC0130551200001P0");          $this->byLinkText("AT0130551200001P0")->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          //On clic sur l'onglet
36          $this->click("id=document_numerise");          $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          //On vérifie qu'il n'y a aucun enregistrement
40          $this->verifyTextPresent("Aucun enregistrements");          $this->assertRegExp("/^[\s\S]*Aucun enregistrements[\s\S]*$/",$this->byCssSelector("BODY")->text());
41          //On vérifie la présence du bouton "Ajouter" (le "+" au dessus du tableau)          //On vérifie la présence du bouton "Ajouter" (le "+" au dessus du tableau)
42          //et du texte "Ajouter un document"          //et du texte "Ajouter un document"
43          $this->verifyElementPresent("css=.add-16");          $this->assertRegExp("/^[\s\S]*Ajouter un document[\s\S]*$/",$this->byCssSelector("BODY")->text());
44          //On clic sur "Ajouter un document"          //On clic sur "Ajouter un document"
45          $this->click("css=.add-16");          $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          //On ecrit les données
49          $this->type("id=date_creation", "01/01/2013");          $this->byId("date_creation")->clear();
50          $this->select("id=document_numerise_type", "arrêté participations");          $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          //On clic sur le bouton pour ajouter un fichier
54          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
55          //On sélectionne le document          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
56          $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.pdf");          $this->verifyNoErrors();
57          //Valide le téléchargement          //On sélectionne un document non pdf
58          $this->click("name=submit");          $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          //On clic sur le bouton ajouter
68          $this->click('//input[@value="Ajouter"]');          $this->byXPath('//input[@value="Ajouter"]')->click();
69          //On clic sur le bouton retour          //On clic sur le bouton retour
70          $this->click("link=Retour");          $this->byCssSelector("#sformulaire a.retour")->click();sleep(1);
71          //On clic sur le menu          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
72          $this->click("link=Instruction");          $this->verifyNoErrors();
         //On clic sur le sous-menu  
         $this->clickAndWait("link=recherche");  
         //On clic sur le dossier  
         $this->clickAndWait("link=PC0130551200001P0");  
         //On clic sur l'onglet  
         $this->click("id=document_numerise");  
73          //On vérifie que le document à été ajouté          //On vérifie que le document à été ajouté
74          $this->verifyElementPresent("link=20130101APA.pdf");          $this->assertRegExp("/^[\s\S]*20130101NDL.pdf[\s\S]*$/",$this->byCssSelector("BODY")->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          //On se déconnecte de l'application
96          $this->deconnect();          $this->deconnect();
97    
98      }      }
99    
100      /**      /**
101       * Test l'affichage du tableau des "Pièces"       * Test l'ajout de pièce déjà existante
102       */       */
103      public function testAffichageTableau() {      public function testAjoutPieceUnique() {
         // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement  
         $this->setSpeed("300");  
104          //On se connecte à l'application          //On se connecte à l'application
105          $this->login("instr", "instr");          $this->login("instr", "instr");
106          //On clic sur le menu          //On clic sur le menu
107          $this->click("link=Instruction");          $this->byLinkText("Mes Encours")->click();
108          //On clic sur le sous-menu          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
109          $this->clickAndWait("link=recherche");          $this->verifyNoErrors();
110          //On clic sur le dossier          //On clic sur le dossier
111          $this->clickAndWait("link=PC0130551200001P0");          $this->byLinkText("AT0130551200001P0")->click();
112          //On vérifie la présence de l'onglet          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113          $this->verifyElementPresent("id=document_numerise");          $this->verifyNoErrors();
114          //On clic sur l'onglet          //On clic sur l'onglet
115          $this->click("id=document_numerise");          $this->byId("document_numerise")->click();
116          //On vérifie la présence des données          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
117          $this->verifyElementPresent("link=20130101APA.pdf");          $this->verifyNoErrors();
118          //On vérifie la categorie du document          //On clic sur "Ajouter un document"
119          $this->assertText("css=thead tr th.headerCat", "Arrêté");          $this->byCssSelector(".add-16")->click();
120          //On vérifie la date de dépot du document          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
121          $this->assertText("css=thead tr th.headerDate", "01/01/2013");          $this->verifyNoErrors();
122          //On télécharge un document en pdf          //On ecrit les données
123          $this->click("link=20130101APA.pdf");          $this->byId("date_creation")->clear();
124          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          $this->acceptAlert();
125          $this->waitForPopUp("", "30000");          $this->byId("date_creation")->value("01/01/2013");
126          $this->selectPopUp();          $this->select($this->byId("document_numerise_type"))->selectOptionByLabel("notification de délai");
127          sleep(5);          //On clic sur le bouton pour ajouter un fichier
128          $this->verifyNoErrors();          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
129          $this->close();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
130          //On retourne la fenre de base          $this->verifyNoErrors();
131          $this->selectWindow();          //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->byCssSelector("BODY")->text());
140          //On se déconnecte de l'application          //On se déconnecte de l'application
141          $this->deconnect();          $this->deconnect();
142    
143      }      }
144    
145      /**      /**
146       * Test l'ajout de pièce déjà existante       * Test la modification des pièces numérisés par l'administrateur
147       */       */
148      public function testAjoutPieceUnique() {      public function testModificationPiece() {
         // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement  
         $this->setSpeed("300");  
149          //On se connecte à l'application          //On se connecte à l'application
150          $this->login("instr", "instr");          $this->login("admin", "admin");
151          //On clic sur le menu          //On clic sur le menu
152          $this->click("link=Instruction");          $this->byLinkText("Instruction")->click();
153          //On clic sur le sous-menu          $this->byLinkText("Recherche")->click();
154          $this->clickAndWait("link=recherche");          // 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          //On clic sur le dossier
157          $this->clickAndWait("link=PC0130551200001P0");          $this->byLinkText("AT0130551200001P0")->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          //On clic sur l'onglet
161          $this->click("id=document_numerise");          $this->byId("document_numerise")->click();
162          //On clic sur le bouton "Ajouter"          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163          $this->click("css=.add-16");          $this->verifyNoErrors();
164          //On ecrit les données          //On clic sur le document
165          $this->type("id=date_creation", "01/01/2013");          $this->byLinkText("20130101NDL.pdf")->click();
166          $this->select("id=document_numerise_type", "arrêté participations");          // 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->byXPath("(//div[@id='portlet-actions']/ul/li/a/span)[6]")->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("BODY")->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          //On clic sur le bouton pour ajouter un fichier
185          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
186          //On sélectionne le document          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
187          $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.pdf");          $this->verifyNoErrors();
188          //Valide le téléchargement          //On sélectionne un document non pdf
189          $this->click("name=submit");          $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel2.pdf");
190          //On clic sur le bouton ajouter          $this->byName("submit")->click();
191          $this->click('//input[@value="Ajouter"]');          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
192          //On vérifie qu'il y une erreur          $this->verifyNoErrors();
193          $this->assertTextPresent("Les valeurs saisies dans les champs");          //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          //On se déconnecte de l'application
221          $this->deconnect();          $this->deconnect();
   
222      }      }
223    
224      /**      /**
225       * Test l'ajout de pièce dont l'extension n'est pas .pdf       * Test la suppression des pièces numérisés par l'administrateur
226       */       */
227      public function testAjoutPieceNonPDF() {      public function testSuppressionPiece() {
         // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement  
         $this->setSpeed("300");  
228          //On se connecte à l'application          //On se connecte à l'application
229          $this->login("instr", "instr");          $this->login("admin", "admin");
230          //On clic sur le menu          //On clic sur le menu
231          $this->click("link=Instruction");          $this->byLinkText("Instruction")->click();
232          //On clic sur le sous-menu          $this->byLinkText("Recherche")->click();
233          $this->clickAndWait("link=recherche");          // 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          //On clic sur le dossier
236          $this->clickAndWait("link=PC0130551200001P0");          $this->byLinkText("AT0130551200001P0")->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          //On clic sur l'onglet
240          $this->click("id=document_numerise");          $this->byId("document_numerise")->click();
241          //On clic sur le bouton "Ajouter"          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242          $this->click("css=.add-16");          $this->verifyNoErrors();
243          //On ecrit les données          //On clic sur le document
244          $this->type("id=date_creation", "01/01/2013");          $this->byLinkText("20130420DGPA04.pdf")->click();
245          $this->select("id=document_numerise_type", "arrêté participations");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246          //On clic sur le bouton pour ajouter un fichier          $this->verifyNoErrors();
247          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          // On vérifie que les informations s'affichent
248          //On sélectionne le document          $this->assertEquals("20/04/2013", $this->byId('date_creation')->text());
249          $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/test_digitalizedDocument/testImportManuel.jpg");          $this->assertEquals("plan de composition d'ensemble du projet", $this->byId('document_numerise_type')->text());
250          //Valide le téléchargement          // On clic sur le bouton supprimer
251          $this->click("name=submit");          $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
252          //On vérifie le message d'erreur          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
253          $this->assertText("css=#upload-container .message .text", "Le fichier n'est pas conforme à la liste des extension\(s\) autorisée\(s\) \(.pdf\)\. \[testImportManuel\.jpg\]");        //On se déconnecte de l'application          $this->verifyNoErrors();
254          //On ferme l'overlay          //On clic sur le bouton supprimer
255          $this->click("css=.ui-dialog-titlebar a.ui-dialog-titlebar-close");          $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();
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("BODY")->text());
264          //On se déconnecte de l'application          //On se déconnecte de l'application
265          $this->deconnect();          $this->deconnect();
266      }      }

Legend:
Removed from v.2091  
changed lines
  Added in v.2092

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26