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

Diff of /trunk/tests/testServiceConsulte.php

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

revision 1720 by fmichon, Thu Apr 18 10:55:38 2013 UTC revision 2210 by fmichon, Mon Sep 2 14:23:07 2013 UTC
# Line 1  Line 1 
1  <?php  <?php
2  /**  /**
3   *   * Fichier contenant la classe test pour le service de consultation
4   *   *
5   * @package openfoncier   * @package openfoncier
6   * @version SVN : $Id$   * @version SVN : $Id$
# Line 10  Line 10 
10  require_once "base.php";  require_once "base.php";
11    
12  /**  /**
13   *   * Classe test du service de consultation
14   */   */
15  class ServiceConsulte extends BaseTestCase {  class ServiceConsulte extends Base2TestCase {
   
     private function login() {  
         // on commence par se connecter  
         $this->connect("consu", "consu");  
         // 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        // le test pour les avis en cours se fait dans testConsultations.php
18    
19      /**      /**
20       *       * test sur les demandes d'avis passées
21       */       */
22      public function testSaisieDemandeAvis() {      public function testDemandesAvisPassees() {
         //  
         $this->login();  
         $this->setSpeed('120');  
   
         $this->clickAndWait("link=Demandes en cours");  
         // Accès au dossier en visualisation  
         $this->clickAndWait("link=AZ0130551200001P0");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Demandes d'avis > en cours");  
         // Accès à l'onglet des consultations  
         $this->click("//div[@id='portlet-actions']/ul/li/a/span");  
         $this->verifyTextPresent("consultations  2");  
         $this->verifyNoErrors();  
         // Validation sans retour d'avis  
         $this->click("//input[@value='Modifier']");  
         $this->verifyNoErrors();  
         // Retour à la liste des demandes  
         $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");  
   
         // Accès au dossier en visualisation  
         $this->clickAndWait("link=AZ0130551200001P0");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Demandes d'avis > en cours");  
         // Accès à l'onglet des consultations  
         $this->click("//div[@id='portlet-actions']/ul/li/a/span");  
         $this->verifyTextPresent("consultations  2");  
         $this->verifyNoErrors();  
         // Saisie de valeurs  
         $this->select("id=avis_consultation", "label=Defavorable");  
         $this->type("id=motivation", "Pas motivé");  
         // Upload de fichier  
         $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");  
         // Validation sans saisie de fichier  
         $this->click("name=submit");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Vous devez sélectionner un fichier.");  
         // Saisie de fichier  
         $this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf");  
         $this->click("name=submit");  
         $this->verifyNoErrors();  
         // Validation de la modification de la demande d'avis  
         $this->click("//input[@value='Modifier']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");  
           
         // Retour à la liste des demandes  
         $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");  
         $this->verifyNoErrors();  
         // Vérification que la demande d'avis n'est plus presente  
         $this->assertTextNotPresent("link=AZ0130551200001P0");  
23    
24          //          // On se connecte en tant que "consu"
25            // !!! Attention on n'utilise pas la méthode login standard car
26            // l'utilisateur est redirigé automatiquement vers un autre écran
27            // sans voir le message de connexion !!!
28            // On se connecte
29            $this->connect("consu", "consu");
30            // Allonge le temps d'attente lors de la recherche d'élément
31            $this->timeouts()->implicitWait(10000);
32            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33            $this->verifynoerrors();
34            // On temporise pour laisser le temps au javascript de redirection
35            // de faire son travail
36            sleep(1);
37            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
38            $this->verifynoerrors();
39            // on clique sur le menu        
40                $this->byLinkText("Demandes Passées")->click();
41            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
42            $this->verifynoerrors();
43            // on clique sur un résultat
44            $this->byLinkText("AZ 013055 12 00001P0")->click();
45            // on vérifie qu'il n'y ait pas d'erreur
46            $this->verifyNoErrors();
47            // on vérifie le numéro du dossier
48            $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
49            // on vérifie le nom de la page
50            //html body#jqueryui div#content.ui-widget div#title.ui-state-active h2
51            $this->assertEquals("Demandes D'avis > Passées", $this->byCssSelector("div#title.ui-state-active h2")->text());
52            // on clique sur le portlet
53            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();sleep(5);
54            // Liste les fenêtres
55            $windows = $this->windowHandles();
56            // Change la fenêtre
57            $this->window($windows[1]);
58            // On vérifie qu'il n'y ait pas d'erreur
59            $this->verifynoerrors();
60            // On vérifie que le text est présent
61            $this->assertRegExp("/^[\s\S]*Avis solicité pour conformité[\s\S]*$/",$this->source());
62            $this->assertRegExp("/^[\s\S]*Direction de l'Eau et de l'Assainissement[\s\S]*$/",$this->source());
63            // On ferme la fenêtre
64            $this->closeWindow();
65            // On change le focus de la fenêtre
66            $this->window($windows[0]);
67            // On se deconnecte
68          $this->logout();          $this->logout();
69      }      }
70    
71      /**      /**
72       *       * test sur l'export csv
73       */       */
74      public function testDemandesAvisPassees() {      public function testExportCSV() {
         //  
         $this->login();  
75    
76          //          // On se connecte en tant que "consu"
77          $this->clickAndWait("link=Demandes passées");          // !!! Attention on n'utilise pas la méthode login standard car
78          $this->verifyNoErrors();          // l'utilisateur est redirigé automatiquement vers un autre écran
79                    // sans voir le message de connexion !!!
80          //          // On se connecte
81          $this->clickAndWait("link=AZ0130551200001P0");          $this->connect("consu", "consu");
82            // Allonge le temps d'attente lors de la recherche d'élément
83            $this->timeouts()->implicitWait(10000);
84            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85            $this->verifynoerrors();
86            // On temporise pour laisser le temps au javascript de redirection
87            // de faire son travail
88            sleep(1);
89            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
90            $this->verifynoerrors();
91            // on clique sur le menu
92            $this->byLinkText("Demandes Passées")->click();
93            // on vérifie qu'il n'y ait pas d'erreur
94            $this->verifyNoErrors();
95            // on clique sur le bouton d'export csv
96            $this->byXPath("//div[3]/div[2]/div/div/div/a/span")->click();sleep(2);
97            // on vérifie qu'il n'y ait pas d'erreur
98          $this->verifyNoErrors();          $this->verifyNoErrors();
99          $this->verifyTextPresent("Demandes d'avis > passées");          // On se deconnecte
         // $this->click("//div[@id='portlet-actions']/ul/li/a/span");  
         // $this->waitForPopUp("", "30000");  
         // $this->selectPopUp();  
         // sleep(5);  
         // $this->verifyNoErrors();  
         // $this->verifyTextPresent("Avis solicité pour conformité");  
         // $this->verifyTextPresent("Direction de l'Eau et de l'Assainissement");  
         // $this->close();  
         // $this->selectWindow();  
         //  
100          $this->logout();          $this->logout();
101      }      }
102    

Legend:
Removed from v.1720  
changed lines
  Added in v.2210

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26