/[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 1719 by fmichon, Thu Apr 18 10:45:27 2013 UTC revision 2207 by fmichon, Mon Sep 2 13:26:20 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->verifyTextPresent("Vous devez sélectionner un fichier.");  
         // Saisie de fichier  
         $this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf");  
         $this->click("name=submit");  
         // 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");  
         // 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 clique sur le menu        
35                $this->byLinkText("Demandes Passées")->click();
36            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37            $this->verifynoerrors();
38            // on clique sur un résultat
39            $this->byLinkText("AZ 013055 12 00001P0")->click();
40            // on vérifie qu'il n'y ait pas d'erreur
41            $this->verifyNoErrors();
42            // on vérifie le numéro du dossier
43            $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->text());
44            // on vérifie le nom de la page
45            //html body#jqueryui div#content.ui-widget div#title.ui-state-active h2
46            $this->assertEquals("Demandes D'avis > Passées", $this->byCssSelector("div#title.ui-state-active h2")->text());
47            // on clique sur le portlet
48            $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();sleep(5);
49            // Liste les fenêtres
50            $windows = $this->windowHandles();
51            // Change la fenêtre
52            $this->window($windows[1]);
53            // On vérifie qu'il n'y ait pas d'erreur
54            $this->verifynoerrors();
55            // On vérifie que le text est présent
56            $this->assertRegExp("/^[\s\S]*Avis solicité pour conformité[\s\S]*$/",$this->source());
57            $this->assertRegExp("/^[\s\S]*Direction de l'Eau et de l'Assainissement[\s\S]*$/",$this->source());
58            // On ferme la fenêtre
59            $this->closeWindow();
60            // On change le focus de la fenêtre
61            $this->window($windows[0]);
62            // On se deconnecte
63          $this->logout();          $this->logout();
64      }      }
65    
66      /**      /**
67       *       * test sur l'export csv
68       */       */
69      public function testDemandesAvisPassees() {      public function testExportCSV() {
         //  
         $this->login();  
70    
71          $this->clickAndWait("link=Demandes passées");          // On se connecte en tant que "consu"
72          $this->clickAndWait("link=AZ0130551200001P0");          // !!! Attention on n'utilise pas la méthode login standard car
73            // l'utilisateur est redirigé automatiquement vers un autre écran
74            // sans voir le message de connexion !!!
75            // On se connecte
76            $this->connect("consu", "consu");
77            // Allonge le temps d'attente lors de la recherche d'élément
78            $this->timeouts()->implicitWait(10000);
79            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
80            $this->verifynoerrors();
81            // on clique sur le menu
82            $this->byLinkText("Demandes Passées")->click();
83            // on vérifie qu'il n'y ait pas d'erreur
84            $this->verifyNoErrors();
85            // on clique sur le bouton d'export csv
86            $this->byXPath("//div[3]/div[2]/div/div/div/a/span")->click();sleep(2);
87            // on vérifie qu'il n'y ait pas d'erreur
88          $this->verifyNoErrors();          $this->verifyNoErrors();
89          $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();  
         //  
90          $this->logout();          $this->logout();
91      }      }
92    

Legend:
Removed from v.1719  
changed lines
  Added in v.2207

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26