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

Diff of /trunk/tests/testSuivi.php

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

revision 1673 by fmichon, Mon Apr 15 10:53:24 2013 UTC revision 1699 by nhaye, Tue Apr 16 10:31:12 2013 UTC
# Line 7  Line 7 
7   */   */
8    
9  //  //
10  require "base.php";  require_once "base.php";
11    
12  /**  /**
13   *   *
# Line 33  class Suivi extends BaseTestCase { Line 33  class Suivi extends BaseTestCase {
33      /**      /**
34       * Ce test vise uniquement à vérifier que les écrans correspondant à chaque       * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
35       * entrée de menu ne génère pas une erreur de base de données       * entrée de menu ne génère pas une erreur de base de données
36         *
37         * Ce test est temporaire, il permet d'effectuer un test grossier sur chacun
38         * des écrans en attendant que l'intégralité des cas d'utilisation soient
39         * testés
40       */       */
41      public function testGeneral() {      public function testGeneral() {
42          //          //
43          $this->login();          $this->login();
44        
         //  
         $this->clickAndWait("link=retours de consultation");  
         $this->verifyTextPresent("suivi > suivi des pieces > retours de consultation");  
         try {  
             $this->assertFalse($this->isTextPresent("Erreur de base de données. Contactez votre administrateur."));  
         } catch (PHPUnit_Framework_AssertionFailedError $e) {  
             array_push($this->verificationErrors, "Erreur de base de données.");  
         }  
45          //          //
46          $this->clickAndWait("link=Mise à jour des dates");          $this->clickAndWait("link=Mise à jour des dates");
47          $this->verifyTextPresent("suivi > suivi des pieces > mise a jour des dates");          $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
48          try {          $this->verifyNoDatabaseError();
             $this->assertFalse($this->isTextPresent("Erreur de base de données. Contactez votre administrateur."));  
         } catch (PHPUnit_Framework_AssertionFailedError $e) {  
             array_push($this->verificationErrors, "Erreur de base de données.");  
         }  
         //  
         $this->clickAndWait("link=Envoi lettre rar");  
         $this->verifyTextPresent("suivi > suivi des pieces > envoi lettre rar");  
         try {  
             $this->assertFalse($this->isTextPresent("Erreur de base de données. Contactez votre administrateur."));  
         } catch (PHPUnit_Framework_AssertionFailedError $e) {  
             array_push($this->verificationErrors, "Erreur de base de données.");  
         }  
         //  
         $this->clickAndWait("link=Bordereaux");  
         $this->verifyTextPresent("suivi > suivi des pieces > bordereaux");  
         try {  
             $this->assertFalse($this->isTextPresent("Erreur de base de données. Contactez votre administrateur."));  
         } catch (PHPUnit_Framework_AssertionFailedError $e) {  
             array_push($this->verificationErrors, "Erreur de base de données.");  
         }  
49          //          //
50          $this->clickAndWait("link=gestion");          $this->clickAndWait("link=gestion");
51          $this->verifyTextPresent("suivi > commissions > gestion");          $this->verifyTextPresent("suivi > commissions > gestion");
52          try {          $this->verifyNoDatabaseError();
             $this->assertFalse($this->isTextPresent("Erreur de base de données. Contactez votre administrateur."));  
         } catch (PHPUnit_Framework_AssertionFailedError $e) {  
             array_push($this->verificationErrors, "Erreur de base de données.");  
         }  
   
53          //          //
54          $this->clickAndWait("link=demandes");          $this->clickAndWait("link=demandes");
55          $this->verifyTextPresent("suivi > commissions > demandes");          $this->verifyTextPresent("suivi > commissions > demandes");
56          try {          $this->verifyNoDatabaseError();
57              $this->assertFalse($this->isTextPresent("Erreur de base de données. Contactez votre administrateur."));      
58          } catch (PHPUnit_Framework_AssertionFailedError $e) {          //
59              array_push($this->verificationErrors, "Erreur de base de données.");          $this->logout();
60        }
61    
62        /**
63         *  XXX tous les cas d'utilisation ne sont pas testés
64         * Permet de tester la génération de feuillets pour lettre avec accusé de récéption
65         */
66        public function testEnvoiLettreRAR() {
67            //
68            $this->login();
69            
70            //
71            $this->clickAndWait("link=envoi lettre RAR");
72            $this->verifyTextPresent("suivi > suivi des pièces > envoi lettre RAR");
73            $this->verifyNoDatabaseError();
74            // Vérification sans valeur saisie
75            $this->clickAndWait("//input[@value='Valider']");
76            $this->verifyTextPresent("Tous les champs doivent être remplis.");
77            // Vérification avec un numéro non présent en base
78            $this->type("id=liste_instruction", "a");
79            $this->clickAndWait("//input[@value='Valider']");
80            $this->verifyTextPresent("Le numéro a ne correspond à aucune instruction.");
81            // Vérification formulaire valide
82            $this->type("id=liste_instruction", "1");
83            $this->clickAndWait("//input[@value='Valider']");
84            $this->verifyNoDatabaseError();
85            $this->verifyTextPresent("1 feuillets générés :");
86            $this->verifyTextPresent("Télécharger les feuillets pour RAR");
87            //
88            $this->logout();
89        }
90        
91        /**
92         *
93         */
94        public function testRetoursDeConsultation() {
95            //
96            $this->login();
97        
98            //
99            $this->clickAndWait("link=retours de consultation");
100            $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
101            $this->verifyNoDatabaseError();
102        
103            //
104            $this->clickAndWait("//input[@value='Valider']");
105            $this->verifyNoDatabaseError();
106            $this->verifyTextPresent("Veuiller saisir un N° de consultation.");
107        
108            //
109            $this->type("id=consultation", "aze");
110            $this->clickAndWait("//input[@value='Valider']");
111            $this->verifyNoDatabaseError();
112            $this->verifyTextPresent("Cette consultation n'existe pas.");
113        
114            // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
115            $this->type("id=consultation", "1");
116            $this->clickAndWait("//input[@value='Valider']");
117            $this->verifyNoDatabaseError();
118            $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation >  1");
119            $this->verifyTextPresent("AZ0130551200001P0");
120            $this->select("id=avis_consultation", "label=Favorable");
121            $this->type("id=motivation", "blablabla");
122            // Ajout d'un fichier
123            // Test l'affichage d'un fichier si le champ est vide
124            $this->click("css=span.ui-icon.ui-icon-newwin");
125            $this->setSpeed('120');
126            $this->assertEquals("zone vide", $this->getAlert());
127            $this->click("css=span.ui-icon.ui-icon-closethick");
128            $this->setSpeed('120');
129            // Upload de fichier
130            $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");
131            $this->setSpeed('120');
132            // Validation sans saisie de fichier
133            $this->click("name=submit");
134            $this->setSpeed('120');
135            $this->verifyTextPresent("Vous devez sélectionner un fichier.");
136            // Saisie de fichier
137            $this->type("name=userfile[]", dirname(__FILE__)."/binaire/panier.png");
138            $this->click("name=submit");
139            $this->setSpeed('120');
140            // Visualisation du fichier
141            $this->click("css=span.ui-icon.ui-icon-newwin");
142            $this->setSpeed('120');
143            $this->verifyTextPresent("Voir > [ panier.png ]");
144            $this->click("css=span.ui-icon.ui-icon-closethick");
145            $this->setSpeed('120');
146            //
147            $this->clickAndWait("//input[@value='Modifier']");
148            $this->verifyNoDatabaseError();
149            $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");
150            $this->clickAndWait("link=Retour");
151            $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");
152        
153            //
154            $this->logout();
155        }
156    
157        /**
158         *
159         */
160        public function testBordereaux() {
161            //
162            $this->login();
163    
164            //
165            $this->clickAndWait("link=Bordereaux");
166            $this->verifyTextPresent("suivi > suivi des pièces > bordereaux");
167            $this->verifyNoDatabaseError();
168    
169            //
170            $this->clickAndWait("//input[@value='Valider']");
171            $this->verifyNoDatabaseError();
172            $this->verifyTextPresent("Veuillez sélectionner un bordereau.");
173            
174            //
175            $this->select("id=bordereau", "label=Bordereau d'envoi des avis du Maire au Préfet");
176            $this->click("id=date_bordereau");
177            $this->type("id=date_bordereau", "");
178            $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());
179            $this->clickAndWait("//input[@value='Valider']");
180            $this->verifyNoDatabaseError();
181            $this->verifyTextPresent("Veuillez saisir une date valide.");
182    
183            //
184            $bordereaux = array(
185                "Bordereau d'envoi des avis du Maire au Préfet",
186                "Bordereau d'envoi des contrôles de légalité",
187                "Bordereau d'envoi de courriers signature Maire",
188                "Bordereau d'envoi des décisions",
189            );
190            foreach ($bordereaux as $bordereau) {
191                //
192                $this->select("id=bordereau", "label=".$bordereau."");
193                $this->clickAndWait("//input[@value='Valider']");
194                $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre bordereau : \n\n".$bordereau." au ".date("d/m/Y"));
195                //
196                $this->click("link=".$bordereau." au ".date("d/m/Y"));
197                $this->waitForPopUp("", "30000");
198                $this->selectPopUp();
199                sleep(5);
200                $this->verifyNoDatabaseError();
201                $this->verifyTextPresent("Edition du ".date("d/m/Y"));
202                $this->close();
203                $this->selectWindow();
204          }          }
205    
206          //          //

Legend:
Removed from v.1673  
changed lines
  Added in v.1699

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26