/[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 2408 by softime, Tue Oct 15 10:12:25 2013 UTC
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   *   *
14   */   */
15  class Instruction extends BaseTestCase {  class Instruction extends Base2TestCase {
   
     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"));  
     }  
16    
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() {
         //  
         $this->login();  
   
         //  
         $this->clickAndWait("link=mes encours");  
         $this->verifyTextPresent("DI");  
         $this->verifyNoDatabaseError();  
         //  
         $this->clickAndWait("link=tous les encours");  
         $this->verifyTextPresent("DI");  
         $this->verifyNoDatabaseError();  
         //  
         $this->clickAndWait("link=mes clôturés");  
         $this->verifyTextPresent("DI");  
         $this->verifyNoDatabaseError();  
         //  
         $this->clickAndWait("link=tous les clôturés");  
         $this->verifyTextPresent("DI");  
         $this->verifyNoDatabaseError();  
         //  
         $this->clickAndWait("link=recherche");  
         $this->verifyTextPresent("DI");  
         $this->verifyNoDatabaseError();  
         //  
         $this->clickAndWait("link=dossiers a qualifier");  
         $this->verifyTextPresent("dossier");  
         $this->verifyNoDatabaseError();  
         //  
         $this->clickAndWait("link=Mes retours");  
         $this->verifyTextPresent("dossier");  
         $this->verifyNoDatabaseError();  
22          //          //
23          $this->clickAndWait("link=Tous les retours");          $this->login("instr", "instr");
         $this->verifyTextPresent("dossier");  
         $this->verifyNoDatabaseError();  
24          //          //
25          $this->clickAndWait("link=Mes messages");          $this->byLinkText("Mes Encours")->click();
26          $this->verifyTextPresent("dossier");          $this->verifyNoErrors();
27          $this->verifyNoDatabaseError();          $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
28          //          //
29          $this->clickAndWait("link=Tous les messages");          $this->byLinkText("Tous Les Encours")->click();
30          $this->verifyTextPresent("dossier");          $this->verifyNoErrors();
31          $this->verifyNoDatabaseError();          $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
32          //          //
33          $this->clickAndWait("css=a.commission_mes_retours-16");          $this->byLinkText("Mes Clôturés")->click();
34          $this->verifyTextPresent("dossier");          $this->verifyNoErrors();
35          $this->verifyNoDatabaseError();          $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
36          //          //
37          $this->clickAndWait("css=a.commission_tous_retours-16");          $this->byLinkText("Tous Les Clôturés")->click();
38          $this->verifyTextPresent("dossier");          $this->verifyNoErrors();
39          $this->verifyNoDatabaseError();          $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
40            //
41            $this->byLinkText("Recherche")->click();
42            $this->verifyNoErrors();
43            $this->assertEquals("DI", $this->byXPath("//a[@href='#tabs-1']")->text());
44            //
45            $this->byLinkText("Dossiers À Qualifier")->click();
46            $this->verifyNoErrors();
47            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
48            //
49            $this->byLinkText("Mes Retours")->click();
50            $this->verifyNoErrors();
51            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
52            //
53            $this->byLinkText("Tous Les Retours")->click();
54            $this->verifyNoErrors();
55            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
56            //
57            $this->byLinkText("Mes Messages")->click();
58            $this->verifyNoErrors();
59            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
60            //
61            $this->byLinkText("Tous Les Messages")->click();
62            $this->verifyNoErrors();
63            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
64            //
65            $this->byCssSelector("a.commission_mes_retours-16")->click();
66            $this->verifyNoErrors();
67            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
68            //
69            $this->byCssSelector("a.commission_tous_retours-16")->click();
70            $this->verifyNoErrors();
71            $this->assertEquals("dossier", $this->byCssSelector(".col-1 .name a")->text());
72        
73          //          //
74          $this->logout();          $this->logout();
75      }      }
76        
77        /**
78         *
79         */
80        public function test_02_visualisation_di_et_da_par_l_instructeur_en_charge() {
81            
82            // On se connecte en tant que "instr"
83            $this->login("instr", "instr");
84            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85            $this->verifyNoErrors();
86            // On clique sur le lien "Mes encours" dans le menu
87            $this->byLinkText("Mes Encours")->click();
88            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
89            $this->verifyNoErrors();
90            // On clique sur le lien "AZ0130551200001P0" dans le tableau
91            $this->byLinkText("AZ 013055 12 00001P0")->click();
92            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
93            $this->verifyNoErrors();
94            // On vérifie que le breadcrumb est correct
95            $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
96            // On clique sur l'onglet "Instruction"
97            $this->byId("instruction")->click();
98            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
99            $this->verifyNoErrors();
100            // On clique sur l'onglet "Consultation(s)"
101            $this->byId("consultation")->click();
102            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
103            $this->verifyNoErrors();
104            // On clique sur l'onglet "Lot(s)"
105            $this->byId("lot")->click();
106            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
107            $this->verifyNoErrors();
108            // On clique sur l'onglet "Message(s)"
109            $this->byId("dossier_message")->click();
110            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
111            $this->verifyNoErrors();
112            // On clique sur l'onglet "Commission(s)"
113            $this->byId("dossier_commission")->click();
114            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
115            $this->verifyNoErrors();
116            // On clique sur l'onglet "Bloc-note"
117            $this->byId("blocnote")->click();
118            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
119            $this->verifyNoErrors();
120            // On clique sur l'onglet "DA"
121            $this->byId("dossier_autorisation")->click();
122            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123            $this->verifyNoErrors();
124            // On clique sur le lien "AZ0130551200001" dans le tableau
125            $this->byLinkText("AZ 013055 12 00001")->click();
126            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
127            $this->verifyNoErrors();
128            // On vérifie que le breadcrumb est correct
129            $this->assertEquals("AZ 013055 12 00001", $this->byCssSelector(".form-content #dossier_autorisation_libelle")->text());
130            // On clique sur l'onglet "Dossier(s) d'instruction"
131            $this->byId("dossier_instruction")->click();
132            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
133            $this->verifyNoErrors();
134            // On clique sur le lien "AZ0130551200001P0" dans le tableau
135            $this->byLinkText("AZ 013055 12 00001P0")->click();
136            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137            $this->verifyNoErrors();
138            // On vérifie que le breadcrumb est correct
139            $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
140            // On se déconnecte
141            $this->logout();
142        }
143    
144      /**      /**
145       *       *
146       */       */
147      public function testConsultationDeServices() {      public function test_03_informations_du_widget_profil_instructeur() {
148          //          // On se connecte en tant que "instr"
149          $this->login();          $this->login("instr", "instr");
150            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
151            $this->verifyNoErrors();
152            // On vérifie que le titre du widget est correct
153            $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
154            // On vérifie que le profil est bon
155            $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
156            // On vérifie que le nom de l'instructeur affiché est le bon
157            $this->assertEquals("Louis Laurent", $this->byCssSelector(".profil-infos-nom span.value")->text());
158            // On vérifie que la division de l'instructeur affichée est la bonne
159            $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
160            // On se déconnecte
161            $this->byLinkText("Déconnexion")->click();
162            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163            $this->verifyNoErrors();
164            // On se connecte en tant que "instr"
165            $this->login("instr1", "instr");
166            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
167            $this->verifyNoErrors();
168            // On vérifie que le titre du widget est correct
169            $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
170            // On vérifie que le profil est bon
171            $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
172            // On vérifie que le nom de l'instructeur affiché est le bon
173            $this->assertEquals("Martine Nadeau", $this->byCssSelector(".profil-infos-nom span.value")->text());
174            // On vérifie que la division de l'instructeur affichée est la bonne
175            $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
176            // On se déconnecte
177            $this->byLinkText("Déconnexion")->click();
178            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179            $this->verifyNoErrors();
180            // On se connecte en tant que "instr"
181            $this->login("instr2", "instr");
182            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
183            $this->verifyNoErrors();
184            // On vérifie que le titre du widget est correct
185            $this->assertEquals("Infos profil", $this->byCssSelector("#widget_2 .widget-header h3")->text());
186            // On vérifie que le profil est bon
187            $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
188            // On vérifie que le nom de l'instructeur affiché est le bon
189            $this->assertEquals("Roland Richard", $this->byCssSelector(".profil-infos-nom span.value")->text());
190            // On vérifie que la division de l'instructeur affichée est la bonne
191            $this->assertEquals("J", $this->byCssSelector(".profil-infos-division span.value")->text());
192            // On se déconnecte
193            $this->logout();
194        }
195    
196          $this->clickAndWait("link=mes encours");      /**
197          // Accès au dossier en visualisation       * Ajout d'instructions par l'instructeur sur le dossier DP0130551200001P0
198          $this->clickAndWait("link=AZ0130551200001P0");       * Modification d'un événement
199          $this->verifyNoDatabaseError();       */
200          // Accès à l'onglet des consultations      public function test_04_ajout_instructions_par_instructeur() {
         $this->click("id=consultation");  
         $this->setSpeed('120');  
         $this->verifyNoDatabaseError();  
         //// Ajout d'une simple consultation  
         // On clique sur le bouton ajout  
         $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a/span");  
         $this->verifyNoDatabaseError();  
         // On sélectionne le service  
         $this->select("id=service", "label=1ER Maire 1er Secteur");  
         // On valide le formulaire  
         $this->click("//input[@value='Ajouter']");  
         $this->verifyNoDatabaseError();  
         //  
         $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");  
         // On clique sur le bouton retour  
         $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");  
201                    
202          //// Ajout de plusieurs consultations          // On se connecte en tant que "admin"
203          // On clique sur le bouton ajout multiple          $this->login("admin", "admin");
204          $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
205          $this->verifyNoDatabaseError();          $this->verifyNoErrors();
206          // On sélectionne trois servcies          // On clique sur le lien "Paramétrage Dossiers" dans le menu
207          $this->click("id=t10_572_0_");          $this->byLinkText("Paramétrage Dossiers")->click();
208          $this->click("id=t10_575_0_");          // On clique sur le sousmenu "Événement"
209          $this->click("id=t10_584_0_");          $this->byLinkText("Événement")->click();
210          // On les ajoute à la sélection          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211          $this->click("id=add-ser-them");          $this->verifyNoErrors();
212            // On remplis le champs de recherche simple
213            $this->byCssSelector("input[name='recherche']")->value('CDEC');
214            // On clique sur le bouton recherche
215            $this->byCssSelector(".ui-button")->click();
216            // On clique sur le résultat
217            $this->byLinkText("CDEC majoration appel decision")->click();
218            // On clique sur le bouton "Modifier"
219            $this->byId('action-form-evenement-modifier')->click();
220            // On modifie le champ restriction avec des données erronées
221            $this->byId('restriction')->clear();
222            $this->byId('restriction')->value("date_evenement >= champ_errone + 1");
223            // On valide la modification
224            $this->byCssSelector("input[value='Modifier']")->click();
225            // On vérifie le message de validation
226            $this->assertRegExp("/^[\s\S]*Le champ champ_errone n'est pas utilisable pour le champ restriction[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
227            // On modifie le champ restriction pour qu'il retourne une erreur au
228            // moment de l'ajout de l'instruction
229            $this->byId('restriction')->clear();
230            $this->byId('restriction')->value("date_evenement >= date_evenement + 1");
231            // On valide la modification
232            $this->byCssSelector("input[value='Modifier']")->click();
233            // On vérifie le message de validation
234            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
235            // On se déconnecte
236            $this->deconnect();
237            // On se connecte en tant que "instr"
238            $this->login("instr", "instr");
239            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240            $this->verifyNoErrors();
241            // On clique sur le lien "Mes encours" dans le menu
242            $this->byLinkText("Mes Encours")->click();
243            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
244            $this->verifyNoErrors();
245            sleep(1);
246            // On clique sur le lien "AZ0130551200001P0" dans le tableau
247            $this->byLinkText("DP 013055 12 00001P0")->click();
248            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249            $this->verifyNoErrors();
250            // On clique sur l'onglet "Instruction"
251            $this->byId("instruction")->click();
252            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
253            $this->verifyNoErrors();
254            //Ajout d'une instruction simple
255            // On clique sur le lien d'ajout dans le tableau
256            $this->byCssSelector(".actions-max-1 a")->click();
257            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258            $this->verifyNoErrors();
259            //On choisi un événement
260            $this->select($this->byId("evenement"))->selectOptionByValue("22");
261            //On valide le formulaire
262            $this->byXPath("//input[@value='Ajouter']")->click();
263            // On vérifie le mesage d'erreur
264            $this->assertRegExp('/.*Restriction non valide*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
265            // On se déconnecte
266            $this->deconnect();
267            // On se connecte en tant que "admin"
268            $this->login("admin", "admin");
269            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
270            $this->verifyNoErrors();
271            // On clique sur le lien "Paramétrage Dossiers" dans le menu
272            $this->byLinkText("Paramétrage Dossiers")->click();
273            // On clique sur le sousmenu "Événement"
274            $this->byLinkText("Événement")->click();
275            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
276            $this->verifyNoErrors();
277            // On remplis le champs de recherche simple
278            $this->byCssSelector("input[name='recherche']")->value('CDEC');
279            // On clique sur le bouton recherche
280            $this->byCssSelector(".ui-button")->click();
281            // On clique sur le résultat
282            $this->byLinkText("CDEC majoration appel decision")->click();
283            // On clique sur le bouton "Modifier"
284            $this->byId('action-form-evenement-modifier')->click();
285            // On modifie le champ restriction pour qu'il ne retourne pas d'erreur
286            // au moment de l'ajout de l'instruction
287            $this->byId('restriction')->clear();
288            $this->byId('restriction')->value("date_evenement <= date_evenement + 1");
289            // On valide la modification
290            $this->byCssSelector("input[value='Modifier']")->click();
291            // On vérifie le message de validation
292            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
293            // On se déconnecte
294            $this->deconnect();
295            // On se connecte en tant que "instr"
296            $this->login("instr", "instr");
297            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
298            $this->verifyNoErrors();
299            // On clique sur le lien "Mes encours" dans le menu
300            $this->byLinkText("Mes Encours")->click();
301            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
302            $this->verifyNoErrors();
303            sleep(1);
304            // On clique sur le lien "AZ0130551200001P0" dans le tableau
305            $this->byLinkText("DP 013055 12 00001P0")->click();
306            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
307            $this->verifyNoErrors();
308            // On clique sur l'onglet "Instruction"
309            $this->byId("instruction")->click();
310            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
311            $this->verifyNoErrors();
312            //Ajout d'une instruction simple
313            // On clique sur le lien d'ajout dans le tableau
314            $this->byCssSelector(".actions-max-1 a")->click();
315            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
316            $this->verifyNoErrors();
317            //On choisi un événement
318            $this->select($this->byId("evenement"))->selectOptionByValue("22");
319            //On valide le formulaire
320            $this->byXPath("//input[@value='Ajouter']")->click();
321            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
322            $this->verifyNoErrors();
323            sleep(1);
324            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
325            //On retourne sur le tableau d'instructions
326            $this->byCssSelector("#sousform-instruction .retour")->click();
327            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
328            $this->verifyNoErrors();
329            //On affiche l'instruction
330            $this->byLinkText("CDEC majoration appel decision")->click();
331            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
332            $this->verifyNoErrors();
333            //On vérifie que certains champs n'apparaissent pas
334            $this->assertFalse($this->byId("date_envoi_controle_legalite")->displayed());
335            $this->assertFalse($this->byId("date_retour_controle_legalite")->displayed());
336            //On retourne sur le tableau d'instructions
337            $this->byCssSelector("#sousform-instruction .retour")->click();
338            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
339            $this->verifyNoErrors();
340            //Ajout d'une instruction de type arrêté        
341            // On clique sur le lien d'ajout dans le tableau
342            $this->byCssSelector(".actions-max-1 a")->click();
343            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
344            $this->verifyNoErrors();
345            //On choisi l'événement "accepter un dossier sans réserve [acceptation]"
346            $this->select($this->byId("evenement"))->selectOptionByValue("81");
347            // On clique sur la bible
348            $this->byLinkText('bible')->click();
349            // On vérifie qu'il y est les enregistrments "V56" et "V64"
350            $this->assertRegExp('/^[\s\S]*V56[\s\S]*$/',
351                $this->byCssSelector("#tab-bible")->text());
352            $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
353                $this->byCssSelector("#tab-bible")->text());
354            // On choisit plusieurs éléments
355            $this->byId('checkbox0')->click();
356            $this->byId('checkbox1')->click();
357          // On valide le formulaire          // On valide le formulaire
358          $this->click("id=button_val");          $this->byXPath("//input[@value='Valider']")->click();
359          $this->verifyNoDatabaseError();          // On vérifie le contenu du champ "complément"
360          //          $this->assertRegExp('/^[\s\S]*Vu l\'avis favorable de l\'Architecte des Bâtiments de France en date du[\s\S]*$/', $this->byCssSelector("#complement")->text());
361          $this->verifyTextPresent("3 service(s) sélectionné(s) dont 0 consultation(s) papier.");          $this->assertRegExp('/^[\s\S]*Vu l\'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du[\s\S]*$/', $this->byCssSelector("#complement")->text());
362                    // On valide le formulaire
363          // On vérifie que nous avons bien 4 consultations affichées          $this->byXPath("//input[@value='Ajouter']")->click();
364          $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
365            $this->verifyNoErrors();
366            sleep(1);
367            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
368            //On retourne sur le tableau d'instructions
369            $this->byCssSelector("#sousform-instruction .retour")->click();
370            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
371            $this->verifyNoErrors();
372            //On affiche l'instruction
373            $this->byLinkText("accepter un dossier sans réserve")->click();
374            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
375            $this->verifyNoErrors();
376            //On vérifie que certains champs apparaissent
377            $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
378            $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
379            // On se déconnecte
380            $this->logout();
381        }
382    
383          //      /**
384         * Test le formulaire de la demande de type qui possède des select filtrés
385         */
386        public function test_05_ajout_lot() {
387            // On se connecte en tant que "instr"
388            $this->login("instr", "instr");
389            // On clique sur le lien "Mes encours" dans le menu
390            $this->byLinkText("Mes Encours")->click();
391            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
392            $this->verifyNoErrors();
393            // On clique sur le lien "AZ0130551200001P0" dans le tableau
394            $this->byLinkText("AZ 013055 12 00001P0")->click();
395            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
396            $this->verifyNoErrors();
397            // On clique sur l'onglet "Lot(s)"
398            $this->byId("lot")->click();
399            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
400            $this->verifyNoErrors();
401            // On clique sur le bouton d'ajout de lots
402            $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
403            // Vérification des champs obligatoires
404            $this->byXPath("//input[@value='Ajouter']")->click();
405            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
406            $this->verifyNoErrors();
407            // On vérifie que le message de champ vide soit affiché
408            $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-lot .message .text")->text());
409            // Insertion d'un lot
410            $this->byId("libelle")->value("Lot n°1");
411            $this->byXPath("//input[@value='Ajouter']")->click();
412            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
413            $this->verifyNoErrors();
414            sleep(1);
415            // On retourne sur le tableau listant les lots
416            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
417            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418            $this->verifyNoErrors();
419            // On clique sur le bouton d'ajout de lots
420            $this->byXPath("//div[@id='sousform-lot']/table/thead/tr/th/a/span")->click();
421            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
422            $this->verifyNoErrors();
423            // Insertion d'un second lot
424            $this->byId("libelle")->value("Lot n°2");
425            $this->byXPath("//input[@value='Ajouter']")->click();
426            sleep(1);
427            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
428            $this->verifyNoErrors();
429            // On retourne sur le tableau listant les lots
430            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
431            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
432            $this->verifyNoErrors();
433            // On se déconnecte
434            $this->logout();
435        }
436    
437        /**
438         * Test du lien automatique entre choix autorité compétente dans DI et
439         * évènement d'instruction à créer
440         */
441        public function test_06_modification_autorite_competente() {
442            // On se connecte en tant que "instr"
443            $this->login("instr", "instr");
444            // On clique sur le lien "Mes encours" dans le menu
445            $this->byLinkText("Mes Encours")->click();
446            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
447            $this->verifyNoErrors();
448            // On clique sur le lien "AZ0130551200001P0" dans le tableau
449            $this->byLinkText("AZ 013055 12 00001P0")->click();
450            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
451            $this->verifyNoErrors();
452            // On clique sur l'onglet "Instruction"
453            $this->byId("instruction")->click();
454            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
455            $this->verifyNoErrors();
456            // On clique sur le bouton d'ajout de lots
457            $this->byXPath("//div[@id='sousform-instruction']/table/thead/tr/th/a/span")->click();
458            // Vérification des champs obligatoires
459            $this->byXPath("//input[@value='Ajouter']")->click();
460            sleep(1);
461            //On choisi un événement
462            $this->select($this->byId("evenement"))->selectOptionByValue("94");
463            // Validation du formulaire
464            $this->byXPath("//input[@value='Ajouter']")->click();
465            sleep(1);
466            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
467            $this->verifyNoErrors();
468            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
469            $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
470            // Retour à l'onglet principal
471            $this->byId("main")->click();
472            $this->refresh();
473            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
474            $this->verifyNoErrors();
475            // On verifie que l'autorité compétente à changée.
476            $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
477            // On se déconnecte
478            $this->deconnect();
479            // On se connecte en tant que "admin"
480            $this->login("admin", "admin");
481            sleep(1);
482            $this->byLinkText("Instruction")->click();
483            // On clique sur le lien "Recherche" dans le menu
484            $this->byLinkText("Recherche")->click();
485            // On clique sur le lien "AZ0130551200001P0" dans le tableau
486            $this->byLinkText("AZ 013055 12 00001P0")->click();
487            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
488            $this->verifyNoErrors();
489            // On verifie que l'autorité compétente à changée.
490            $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
491            // On clique sur l'onglet "Instruction"
492            $this->byId("instruction")->click();
493            $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
494            sleep(1);
495            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496            $this->verifyNoErrors();
497            $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
498            // On supprime l'element et on verifie le retour de l'autorité "commune"
499            $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();
500            // Retour à l'onglet principal
501            $this->byId("main")->click();
502            $this->refresh();
503            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
504            $this->verifyNoErrors();
505            // On verifie que l'autorité compétente à changée.
506            $this->assertRegExp('/.*Commune*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
507            // On se déconnecte
508          $this->logout();          $this->logout();
509      }      }
510    
511        /**
512         * Test de l'ajout de données techniques au dossier
513         */
514        public function test_07_edition_donnees_techniques() {
515            // On se connecte en tant que "instr"
516            $this->login("admin", "admin");
517            sleep(1);
518            // Ouverture du menu de paramétrage des dossiers
519            $this->byLinkText("Paramétrage Dossiers")->click();
520            // Ouverture du menu des cerfa
521            $this->byLinkText("Cerfa")->click();
522            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
523            $this->verifyNoErrors();
524            // Ouverture d'un cerfa
525            $this->byLinkText("cerfa de test n°1")->click();
526            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
527            $this->verifyNoErrors();
528            // Modification du cerfa affiché
529            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
530            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
531            $this->verifyNoErrors();
532            // Ajout de champs au formulaire des données techniques
533            $this->byXPath("//div[@id='form-content']/div[2]/fieldset/legend")->click();
534            $this->byId("terr_juri_titul")->click();
535            $this->byId("terr_juri_lot")->click();
536            $this->byId("terr_juri_zac")->click();
537            $this->byId("terr_juri_afu")->click();
538            $this->byId("terr_juri_pup")->click();
539            $this->byId("terr_juri_oin")->click();
540            $this->byId("terr_juri_desc")->click();
541            // Validation du formulaire
542            $this->byXPath("//input[@value='Modifier']")->click();
543            // Vérification des erreurs
544            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
545            $this->byLinkText("Retour")->click();
546            // On se déconnecte
547            $this->deconnect();
548            // On se connecte en tant que "instr"
549            $this->login("instr", "instr");
550            // On clique sur le lien "Mes encours" dans le menu
551            $this->byLinkText("Mes Encours")->click();
552            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
553            $this->verifyNoErrors();
554            // On clique sur le lien "AZ0130551200001P0" dans le tableau
555            $this->byLinkText("AZ 013055 12 00001P0")->click();
556            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
557            $this->verifyNoErrors();
558            // On click sur le lien "Données techniques"
559            $this->byXPath("//div[@id='portlet-actions']/ul/li[2]/a/span")->click();
560            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
561            $this->verifyNoErrors();
562            sleep(1);
563            // Modification des données techniques
564            $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
565            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
566            $this->verifyNoErrors();
567            sleep(1);
568            $this->assertRegExp('/^[\s\S]*Terrain[\s\S]*$/', $this->byCssSelector("#sformulaire #form-content legend")->text());
569            // Validation du formulaire
570            $this->byXPath("//input[@value='Modifier']")->click();
571            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
572            $this->verifyNoErrors();
573            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
574            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
575            sleep(1);
576            // On se déconnecte
577            $this->logout();
578    
579        }
580  }  }
581    
582  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26