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

Diff of /branches/3.14.x/tests/testGuichetUnique.php

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

revision 2601 by softime, Tue Dec 10 17:13:14 2013 UTC revision 3235 by vpihour, Tue Jan 6 11:36:31 2015 UTC
# Line 14  require_once "base.php"; Line 14  require_once "base.php";
14   */   */
15  class GuichetUnique extends Base2TestCase {  class GuichetUnique extends Base2TestCase {
16    
17        // Liste des utilisateurs
18        var $listUtlisateurs = array(
19                array(
20                    "login" => "guichet",
21                    "mdp" => "guichet"
22                ),
23                array(
24                    "login" => "adminfonct",
25                    "mdp" => "adminfonct"
26                ),
27            );
28    
29        /**
30         * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
31         * entrée de menu ne génère pas une erreur de base de données
32         */
33        // Fonction privé
34        private function ouvertureMenu($utilisateur) {
35            // On se connecte
36            $this->login($utilisateur["login"], $utilisateur["mdp"]);
37            // Ouvre le menu
38            $this->openMenu("Guichet Unique", $utilisateur);
39            // On vérifie le menu "Nouveau Dossier"
40            $this->byLinkText("Nouveau Dossier")->click();
41            $this->assertContains("Guichet Unique > Nouvelle Demande > Nouveau Dossier",
42                $this->byId("title")->text());
43            $this->verifyNoErrors();
44            // On vérifie le menu "Dossier En Cours"
45            $this->byLinkText("Dossier En Cours")->click();
46            $this->assertContains("Guichet Unique > Nouvelle Demande > Dossier En Cours",
47                $this->byId("title")->text());
48            $this->verifyNoErrors();
49            // On vérifie le menu "Autre Dossier"
50            $this->byLinkText("Autre Dossier")->click();
51            $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier",
52                $this->byId("title")->text());
53            $this->verifyNoErrors();
54            // On vérifie le menu "Récépissé"
55            $this->byLinkText("Récépissé")->click();
56            $this->assertContains("Guichet Unique > Nouvelle Demande > Récépissé",
57                $this->byId("title")->text());
58            $this->verifyNoErrors();
59            // On vérifie le menu "Pétitionnaire Fréquent"
60            $this->byLinkText("Pétitionnaire Fréquent")->click();
61            $this->assertContains("Guichet Unique > Nouvelle Demande > Pétitionnaire Fréquent",
62                $this->byId("title")->text());
63            $this->verifyNoErrors();
64            // On vérifie le menu "Registre"
65            $this->byLinkText("Registre")->click();
66            $this->assertContains("Guichet Unique > Affichage Réglementaire > Registre",
67                $this->byId("title")->text());
68            $this->verifyNoErrors();
69            // On vérifie le menu "Attestation"
70            $this->byLinkText("Attestation")->click();
71            $this->assertContains("Guichet Unique > Affichage Réglementaire > Attestation",
72                $this->byId("title")->text());
73            $this->verifyNoErrors();
74            // On se déconnecte
75            $this->deconnect();
76        }
77        // Fonction public
78        public function test01OuvertureMenu() {
79            // Récupération des utilisateurs
80            $utilisateurs = $this->listUtlisateurs;
81            // Pour chaque utilisateur on lance le test
82            foreach ($utilisateurs as $utilisateur) {
83                //
84                $this->ouvertureMenu($utilisateur);
85            }
86            // On vérifie la déconnexion
87            $this->verifyDeconnect();
88        }
89    
90      /**      /**
91       * Test l'ajout d'une demande       * Test l'ajout d'une demande
92       */       */
93      public function testAjoutDemandeInitial() {      // Fonction privé
94        private function ajoutDemandeInitial($utilisateur) {
95    
96          // On se connecte à l'application          // On se connecte à l'application
97          $this->login("guichet", "guichet");          $this->login($utilisateur["login"], $utilisateur["mdp"]);
98            // Ouvre le menu
99            $this->openMenu("Guichet Unique", $utilisateur);
100          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
101          $this->byLinkText("Nouveau Dossier")->click();          $this->byLinkText("Nouveau Dossier")->click();
102          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 55  class GuichetUnique extends Base2TestCas Line 131  class GuichetUnique extends Base2TestCas
131          $this->byId("code_postal")->value("13012");          $this->byId("code_postal")->value("13012");
132          // On remplit le champ          // On remplit le champ
133          $this->byId("telephone_fixe")->value("0404040404");          $this->byId("telephone_fixe")->value("0404040404");
134            // On remplit le champ
135            $this->byId("fax")->value("0405040404");
136          // On clique sur ajouter          // On clique sur ajouter
137          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
138          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 70  class GuichetUnique extends Base2TestCas Line 148  class GuichetUnique extends Base2TestCas
148          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
149          $this->verifynoerrors();          $this->verifynoerrors();
150          // On vérifie le message          // On vérifie le message
151          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
152            // Récupération du numéro de dossier
153            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
154            $dossier_libelle = $matches[0];
155            $dossier = str_replace(' ', '', $dossier_libelle);
156            $dossier_dir = substr_replace($dossier, '.', -2, -3);
157          // On clique          // On clique
158          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a.lien")->click();sleep(5);
159          // Liste les fenêtres          // Liste les fenêtres
# Line 90  class GuichetUnique extends Base2TestCas Line 173  class GuichetUnique extends Base2TestCas
173          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
174          $this->verifynoerrors();          $this->verifynoerrors();
175          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
176          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
177          // On se déconnecte          // On se déconnecte
178          $this->logout();          $this->deconnect();
179        }
180        // Fonction public
181        public function test02AjoutDemandeInitial() {
182            // Récupération des utilisateurs
183            $utilisateurs = $this->listUtlisateurs;
184            // Pour chaque utilisateur on lance le test
185            foreach ($utilisateurs as $utilisateur) {
186                //
187                $this->ajoutDemandeInitial($utilisateur);
188            }
189            // On vérifie la déconnexion
190            $this->verifyDeconnect();
191      }      }
192    
193      /**      /**
# Line 155  class GuichetUnique extends Base2TestCas Line 250  class GuichetUnique extends Base2TestCas
250          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
251          $this->verifynoerrors();          $this->verifynoerrors();
252          // On vérifie le message          // On vérifie le message
253          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 14 00001[\s\S]*$/",$this->byCssSelector(".message")->text());          $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
254            // Récupération du numéro de dossier
255            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
256            $dossier = $dossier[0];
257          // On se déconnecte          // On se déconnecte
258          $this->logout();          $this->logout();
259      }      }
# Line 165  class GuichetUnique extends Base2TestCas Line 263  class GuichetUnique extends Base2TestCas
263       */       */
264      public function testAjoutDemandeModification() {      public function testAjoutDemandeModification() {
265    
266            // Année en cours
267            $annee = date("y");
268    
269          /// On se connecte à l'application en tant qu'instructeur          /// On se connecte à l'application en tant qu'instructeur
270          // pour ajouter une instruction arrêté sur le dossier crée          // pour ajouter une instruction arrêté sur le dossier crée
271          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 173  class GuichetUnique extends Base2TestCas Line 274  class GuichetUnique extends Base2TestCas
274          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
275          $this->verifyNoErrors();          $this->verifyNoErrors();
276          // On clique sur le dossier          // On clique sur le dossier
277          $this->byId("action-tab-dossier_instruction-left-consulter-PC0130551300001P0")->click();          $this->byId("action-tab-dossier_instruction-left-consulter-PC013055".$annee."00001P0")->click();
278          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
279          $this->verifyNoErrors();          $this->verifyNoErrors();
280          // On clique sur l'onglet instruction          // On clique sur l'onglet instruction
# Line 183  class GuichetUnique extends Base2TestCas Line 284  class GuichetUnique extends Base2TestCas
284          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285          $this->verifyNoErrors();          $this->verifyNoErrors();
286          // On choisi l'événement          // On choisi l'événement
287          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");          $this->select($this->byId("evenement"))->selectOptionByValue(81);
288          // On clique sur le bouton ajouter          // On clique sur le bouton ajouter
289          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
290          // On vérifie que l'instruction s'est bien ajouté          // On vérifie que l'instruction s'est bien ajouté
# Line 213  class GuichetUnique extends Base2TestCas Line 314  class GuichetUnique extends Base2TestCas
314          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
315          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
316          // On clique pour ajouter une demande au dossier existant          // On clique pour ajouter une demande au dossier existant
317          $this->byId("action-tab-demande_autre_dossier-left-consulter-PC0130551300001P0")->click();          $this->byId("action-tab-demande_autre_dossier-left-consulter-PC013055".$annee."00001P0")->click();
318          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319          $this->verifyNoErrors();          $this->verifyNoErrors();
320          // Vérifie le fil d'Ariane          // Vérifie le fil d'Ariane
321          $this->assertEquals("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());          $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
322          // On choisis le type de demande          // On choisis le type de demande
323          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
324          // On clique sur ajouter          // On clique sur ajouter
# Line 225  class GuichetUnique extends Base2TestCas Line 326  class GuichetUnique extends Base2TestCas
326          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
327          $this->verifyNoErrors();          $this->verifyNoErrors();
328          // On vérifie le message          // On vérifie le message
329          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
330          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
331          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC013055".$annee."00001.M01"));
332          // On se déconnecte          // On se déconnecte
333          $this->logout();          $this->logout();
334                    
# Line 571  class GuichetUnique extends Base2TestCas Line 672  class GuichetUnique extends Base2TestCas
672          $this->byId("cad-adr-them")->click();          $this->byId("cad-adr-them")->click();
673          sleep(1);          sleep(1);
674          // On vérifie que le format des champs est mise à jour automatiquement          // On vérifie que le format des champs est mise à jour automatiquement
675          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
676          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
677          $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());          $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
678          //On verifie l'adresse          //On verifie l'adresse
679          $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());          $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->attribute('value'));
680          $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());          $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->attribute('value'));
681          $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());          $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->attribute('value'));
682          $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());          $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->attribute('value'));
683          // On valide le formulaire          // On valide le formulaire
684          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
685          // On vérifie le message d'erreur          // On vérifie le message d'erreur
686          $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());          $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
687          sleep(1);          sleep(1);
688          // On vérifie que les références cadastrales soient toujours affiché          // On vérifie que les références cadastrales soient toujours affiché
689          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());          $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
690          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());          $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
691          $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());                  $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));        
692          //On saisie les références cadastrales          //On saisie les références cadastrales
693          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
694          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();          $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
# Line 797  class GuichetUnique extends Base2TestCas Line 898  class GuichetUnique extends Base2TestCas
898          $this->byLinkText("Autre Dossier")->click();          $this->byLinkText("Autre Dossier")->click();
899          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
900          $this->verifynoerrors();          $this->verifynoerrors();
901          // On vérifie que ledossier qui ne doit pas être dans          // On vérifie que le dossier qui ne doit pas être dans
902          // "Dossier En Cours" sont ici          // "Dossier En Cours" sont ici
903          $this->assertRegExp("/^[\s\S]*PC 013055 13 00001P0[\s\S]*$/",          $this->assertRegExp("/^[\s\S]*PC 013055 ".date("y")." 00001P0[\s\S]*$/",
904              $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());              $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
905          // On clique sur "Dossier En Cours"          // On clique sur "Dossier En Cours"
906          $this->byLinkText("Dossier En Cours")->click();          $this->byLinkText("Dossier En Cours")->click();

Legend:
Removed from v.2601  
changed lines
  Added in v.3235

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26