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

Legend:
Removed from v.1677  
changed lines
  Added in v.1727

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26