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

Diff of /branches/3.14.x/tests/testInstruction.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 1981 by softime, Tue Jun 4 17:07:45 2013 UTC
# Line 14  require_once "base.php"; Line 14  require_once "base.php";
14   */   */
15  class Instruction extends BaseTestCase {  class Instruction extends BaseTestCase {
16    
     private function login() {  
         // on commence par se connecter  
         $this->connect("instr", "instr");  
         // 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      public function testGeneral() {      public function test_01_ouverture_de_chaque_ecran_par_l_instructeur() {
22          //          //
23          $this->login();          $this->login("instr", "instr");
   
24          //          //
25          $this->clickAndWait("link=mes encours");          $this->clickAndWait("link=mes encours");
26            $this->verifyNoErrors();
27          $this->verifyTextPresent("DI");          $this->verifyTextPresent("DI");
         $this->verifyNoDatabaseError();  
28          //          //
29          $this->clickAndWait("link=tous les encours");          $this->clickAndWait("link=tous les encours");
30            $this->verifyNoErrors();
31          $this->verifyTextPresent("DI");          $this->verifyTextPresent("DI");
         $this->verifyNoDatabaseError();  
32          //          //
33          $this->clickAndWait("link=mes clôturés");          $this->clickAndWait("link=mes clôturés");
34            $this->verifyNoErrors();
35          $this->verifyTextPresent("DI");          $this->verifyTextPresent("DI");
         $this->verifyNoDatabaseError();  
36          //          //
37          $this->clickAndWait("link=tous les clôturés");          $this->clickAndWait("link=tous les clôturés");
38            $this->verifyNoErrors();
39          $this->verifyTextPresent("DI");          $this->verifyTextPresent("DI");
         $this->verifyNoDatabaseError();  
40          //          //
41          $this->clickAndWait("link=recherche");          $this->clickAndWait("link=recherche");
42            $this->verifyNoErrors();
43          $this->verifyTextPresent("DI");          $this->verifyTextPresent("DI");
         $this->verifyNoDatabaseError();  
44          //          //
45          $this->clickAndWait("link=dossiers a qualifier");          $this->clickAndWait("link=dossiers à qualifier");
46            $this->verifyNoErrors();
47          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
         $this->verifyNoDatabaseError();  
48          //          //
49          $this->clickAndWait("link=Mes retours");          $this->clickAndWait("link=Mes retours");
50            $this->verifyNoErrors();
51          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
         $this->verifyNoDatabaseError();  
52          //          //
53          $this->clickAndWait("link=Tous les retours");          $this->clickAndWait("link=Tous les retours");
54            $this->verifyNoErrors();
55          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
         $this->verifyNoDatabaseError();  
56          //          //
57          $this->clickAndWait("link=Mes messages");          $this->clickAndWait("link=Mes messages");
58            $this->verifyNoErrors();
59          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
         $this->verifyNoDatabaseError();  
60          //          //
61          $this->clickAndWait("link=Tous les messages");          $this->clickAndWait("link=Tous les messages");
62            $this->verifyNoErrors();
63          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
         $this->verifyNoDatabaseError();  
64          //          //
65          $this->clickAndWait("css=a.commission_mes_retours-16");          $this->clickAndWait("css=a.commission_mes_retours-16");
66            $this->verifyNoErrors();
67          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
         $this->verifyNoDatabaseError();  
68          //          //
69          $this->clickAndWait("css=a.commission_tous_retours-16");          $this->clickAndWait("css=a.commission_tous_retours-16");
70            $this->verifyNoErrors();
71          $this->verifyTextPresent("dossier");          $this->verifyTextPresent("dossier");
72          $this->verifyNoDatabaseError();      
   
73          //          //
74          $this->logout();          $this->logout();
75      }      }
76        
77      /**      /**
78       *       *
79       */       */
80      public function testConsultationDeServices() {      public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
81          //          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
82          $this->login();          $this->setSpeed('120');
83            // On se connecte en tant que "instr"
84            $this->login("instr", "instr");
85            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
86            $this->verifyNoErrors();
87            // On clique sur le lien "Mes encours" dans le menu
88          $this->clickAndWait("link=mes encours");          $this->clickAndWait("link=mes encours");
89          // Accès au dossier en visualisation          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
90            $this->verifyNoErrors();
91            // On clique sur le lien "AZ0130551200001P0" dans le tableau
92          $this->clickAndWait("link=AZ0130551200001P0");          $this->clickAndWait("link=AZ0130551200001P0");
93          $this->verifyNoDatabaseError();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
94          // Accès à l'onglet des consultations          $this->verifyNoErrors();
95            // On vérifie que le breadcrumb est correct
96            $this->verifyTextPresent("Instruction > dossiers d'instruction >  AZ0130551200001P0  PETIT MARTHE");
97            // On clique sur l'onglet "Instruction"
98            $this->click("id=instruction");
99            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
100            $this->verifyNoErrors();
101            // On clique sur l'onglet "Consultation(s)"
102          $this->click("id=consultation");          $this->click("id=consultation");
103          $this->setSpeed('120');          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
104          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
105          //// Ajout d'une simple consultation          // On clique sur l'onglet "Lot(s)"
106          // On clique sur le bouton ajout          $this->click("id=lot");
107          $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a/span");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
108          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
109          // On sélectionne le service          // On clique sur l'onglet "Message(s)"
110          $this->select("id=service", "label=1ER Maire 1er Secteur");          $this->click("id=dossier_message");
111          // On valide le formulaire          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
112          $this->click("//input[@value='Ajouter']");          $this->verifyNoErrors();
113          $this->verifyNoDatabaseError();          // On clique sur l'onglet "Commission(s)"
114          //          $this->click("id=dossier_commission");
115          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
116          // On clique sur le bouton retour          $this->verifyNoErrors();
117          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          // On clique sur l'onglet "Bloc-note"
118                    $this->click("id=blocnote");
119          //// Ajout de plusieurs consultations          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
120          // On clique sur le bouton ajout multiple          $this->verifyNoErrors();
121          $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span");          // On clique sur l'onglet "DA"
122          $this->verifyNoDatabaseError();          $this->click("id=dossier_autorisation");
123          // On sélectionne trois servcies          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
124          $this->click("id=t10_572_0_");          $this->verifyNoErrors();
125          $this->click("id=t10_575_0_");          // On clique sur le lien "AZ0130551200001" dans le tableau
126          $this->click("id=t10_584_0_");          $this->clickAndWait("link=AZ0130551200001");
127          // On les ajoute à la sélection          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
128          $this->click("id=add-ser-them");          $this->verifyNoErrors();
129          // On valide le formulaire          // On vérifie que le breadcrumb est correct
130          $this->click("id=button_val");          $this->verifyTextPresent("Autorisation > Dossier d'autorisation > AZ0130551200001");
131          $this->verifyNoDatabaseError();          // On clique sur l'onglet "Dossier(s) d'instruction"
132          //          $this->click("id=dossier_instruction");
133          $this->verifyTextPresent("3 service(s) sélectionné(s) dont 0 consultation(s) papier.");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
134                    $this->verifyNoErrors();
135          // On vérifie que nous avons bien 4 consultations affichées          // On clique sur le lien "AZ0130551200001P0" dans le tableau
136          $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");          $this->clickAndWait("link=AZ0130551200001P0");
137            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
138          //          $this->verifyNoErrors();
139            // On vérifie que le breadcrumb est correct
140            $this->verifyTextPresent("Instruction > dossiers d'instruction >  AZ0130551200001P0  PETIT MARTHE");
141            // On se déconnecte
142          $this->logout();          $this->logout();
143      }      }
144    
145        /**
146         *
147         */
148        public function test_03_informations_du_widget_profil_instructeur() {
149            // On se connecte en tant que "instr"
150            $this->login("instr", "instr");
151            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
152            $this->verifyNoErrors();
153            // On vérifie que le titre du widget est correct
154            $this->verifyTextPresent("instructeur");
155            // On vérifie que le nom de l'instructeur affiché est le bon
156            $this->verifyText("css=div.instructeur-infos-nom > span.value", "Louis Laurent");
157            // On vérifie que la division de l'instructeur affichée est la bonne
158            $this->verifyText("css=div.instructeur-infos-division > span.value", "H");
159            // On se déconnecte
160            $this->logout();
161            // On se connecte en tant que "instr"
162            $this->login("instr1", "instr");
163            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
164            $this->verifyNoErrors();
165            // On vérifie que le titre du widget est correct
166            $this->verifyTextPresent("instructeur");
167            // On vérifie que le nom de l'instructeur affiché est le bon
168            $this->verifyText("css=div.instructeur-infos-nom > span.value", "Martine Nadeau");
169            // On vérifie que la division de l'instructeur affichée est la bonne
170            $this->verifyText("css=div.instructeur-infos-division > span.value", "H");
171            // On se déconnecte
172            $this->logout();
173            // On se connecte en tant que "instr"
174            $this->login("instr2", "instr");
175            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
176            $this->verifyNoErrors();
177            // On vérifie que le titre du widget est correct
178            $this->verifyTextPresent("instructeur");
179            // On vérifie que le nom de l'instructeur affiché est le bon
180            $this->verifyText("css=div.instructeur-infos-nom > span.value", "Roland Richard");
181            // On vérifie que la division de l'instructeur affichée est la bonne
182            $this->verifyText("css=div.instructeur-infos-division > span.value", "J");
183            // On se déconnecte
184            $this->logout();
185        }
186  }  }
187    
188  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26