/[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 1695 by nhaye, Mon Apr 15 17:37:00 2013 UTC revision 1818 by fmichon, Thu May 2 15:22:24 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
# Line 40  class Suivi extends BaseTestCase { Line 24  class Suivi extends BaseTestCase {
24       */       */
25      public function testGeneral() {      public function testGeneral() {
26          //          //
27          $this->login();          $this->login("suivi", "suivi");
28            
29          //          //
30          $this->clickAndWait("link=Mise à jour des dates");          $this->clickAndWait("link=Mise à jour des dates");
31          $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");          $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
32          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
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();          $this->logout();
# Line 65  class Suivi extends BaseTestCase { Line 49  class Suivi extends BaseTestCase {
49       */       */
50      public function testEnvoiLettreRAR() {      public function testEnvoiLettreRAR() {
51          //          //
52          $this->login();          $this->login("suivi", "suivi");
53                    
54          //          //
55          $this->clickAndWait("link=envoi lettre RAR");          $this->clickAndWait("link=envoi lettre RAR");
56          $this->verifyTextPresent("suivi > suivi des pièces > envoi lettre RAR");          $this->verifyTextPresent("suivi > suivi des pièces > envoi lettre RAR");
57          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
58            
59          // Vérification sans valeur saisie          // Vérification sans valeur saisie
60          $this->clickAndWait("//input[@value='Valider']");          $this->clickAndWait("//input[@value='Valider']");
61            $this->verifyNoErrors();
62          $this->verifyTextPresent("Tous les champs doivent être remplis.");          $this->verifyTextPresent("Tous les champs doivent être remplis.");
63    
64            // Vérification avec un numéro non valide
65            $this->type("id=liste_code_barres_instruction", "a");
66            $this->clickAndWait("//input[@value='Valider']");
67            $this->verifyNoErrors();
68            $this->verifyTextPresent("Le code barres d'instruction a n'est pas valide.");
69    
70          // Vérification avec un numéro non présent en base          // Vérification avec un numéro non présent en base
71          $this->type("id=liste_instruction", "a");          $this->type("id=liste_code_barres_instruction", "123");
72          $this->clickAndWait("//input[@value='Valider']");          $this->clickAndWait("//input[@value='Valider']");
73          $this->verifyTextPresent("Le numéro a ne correspond à aucune instruction.");          $this->verifyNoErrors();
74            $this->verifyTextPresent("Le numéro 123 ne correspond à aucun code barres d'instruction.");
75    
76          // Vérification formulaire valide          // Vérification formulaire valide
77          $this->type("id=liste_instruction", "1");          $this->type("id=liste_code_barres_instruction", "110000000001");
78          $this->clickAndWait("//input[@value='Valider']");          $this->clickAndWait("//input[@value='Valider']");
79          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
80          $this->verifyTextPresent("1 feuillets générés :");          $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre document :");
81          $this->verifyTextPresent("Télécharger les feuillets pour RAR");          $this->verifyTextPresent("Télécharger le document pour 1 RAR");
82          //          //
83          $this->logout();          $this->logout();
84      }      }
# Line 91  class Suivi extends BaseTestCase { Line 86  class Suivi extends BaseTestCase {
86      /**      /**
87       *       *
88       */       */
     public function testRetoursDeConsultation() {  
         //  
         $this->login();  
       
         //  
         $this->clickAndWait("link=retours de consultation");  
         $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");  
         $this->verifyNoDatabaseError();  
       
         //  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoDatabaseError();  
         $this->verifyTextPresent("Veuiller saisir un N° de consultation.");  
       
         //  
         $this->type("id=consultation", "aze");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoDatabaseError();  
         $this->verifyTextPresent("Cette consultation n'existe pas.");  
       
         // XXX Aller plus loin dans les cas d'utilisation lors de la saisie  
         $this->type("id=consultation", "1");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoDatabaseError();  
         $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation >  1");  
         $this->verifyTextPresent("AZ0130551200001P0");  
         $this->select("id=avis_consultation", "label=Favorable");  
         $this->type("id=motivation", "blablabla");  
   
         //  
         $this->clickAndWait("//input[@value='Modifier']");  
         $this->verifyNoDatabaseError();  
         $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");  
         $this->clickAndWait("link=Retour");  
         $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");  
       
         //  
         $this->logout();  
     }  
   
     /**  
      *  
      */  
89      public function testBordereaux() {      public function testBordereaux() {
90          //          //
91          $this->login();          $this->login("suivi", "suivi");
92        
93          //          //
94          $this->clickAndWait("link=Bordereaux");          $this->clickAndWait("link=Bordereaux");
95            $this->verifyNoErrors();
96          $this->verifyTextPresent("suivi > suivi des pièces > bordereaux");          $this->verifyTextPresent("suivi > suivi des pièces > bordereaux");
97          $this->verifyNoDatabaseError();      
   
98          //          //
99          $this->clickAndWait("//input[@value='Valider']");          $this->clickAndWait("//input[@value='Valider']");
100          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
101          $this->verifyTextPresent("Veuillez sélectionner un bordereau.");          $this->verifyTextPresent("Veuillez sélectionner un bordereau.");
102                    
103          //          //
# Line 154  class Suivi extends BaseTestCase { Line 106  class Suivi extends BaseTestCase {
106          $this->type("id=date_bordereau", "");          $this->type("id=date_bordereau", "");
107          $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());          $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());
108          $this->clickAndWait("//input[@value='Valider']");          $this->clickAndWait("//input[@value='Valider']");
109          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
110          $this->verifyTextPresent("Veuillez saisir une date valide.");          $this->verifyTextPresent("Veuillez saisir une date valide.");
111        
112          //          //
113          $bordereaux = array(          $bordereaux = array(
114              "Bordereau d'envoi des avis du Maire au Préfet",              "Bordereau d'envoi des avis du Maire au Préfet",
# Line 174  class Suivi extends BaseTestCase { Line 126  class Suivi extends BaseTestCase {
126              $this->waitForPopUp("", "30000");              $this->waitForPopUp("", "30000");
127              $this->selectPopUp();              $this->selectPopUp();
128              sleep(5);              sleep(5);
129              $this->verifyNoDatabaseError();              $this->verifyNoErrors();
130              $this->verifyTextPresent("Edition du ".date("d/m/Y"));              $this->verifyTextPresent("Edition du ".date("d/m/Y"));
131              $this->close();              $this->close();
132              $this->selectWindow();              $this->selectWindow();
133          }          }
134        
135            //
136            $this->logout();
137        }
138    
139        public function test_20_mise_a_jour_des_dates_simple_par_la_cellule_suivi() {
140            // On se connecte en tant que "suivi"
141            $this->login("suivi", "suivi");
142            // On clique sur le lien "Mise à jour des dates" dans le menu
143            $this->clickAndWait("link=Mise à jour des dates");
144            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145            $this->verifyNoErrors();
146            //
147            $dates = array(
148                0 => array(
149                    "id" => "date_envoi_signature",
150                    "label" => "date d'envoi pour signature Mairie/Préfet",
151                    "date" => "10/04/2013",
152                ),
153                1 => array(
154                    "id" => "date_retour_signature",
155                    "label" => "date de retour de signature Mairie/Préfet",
156                    "date" => "12/04/2013",
157                ),
158                2 => array(
159                    "id" => "date_envoi_controle_legalite",
160                    "label" => "date d'envoi au contrôle de légalite",
161                    "date" => "12/04/2013",
162                ),
163                3 => array(
164                    "id" => "date_retour_controle_legalite",
165                    "label" => "date de retour de controle de légalite",
166                    "date" => "18/04/2013",
167                ),
168            );
169            foreach($dates as $date) {
170                // On vérifie que le titre de la page est correct
171                $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
172                // On saisi les informations de mise  à jour de la date
173                $this->select("id=type_mise_a_jour", "label=".$date["label"]."");
174                $this->type("id=date", $date["date"]);
175                $this->type("id=code_barres", "110000000009");
176                // On clique sur le bouton "Valider"
177                $this->clickAndWait("name=validation");
178                // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179                $this->verifyNoErrors();
180                // On vérifie que le les informations du dossier sont bien présentes
181                $this->verifyText("id=dossier", "AZ0130551200001P0");
182                $this->verifyText("id=".$date["id"]."", $date["date"]);
183                // On clique sur le bouton "Valider"
184                $this->clickAndWait("name=validation");
185                // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
186                $this->verifyNoErrors();
187                // On vérifie que le message de validation est présent
188                $this->verifyTextPresent("Saisie enregistrée");
189            }
190            // On clique sur le logo pour revenir au tableau de bord
191            $this->click("css=span.logo");
192            // On se déconnecte
193            $this->logout();
194    
195            // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
196            $this->setSpeed('120');
197            // On se connecte en tant que "instr"
198            $this->login("instr", "instr");
199            // On saisit le numéro de dossier "AZ0130551200001P0" dans le champ de recherche du widget "accès direct" du tableau de bord qui possède le focus
200            $this->type("id=dossier", "AZ0130551200001P0");
201            // On clique sur le bouton "Rechercher" du widget "accès direct" du tableau de bord
202            $this->clickAndWait("name=validation");
203            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
204            $this->verifyNoErrors();
205            // On vérifie que le titre de la page est correct (que nous sommes sur le bon dossier)
206            $this->verifyTextPresent("Instruction > dossiers d'instruction >  AZ0130551200001P0");
207            // On clique sur l'onglet "Instruction"
208            $this->click("id=instruction");
209            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210            $this->verifyNoErrors();
211            // On clique sur le lien de l'événement d'instruction n°9
212            $this->click("link=arrete");
213            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
214            $this->verifyNoErrors();
215            // On vérifie que le sous-titre est correct (que nous sommes sur le bon événement d'instruction)
216            $this->verifyTextPresent("Instruction  9");
217          //          //
218            foreach($dates as $date) {
219                //
220                $this->verifyText("id=".$date["id"]."", $date["date"]);
221            }
222            // On clique sur le bouton retour
223            $this->click("css=#sformulaire > a.retour");
224            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
225            $this->verifyNoErrors();
226            // On clique sur le logo pour revenir au tableau de bord
227            $this->click("css=span.logo");
228            // On se déconnecte
229          $this->logout();          $this->logout();
230      }      }
231    

Legend:
Removed from v.1695  
changed lines
  Added in v.1818

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26