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

Diff of /trunk/tests/testGuichetUnique.php

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

revision 1966 by vpihour, Thu May 30 11:13:34 2013 UTC revision 1990 by softime, Thu Jun 6 13:45:34 2013 UTC
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   *   *
14   */   */
15  class GuichetUnique extends BaseTestCase {  class GuichetUnique extends Base2TestCase {
16    
17      /**      /**
18       * Ce test doit être réalisé juste après la réinitialisation de la base       * Ce test doit être réalisé juste après la réinitialisation de la base
19       * de données.       * de données.
20       */       */
21      public function testAffichageReglementaire() {      public function testAffichageReglementaire() {
         //  
         $this->login("guichet", "guichet");  
   
         //  
         $this->clickAndWait("link=attestation");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");  
         //  
         $this->type("id=dossier", "PC0130551200002P0");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Ce dossier n'a jamais été affiché.");  
   
         //  
         $this->clickAndWait("link=registre");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("imprimer le registre d'affichage réglementaire");  
         //  
         $this->click("//input[@value='Valider']");  
         $this->assertTrue((bool)preg_match('/^Etes-vous sur de vouloir confirmer cette action [\s\S]$/',$this->getConfirmation()));  
         //  
         $this->waitForPopUp("", "30000");  
         $this->selectPopUp();  
         sleep(5);  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Registre des dossiers en cours");  
         $this->close();  
         //  
         $this->selectWindow();  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Traitement terminé. Le registre a été téléchargé.");  
   
         //  
         $this->clickAndWait("link=attestation");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");  
         //  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Veuiller saisir un N° de dossier.");  
         //  
         $this->type("id=dossier", "123");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Ce dossier n'existe pas.");  
         //  
         $this->type("id=dossier", "PC0130551200002P0");  
         $this->clickAndWait("//input[@value='Valider']");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage : \n\nAttestation d'affichage");  
         $this->assertAttribute( "css=.message .text a@href", "*spg/file.php*");  
         //  
         $this->click("link=Attestation d'affichage");  
         $this->waitForPopUp("", "30000");  
         $this->selectPopUp();  
         sleep(5);  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("ATTESTATION D'AFFICHAGE REGLEMENTAIRE");  
         $this->close();  
         //  
         $this->selectWindow();  
22    
23          //          // On se connecte à l'application
24            $this->login("guichet", "guichet");
25            // On clique sur le menu "Attestation"
26            $this->byLinkText("Attestation")->click();
27            // On vérifie qu'il n'y ait pas d'erreur
28            $this->verifynoerrors();
29            // On vérifie le nom de l'onglet
30            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
31            // On écrit "PC0130551200002P0" dans le champ dossier
32            $this->byId("dossier")->value("PC0130551200002P0");
33            // On clique sur "Valider"
34            $this->byXPath("//input[@value='Valider']")->click();
35            // On vérifie qu'il n'y ait pas d'erreur
36            $this->verifynoerrors();
37            // On vérifie que text est présent
38            $this->assertTrue((bool)preg_match("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text()));
39            // On clique sur le menu "Registre"
40            $this->byLinkText("Registre")->click();
41            // On vérifie qu'il n'y ait pas d'erreur
42            $this->verifynoerrors();
43            // On vérifie le nom de l'onglet
44            $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
45            // On clique sur "Valider"
46            $this->byXPath("//input[@value='Valider']")->click();
47            // On clique sur "Oui" dans la fenêtre js qui apparaît
48            $this->acceptAlert();sleep(5);
49            // Liste des fenêtres ouvertes
50            $windows = $this->windowHandles();
51            // On change le focus de 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 text est présent
56            $this->assertTrue((bool)preg_match('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source()));
57            // On ferme la fenêtre
58            $this->closeWindow();
59            // On change le focus de la fenêtre
60            $this->window($windows[0]);
61            // On vérifie qu'il n'y ait pas d'erreur
62            $this->verifynoerrors();
63            // On vérifie que text est présent
64            $this->assertTrue((bool)preg_match('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text()));
65            // On clique sur le menu "Attestation"
66            $this->byLinkText("Attestation")->click();
67            // On vérifie qu'il n'y ait pas d'erreur
68            $this->verifynoerrors();
69            // On vérifie le nom de l'onglet
70            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
71            // On clique sur "Valider"
72            $this->byXPath("//input[@value='Valider']")->click();
73            // On vérifie qu'il n'y ait pas d'erreur
74            $this->verifynoerrors();
75            // On vérifie que text est présent
76            $this->assertTrue((bool)preg_match("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text()));
77            // On écrit "123" dans le champ dossier
78            $this->byId("dossier")->value("123");
79            // On clique sur "Valider"
80            $this->byXPath("//input[@value='Valider']")->click();
81            // On vérifie qu'il n'y ait pas d'erreur
82            $this->verifynoerrors();
83            // On vérifie que text est présent
84            $this->assertTrue((bool)preg_match("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text()));
85            // On écrit "PC0130551200002P0" dans le champ dossier
86            $this->byId("dossier")->value("PC0130551200002P0");
87            // On clique sur "Valider"
88            $this->byXPath("//input[@value='Valider']")->click();
89            // On vérifie qu'il n'y ait pas d'erreur
90            $this->verifynoerrors();
91            // On vérifie que le text est présent
92            $this->assertTrue((bool)preg_match("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text()));
93            // On clique sur "Attestation d'affichage"
94            $this->byLinkText("Attestation d'affichage")->click();sleep(5);
95            // Liste les fenêtres
96            $windows = $this->windowHandles();
97            // Change la fenêtre
98            $this->window($windows[1]);
99            // On vérifie qu'il n'y ait pas d'erreur
100            $this->verifynoerrors();
101            // On vérifie que le text est présent
102            $this->assertTrue((bool)preg_match("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source()));
103            // On ferme la fenêtre
104            $this->closeWindow();
105            // On change le focus de la fenêtre
106            $this->window($windows[0]);
107            // On se deconnecte
108          $this->logout();          $this->logout();
109      }      }
110    
111      /**      /**
112       *       * Test le Récépissé
113       */       */
114      public function testRecepisse() {      public function testRecepisse() {
         //  
         $this->login("guichet", "guichet");  
115    
116          //          // On se connecte à l'application
117          $this->clickAndWait("link=récépissé");          $this->login("guichet", "guichet");
118          $this->verifyNoErrors();          // On clique sur le menu "Récépissé"
119          $this->verifyTextPresent("demande");          $this->byLinkText("Récépissé")->click();
120          //          // On vérifie qu'il n'y ait pas d'erreur
121          $this->clickAndWait("link=AT0130551200001P0");          $this->verifynoerrors();
122          $this->verifyNoErrors();          // On vérifie le nom de l'onglet
123          $this->verifyTextPresent("Demande d'autorisation de construire, d'aménager ou de modifier un ERP");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
124            // On clique sur "AT0130551200001P0"
125            $this->byLinkText("AT0130551200001P0")->click();
126            // On vérifie qu'il n'y ait pas d'erreur
127            $this->verifynoerrors();
128            // On vérifie que le text est présent
129            $this->assertTrue((bool)preg_match("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text()));
130          // Le nom du pétitionnaire doit apparaître          // Le nom du pétitionnaire doit apparaître
131          $this->verifyTextPresent("BERNARD LILIANE");          $this->assertTrue((bool)preg_match("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text()));
132          //          // On clique sur le lien
133          $this->click("link=Éditer le récépissé PDF");          $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
134          $this->waitForPopUp("", "30000");          // Liste les fenêtres
135          $this->selectPopUp();          $windows = $this->windowHandles();
136          sleep(5);          // Change la fenêtre
137          $this->verifyNoErrors();          $this->window($windows[1]);
138          $this->verifyTextPresent("RECEPISSE DE DEPOT");          // On vérifie qu'il n'y ait pas d'erreur
139          $this->close();          $this->verifynoerrors();
140          //          // On vérifie que le text est présent
141          $this->selectWindow();          $this->assertTrue((bool)preg_match("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source()));
142          //          // On ferme la fenêtre
143          $this->clickAndWait("link=Retour");          $this->closeWindow();
144          $this->verifyNoErrors();          // On change le focus de la fenêtre
145          $this->verifyTextPresent("demande");          $this->window($windows[0]);
146            // On clique sur "Retour"
147          //          $this->byLinkText("Retour")->click();
148            // On vérifie qu'il n'y ait pas d'erreur
149            $this->verifynoerrors();
150            // On vérifie le nom de l'onglet
151            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
152            // On se deconnecte
153          $this->logout();          $this->logout();
154      }      }
155    
156      /**      /**
157       *       * Test les pétitionnaires fréquents
158       */       */
159      public function testPetitionnaireFrequent() {      public function testPetitionnaireFrequent() {
         //  
         $this->login("guichet", "guichet");  
160    
161          //          // On se connecte à l'application
162          $this->clickAndWait("link=nouveau dossier");          $this->login("guichet", "guichet");
163          $this->verifyNoErrors();          // On clique sur le menu "Nouveau Dossier"
164          $this->verifyTextPresent("demande");          $this->byLinkText("Nouveau Dossier")->click();
165          //          // On vérifie qu'il n'y ait pas d'erreur
166          $this->select("id=dossier_autorisation_type_detaille", "label=Permis de construire pour une maison individuelle et / ou ses annexes");          $this->verifynoerrors();
167          $this->select("id=demande_type", "label=Dépôt Initial");          // On vérifie le nom de l'onglet
168          $this->click("id=add_petitionnaire_principal");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
169          $this->type("id=particulier_nom", "DURAND");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
170          $this->type("id=particulier_prenom", "MICKAEL");          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
171          $this->type("id=particulier_date_naissance", "03/01/1956");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
172          $this->type("id=particulier_commune_naissance", "LILLE");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
173          $this->type("id=particulier_departement_naissance", "NORD");          // On clique pour ajouter un pétitionnaire principale
174          $this->type("id=numero", "12");          $this->byId("add_petitionnaire_principal")->click();
175          $this->type("id=voie", "RUE DE LA LOI");          // On remplit le champ
176          $this->type("document.f2.complement", "APPT 12");          $this->byId("particulier_nom")->value("DURAND");
177          $this->type("id=localite", "MARSEILLE");          // On remplit le champ
178          $this->type("id=code_postal", "13012");          $this->byId("particulier_prenom")->value("MICKAEL");
179          $this->type("id=telephone_fixe", "0404040404");          // On remplit le champ
180          $this->click("id=frequent");          $this->byId("particulier_date_naissance")->value("03/01/1956");
181                    // On remplit le champ
182          $this->click("//input[@value=\"Ajouter l'enregistrement de la table : 'demandeur'\"]");          $this->byId("particulier_commune_naissance")->value("LILLE");
183          sleep(1);          // On remplit le champ
184          $this->verifyNoErrors();          $this->byId("particulier_departement_naissance")->value("NORD");
185          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          // On remplit le champ
186          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byId("numero")->value("12");
187          sleep(1);          // On remplit le champ
188          //          $this->byId("voie")->value("RUE DE LA LOI");
189          $this->verifyTextPresent("DURAND MICKAEL\n 12 RUE DE LA LOI APPT 12 \n 13012 MARSEILLE \n 0404040404");          // On remplit le champ
190          $this->clickAndWait("//input[@value='Ajouter']");          $this->byId("complement")->value("APPT 12");
191          $this->verifyNoErrors();          // On remplit le champ
192          $this->verifyTextPresent("Création du dossier d'autorisation n°PC0130551300001");          $this->byId("localite")->value("MARSEILLE");
193          //          // On remplit le champ
194          //$this->click("link=     Télécharger le récépissé de la demande");          $this->byId("code_postal")->value("13012");
195          $this->click("css=a.lien");          // On remplit le champ
196          $this->waitForPopUp("", "30000");          $this->byId("telephone_fixe")->value("0404040404");
197          $this->selectPopUp();          // On sélectionne pétitionnaire fréquent
198          sleep(5);          $this->byId("frequent")->click();
199          $this->verifyNoErrors();          // On clique sur ajouter
200          $this->verifyTextPresent("RECEPISSE DE DEPOT");          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
201          $this->close();          // On vérifie qu'il n'y ait pas d'erreur
202          //          $this->verifynoerrors();
203          $this->selectWindow();          // On vérifie le message
204          //          $this->assertTrue((bool)preg_match("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text()));
205          $this->clickAndWait("link=Retour");          // On clique sur le bouton retour
206          $this->verifyNoErrors();          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
207          //          // On vérifie que le text est présent
208          $this->clickAndWait("link=pétitionnaire fréquent");          $this->assertTrue((bool)preg_match("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text()));
209          $this->verifyNoErrors();          // On clique sur ajouter
210          $this->verifyTextPresent("pétitionnaire fréquent");          $this->byXPath("//input[@value='Ajouter']")->click();
211          $this->verifyTextPresent("DURAND MICKAEL");          // On vérifie qu'il n'y ait pas d'erreur
212          //          $this->verifynoerrors();
213          $this->clickAndWait("link=DURAND MICKAEL");          // On vérifie le message
214          $this->verifyNoErrors();          $this->assertTrue((bool)preg_match("/^[\s\S]*Création du dossier d'autorisation n°PC0130551300001[\s\S]*$/",$this->byCssSelector("BODY")->text()));
215          $this->verifyTextPresent("RUE DE LA LOI ");          // On clique
216          //          $this->byCssSelector("a.lien")->click();sleep(5);
217          $this->clickAndWait("link=Retour");          // Liste les fenêtres
218          $this->verifyNoErrors();          $windows = $this->windowHandles();
219          $this->verifyTextPresent("pétitionnaire fréquent");          // Change la fenêtre
220          //          $this->window($windows[1]);
221            // On vérifie qu'il n'y ait pas d'erreur
222            $this->verifynoerrors();
223            // On vérifie que le text est présent
224            $this->assertTrue((bool)preg_match("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source()));
225            // On ferme la fenêtre
226            $this->closeWindow();
227            // On change le focus de la fenêtre
228            $this->window($windows[0]);
229            // On clique sur le bouton retour
230            $this->byLinkText("Retour")->click();
231            // On vérifie qu'il n'y ait pas d'erreur
232            $this->verifynoerrors();
233            // On clique sur pétitionnaire fréquent
234            $this->byLinkText("Pétitionnaire Fréquent")->click();
235            // On vérifie qu'il n'y ait pas d'erreur
236            $this->verifynoerrors();
237            // On vérifie que le text est présent
238            $this->assertTrue((bool)preg_match("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source()));
239            // On vérifie que le text est présent
240            $this->assertTrue((bool)preg_match("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source()));
241            // On clique sur le résultat
242            $this->byLinkText("DURAND MICKAEL")->click();
243            // On vérifie qu'il n'y ait pas d'erreur
244            $this->verifynoerrors();
245            // On vérifie que le text est présent
246            $this->assertTrue((bool)preg_match("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source()));
247            // On clique sur le bouton "Retour"
248            $this->byLinkText("Retour")->click();
249            // On vérifie qu'il n'y ait pas d'erreur
250            $this->verifynoerrors();
251            // On vérifie que le text est présent
252            $this->assertTrue((bool)preg_match("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source()));
253            // On se déconnecte
254          $this->logout();          $this->logout();
255      }      }
256    

Legend:
Removed from v.1966  
changed lines
  Added in v.1990

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26