/[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 1726 by fmichon, Thu Apr 18 17:12:27 2013 UTC revision 2120 by softime, Thu Aug 1 14:26:30 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      private function login() {      /**
18          // on commence par se connecter       * Test l'ajout d'une demande
19          $this->connect("guichet", "guichet");       */
20          // On doit être connecté      public function testAjoutDemandeInitial() {
21          $this->assertTrue($this->isTextPresent("Votre session est maintenant ouverte."));  
22            // On se connecte à l'application
23            $this->login("guichet", "guichet");
24            // On clique sur le menu "Nouveau Dossier"
25            $this->byLinkText("Nouveau Dossier")->click();
26            // On vérifie qu'il n'y ait pas d'erreur
27            $this->verifynoerrors();
28            // On vérifie le nom de l'onglet
29            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
30            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
31            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
32            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
33            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
34            // On clique pour ajouter un pétitionnaire principale
35            $this->byId("add_petitionnaire_principal")->click();
36            // On remplit le champ
37            $this->byId("particulier_nom")->value("DURAND");
38            // On remplit le champ
39            $this->byId("particulier_prenom")->value("MICKAEL");
40            // On remplit le champ
41            $this->byId("particulier_date_naissance")->value("03/01/1956");
42            // On remplit le champ
43            $this->byId("particulier_commune_naissance")->value("LILLE");
44            // On remplit le champ
45            $this->byId("particulier_departement_naissance")->value("NORD");
46            // On remplit le champ
47            $this->byId("numero")->value("12");
48            // On remplit le champ
49            $this->byId("voie")->value("RUE DE LA LOI");
50            // On remplit le champ
51            $this->byId("complement")->value("APPT 12");
52            // On remplit le champ
53            $this->byId("localite")->value("MARSEILLE");
54            // On remplit le champ
55            $this->byId("code_postal")->value("13012");
56            // On remplit le champ
57            $this->byId("telephone_fixe")->value("0404040404");
58            // On clique sur ajouter
59            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
60            // On vérifie qu'il n'y ait pas d'erreur
61            $this->verifynoerrors();
62            // On vérifie le message
63            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());
64            // On clique sur le bouton retour
65            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
66            // On vérifie que le text est présent
67            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());
68            // On clique sur ajouter
69            $this->byXPath("//input[@value='Ajouter']")->click();
70            // On vérifie qu'il n'y ait pas d'erreur
71            $this->verifynoerrors();
72            // On vérifie le message
73            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector("BODY")->text());
74            // On clique
75            $this->byCssSelector("a.lien")->click();sleep(5);
76            // Liste les fenêtres
77            $windows = $this->windowHandles();
78            // Change la fenêtre
79            $this->window($windows[1]);
80            // On vérifie qu'il n'y ait pas d'erreur
81            $this->verifynoerrors();
82            // On vérifie que le text est présent
83            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
84            // On ferme la fenêtre
85            $this->closeWindow();
86            // On change le focus de la fenêtre
87            $this->window($windows[0]);
88            // On clique sur le bouton retour
89            $this->byLinkText("Retour")->click();
90            // On vérifie qu'il n'y ait pas d'erreur
91            $this->verifynoerrors();
92            // On vérifie que le répertoire s'est crée
93            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));
94            // On se déconnecte
95            $this->logout();
96        }
97    
98        /**
99         * Test l'ajout d'une demande avec un instructeur
100         */
101        public function testAjoutDemandeInitialInstructeur() {
102    
103            // On se connecte à l'application
104            $this->login("instr", "instr");
105            // On clique sur le menu "Nouveau Dossier"
106            $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();
107            // On vérifie qu'il n'y ait pas d'erreur
108            $this->verifynoerrors();
109            // On vérifie le nom de l'onglet
110            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
111            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
112            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
113            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
114            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
115            // On clique pour ajouter un pétitionnaire principale
116            $this->byId("add_petitionnaire_principal")->click();
117            // On remplit le champ
118            $this->byId("particulier_nom")->value("DURAND");
119            // On remplit le champ
120            $this->byId("particulier_prenom")->value("MICKAEL");
121            // On remplit le champ
122            $this->byId("particulier_date_naissance")->value("03/01/1956");
123            // On remplit le champ
124            $this->byId("particulier_commune_naissance")->value("LILLE");
125            // On remplit le champ
126            $this->byId("particulier_departement_naissance")->value("NORD");
127            // On remplit le champ
128            $this->byId("numero")->value("12");
129            // On remplit le champ
130            $this->byId("voie")->value("RUE DE LA LOI");
131            // On remplit le champ
132            $this->byId("complement")->value("APPT 12");
133            // On remplit le champ
134            $this->byId("localite")->value("MARSEILLE");
135            // On remplit le champ
136            $this->byId("code_postal")->value("13012");
137            // On remplit le champ
138            $this->byId("telephone_fixe")->value("0404040404");
139            // On clique sur ajouter
140            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
141            // On vérifie qu'il n'y ait pas d'erreur
142            $this->verifynoerrors();
143            // On vérifie le message
144            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());
145            // On clique sur le bouton retour
146            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
147            // On vérifie que le text est présent
148            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());
149            // On clique sur ajouter
150            $this->byXPath("//input[@value='Ajouter']")->click();
151            // On vérifie qu'il n'y ait pas d'erreur
152            $this->verifynoerrors();
153            // On vérifie le message
154            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector("BODY")->text());
155            // On clique
156            $this->byCssSelector("a.lien")->click();sleep(5);
157            // Liste les fenêtres
158            $windows = $this->windowHandles();
159            // Change la fenêtre
160            $this->window($windows[1]);
161            // On vérifie qu'il n'y ait pas d'erreur
162            $this->verifynoerrors();
163            // On vérifie que le text est présent
164            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
165            // On ferme la fenêtre
166            $this->closeWindow();
167            // On change le focus de la fenêtre
168            $this->window($windows[0]);
169            // On clique sur le bouton retour
170            $this->byLinkText("Retour")->click();
171            // On vérifie qu'il n'y ait pas d'erreur
172            $this->verifynoerrors();
173            // On vérifie que le répertoire s'est crée
174            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300002.P0"));
175            // On se déconnecte
176            $this->logout();
177      }      }
178    
179      private function logout() {      /**
180          // puis on se déconnecte       * Test l'ajout d'une demande de modification
181         */
182        public function testAjoutDemandeModification() {
183    
184            /// On se connecte à l'application en tant qu'instructeur
185            // pour ajouter une instruction arrêté sur le dossier crée
186            $this->login("instr", "instr");
187            // On clique sur le menu
188            $this->byLinkText("Recherche")->click();
189            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
190            $this->verifyNoErrors();
191            // On clique sur le dossier
192            $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
193            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
194            $this->verifyNoErrors();
195            // On clique sur l'onglet instruction
196            $this->byId("instruction")->click();
197            // On clique sur le + pour ajouter une instruction
198            $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
199            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
200            $this->verifyNoErrors();
201            // On choisi l'événement
202            $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
203            // On clique sur le bouton ajouter
204            $this->byXPath("//input[@value='Ajouter']")->click();
205            // On vérifie que l'instruction s'est bien ajouté
206            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
207            // On clique sur le bouton retour
208            $this->byCssSelector("#sousform-instruction form a.retour")->click();
209            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210            $this->verifyNoErrors();
211            // On clique sur l'onglet DI
212            $this->byId("main")->click();
213            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
214            $this->verifyNoErrors();
215            // on rafraichis la page
216            $this->refresh();
217            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
218            $this->verifyNoErrors();
219            // On vérifie l'état du dossier
220            $this->assertEquals("dossier accepter", $this->byId('etat')->text());
221            // On se déconnecte de l'instructeur
222          $this->deconnect();          $this->deconnect();
223          // on doit avoir un message nous indiquant que la session est finie          // On se connecte en tant que guichet unique
224          $this->assertTrue($this->isTextPresent("Votre session est maintenant terminée."));          $this->login("guichet", "guichet");
225          // on ne doit plus avoir de lien de déconnexion          // On clique sur le menu "Nouveau Dossier"
226          $this->assertFalse($this->isElementPresent("link=Déconnexion"));          $this->byLinkText("Dossier Existant")->click();
227            // On vérifie qu'il n'y ait pas d'erreur
228            $this->verifynoerrors();
229            // On vérifie le nom de l'onglet
230            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
231            // On clique pour ajouter une demande au dossier existant
232            $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
233            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234            $this->verifyNoErrors();
235            // Vérifie le fil d'Ariane
236            $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
237            // On choisis le type de demande
238            $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
239            // On clique sur ajouter
240            $this->byXPath("//input[@value='Ajouter']")->click();
241            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242            $this->verifyNoErrors();
243            // On vérifie le message
244            $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());
245            // On vérifie que le répertoire s'est crée
246            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));
247            // On se déconnecte
248            $this->logout();
249            
250      }      }
251    
252      /**      /**
253       * Ce test doit être réalisé juste après la réinitialisation de la base       * Test l'ajout d'une demande de modification par un instructeur
      * de données.  
254       */       */
255      public function testAffichageReglementaire() {      public function testAjoutDemandeModificationInstructeur() {
         //  
         $this->login();  
256    
257          //          /// On se connecte à l'application en tant qu'instructeur
258          $this->clickAndWait("link=attestation");          // pour ajouter une instruction arrêté sur le dossier crée
259          $this->verifyNoErrors();          $this->login("instr", "instr");
260          $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");          // On clique sur le menu
261          //          $this->byLinkText("Recherche")->click();
262          $this->type("id=dossier", "PC0130551200002P0");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
263          $this->clickAndWait("//input[@value='Valider']");          $this->verifyNoErrors();
264          $this->verifyNoErrors();          // On clique sur le dossier
265          $this->verifyTextPresent("Ce dossier n'a jamais été affiché.");          $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
266            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
267          //          $this->verifyNoErrors();
268          $this->clickAndWait("link=registre");          // On clique sur l'onglet instruction
269          $this->verifyNoErrors();          $this->byId("instruction")->click();
270          $this->verifyTextPresent("imprimer le registre d'affichage réglementaire");          // On clique sur le + pour ajouter une instruction
271          //          $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
272          $this->click("//input[@value='Valider']");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
273          $this->assertTrue((bool)preg_match('/^Etes-vous sur de vouloir confirmer cette action [\s\S]$/',$this->getConfirmation()));          $this->verifyNoErrors();
274          //          // On choisi l'événement
275          $this->waitForPopUp("", "30000");          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
276          $this->selectPopUp();          // On clique sur le bouton ajouter
277          sleep(5);          $this->byXPath("//input[@value='Ajouter']")->click();
278          $this->verifyNoErrors();          // On vérifie que l'instruction s'est bien ajouté
279          $this->verifyTextPresent("Registre des dossiers en cours");          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
280          $this->close();          // On clique sur le bouton retour
281          //          $this->byCssSelector("#sousform-instruction form a.retour")->click();
282          $this->selectWindow();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
283          $this->verifyNoErrors();          $this->verifyNoErrors();
284          $this->verifyTextPresent("Traitement terminé. Le registre a été téléchargé.");          // On clique sur l'onglet DI
285            $this->byId("main")->click();
286          //          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
287          $this->clickAndWait("link=attestation");          $this->verifyNoErrors();
288          $this->verifyNoErrors();          // on rafraichis la page
289          $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");          $this->refresh();
290          //          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
291          $this->clickAndWait("//input[@value='Valider']");          $this->verifyNoErrors();
292          $this->verifyNoErrors();          // On vérifie l'état du dossier
293          $this->verifyTextPresent("Veuiller saisir un N° de dossier.");          $this->assertEquals("dossier accepter", $this->byId('etat')->text());
294          //          // On clique sur le menu
295          $this->type("id=dossier", "123");          $this->byLinkText("Guichet Unique")->click();
296          $this->clickAndWait("//input[@value='Valider']");          $this->byLinkText("Dossier Existant")->click();
297          $this->verifyNoErrors();          // On vérifie qu'il n'y ait pas d'erreur
298          $this->verifyTextPresent("Ce dossier n'existe pas.");          $this->verifynoerrors();
299          //          // On vérifie le nom de l'onglet
300          $this->type("id=dossier", "PC0130551200002P0");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
301          $this->clickAndWait("//input[@value='Valider']");          // On clique pour ajouter une demande au dossier existant
302          $this->verifyNoErrors();          $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
303          $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage : \n\nAttestation d'affichage");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
304          //          $this->verifyNoErrors();
305          $this->click("link=Attestation d'affichage");          // Vérifie le fil d'Ariane
306          $this->waitForPopUp("", "30000");          $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001M1", $this->byXPath("//div[3]/div/h2")->text());
307          $this->selectPopUp();          // On choisis le type de demande
308          sleep(5);          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
309          $this->verifyNoErrors();          // On clique sur ajouter
310          $this->verifyTextPresent("ATTESTATION D'AFFICHAGE REGLEMENTAIRE");          $this->byXPath("//input[@value='Ajouter']")->click();
311          $this->close();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
312          //          $this->verifyNoErrors();
313          $this->selectWindow();          // On vérifie le message
314            $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M2[\s\S]*$/",$this->byCssSelector("BODY")->text());
315            // On vérifie que le répertoire s'est crée
316            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M1"));
317            // On se déconnecte
318            $this->logout();
319            
320        }
321    
322          //      /**
323         * Tests l'affichage réglementaire
324         */
325        public function testAffichageReglementaire() {
326    
327            // On se connecte à l'application
328            $this->login("guichet", "guichet");
329            // On clique sur le menu "Attestation"
330            $this->byLinkText("Attestation")->click();
331            // On vérifie qu'il n'y ait pas d'erreur
332            $this->verifynoerrors();
333            // On vérifie le nom de l'onglet
334            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
335            // On écrit "PC0130551200002P0" dans le champ dossier
336            $this->byId("dossier")->value("PC0130551200002P0");
337            // On clique sur "Valider"
338            $this->byXPath("//input[@value='Valider']")->click();
339            // On vérifie qu'il n'y ait pas d'erreur
340            $this->verifynoerrors();
341            // On vérifie que text est présent
342            $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
343            // On clique sur le menu "Registre"
344            $this->byLinkText("Registre")->click();
345            // On vérifie qu'il n'y ait pas d'erreur
346            $this->verifynoerrors();
347            // On vérifie le nom de l'onglet
348            $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
349            // On clique sur "Valider"
350            $this->byXPath("//input[@value='Valider']")->click();
351            // On clique sur "Oui" dans la fenêtre js qui apparaît
352            $this->acceptAlert();sleep(5);
353            // Liste des fenêtres ouvertes
354            $windows = $this->windowHandles();
355            // On change le focus de la fenêtre
356            $this->window($windows[1]);
357            // On vérifie qu'il n'y ait pas d'erreur
358            $this->verifynoerrors();
359            // On vérifie que text est présent
360            $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
361            // On ferme la fenêtre
362            $this->closeWindow();
363            // On change le focus de la fenêtre
364            $this->window($windows[0]);
365            // On vérifie qu'il n'y ait pas d'erreur
366            $this->verifynoerrors();
367            // On vérifie que text est présent
368            $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
369            // On clique sur le menu "Attestation"
370            $this->byLinkText("Attestation")->click();
371            // On vérifie qu'il n'y ait pas d'erreur
372            $this->verifynoerrors();
373            // On vérifie le nom de l'onglet
374            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
375            // On clique sur "Valider"
376            $this->byXPath("//input[@value='Valider']")->click();
377            // On vérifie qu'il n'y ait pas d'erreur
378            $this->verifynoerrors();
379            // On vérifie que text est présent
380            $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
381            // On écrit "123" dans le champ dossier
382            $this->byId("dossier")->value("123");
383            // On clique sur "Valider"
384            $this->byXPath("//input[@value='Valider']")->click();
385            // On vérifie qu'il n'y ait pas d'erreur
386            $this->verifynoerrors();
387            // On vérifie que text est présent
388            $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
389            // On écrit "PC0130551200002P0" dans le champ dossier
390            $this->byId("dossier")->value("PC0130551200002P0");
391            // On clique sur "Valider"
392            $this->byXPath("//input[@value='Valider']")->click();
393            // On vérifie qu'il n'y ait pas d'erreur
394            $this->verifynoerrors();
395            // On vérifie que le text est présent
396            $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
397            // On clique sur "Attestation d'affichage"
398            $this->byLinkText("Attestation d'affichage")->click();sleep(5);
399            // Liste les fenêtres
400            $windows = $this->windowHandles();
401            // Change la fenêtre
402            $this->window($windows[1]);
403            // On vérifie qu'il n'y ait pas d'erreur
404            $this->verifynoerrors();
405            // On vérifie que le text est présent
406            $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
407            // On ferme la fenêtre
408            $this->closeWindow();
409            // On change le focus de la fenêtre
410            $this->window($windows[0]);
411            // On se deconnecte
412          $this->logout();          $this->logout();
413      }      }
414    
415      /**      /**
416       *       * Test le Récépissé
417       */       */
418      public function testRecepisse() {      public function testRecepisse() {
         //  
         $this->setSleep(1);  
         //  
         $this->login();  
   
         //  
         $this->clickAndWait("link=récépissé");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("demande");  
         //  
         $this->clickAndWait("link=DAT0130551200001P0");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("Demande d'autorisation de construire, d'aménager ou de modifier un ERP");  
         // Le nom du pétitionnaire doit apparaître  
         $this->verifyTextPresent("BERNARD LILIANE");  
         //  
         $this->click("link=Éditer le récépissé PDF");  
         $this->waitForPopUp("", "30000");  
         $this->selectPopUp();  
         sleep(5);  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("RECEPISSE DE DEPOT");  
         $this->close();  
         //  
         $this->selectWindow();  
         //  
         $this->clickAndWait("link=Retour");  
         $this->verifyNoErrors();  
         $this->verifyTextPresent("demande");  
419    
420          //          // On se connecte à l'application
421            $this->login("guichet", "guichet");
422            // On clique sur le menu "Récépissé"
423            $this->byLinkText("Récépissé")->click();
424            // On vérifie qu'il n'y ait pas d'erreur
425            $this->verifynoerrors();
426            // On vérifie le nom de l'onglet
427            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
428            // On clique sur "AT0130551200001P0"
429            $this->byLinkText("AT 013055 12 00001P0")->click();
430            // On vérifie qu'il n'y ait pas d'erreur
431            $this->verifynoerrors();
432            // Vérifie le fil d'Ariane
433            $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
434            // On vérifie que le text est présent
435            $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
436            // Le nom du pétitionnaire doit apparaître
437            $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
438            // On clique sur le lien
439            $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
440            // Liste les fenêtres
441            $windows = $this->windowHandles();
442            // Change la fenêtre
443            $this->window($windows[1]);
444            // On vérifie qu'il n'y ait pas d'erreur
445            $this->verifynoerrors();
446            // On vérifie que le text est présent
447            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
448            // On ferme la fenêtre
449            $this->closeWindow();
450            // On change le focus de la fenêtre
451            $this->window($windows[0]);
452            // On clique sur "Retour"
453            $this->byLinkText("Retour")->click();
454            // On vérifie qu'il n'y ait pas d'erreur
455            $this->verifynoerrors();
456            // On vérifie le nom de l'onglet
457            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
458            // On se deconnecte
459          $this->logout();          $this->logout();
460      }      }
461    
462      /**      /**
463       *       * Test les pétitionnaires fréquents
464       */       */
465      public function testPetitionnaireFrequent() {      public function testPetitionnaireFrequent() {
         //  
         $this->login();  
466    
467          //          // On se connecte à l'application
468          $this->clickAndWait("link=nouveau dossier");          $this->login("guichet", "guichet");
469          $this->verifyNoErrors();          // On clique sur le menu "Nouveau Dossier"
470          $this->verifyTextPresent("demande");          $this->byLinkText("Nouveau Dossier")->click();
471          //          // On vérifie qu'il n'y ait pas d'erreur
472          $this->select("id=dossier_autorisation_type_detaille", "label=Permis de construire pour une maison individuelle et / ou ses annexes");          $this->verifynoerrors();
473          $this->select("id=demande_type", "label=Dépôt Initial");          // On vérifie le nom de l'onglet
474          $this->click("id=add_petitionnaire_principal");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
475          $this->type("id=particulier_nom", "DURAND");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
476          $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");
477          $this->type("id=particulier_date_naissance", "03/01/1956");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
478          $this->type("id=particulier_commune_naissance", "LILLE");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
479          $this->type("id=particulier_departement_naissance", "NORD");          // On clique pour ajouter un pétitionnaire principale
480          $this->type("id=numero", "12");          $this->byId("add_petitionnaire_principal")->click();
481          $this->type("id=voie", "RUE DE LA LOI");          // On remplit le champ
482          $this->type("document.f2.complement", "APPT 12");          $this->byId("particulier_nom")->value("DURAND");
483          $this->type("id=localite", "MARSEILLE");          // On remplit le champ
484          $this->type("id=code_postal", "13012");          $this->byId("particulier_prenom")->value("MICKAEL");
485          $this->type("id=telephone_fixe", "0404040404");          // On remplit le champ
486          $this->click("id=frequent");          $this->byId("particulier_date_naissance")->value("03/01/1956");
487                    // On remplit le champ
488          $this->click("//input[@value=\"Ajouter l'enregistrement de la table : 'demandeur'\"]");          $this->byId("particulier_commune_naissance")->value("LILLE");
489          sleep(1);          // On remplit le champ
490          $this->verifyNoErrors();          $this->byId("particulier_departement_naissance")->value("NORD");
491          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          // On remplit le champ
492          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byId("numero")->value("12");
493          sleep(1);          // On remplit le champ
494          //          $this->byId("voie")->value("RUE DE LA LOI");
495          $this->verifyTextPresent("DURAND MICKAEL\n 12 RUE DE LA LOI APPT 12 \n 13012 MARSEILLE \n 0404040404");          // On remplit le champ
496          $this->clickAndWait("//input[@value='Ajouter']");          $this->byId("complement")->value("APPT 12");
497          $this->verifyNoErrors();          // On remplit le champ
498          $this->verifyTextPresent("Création du dossier d'autorisation n°PC0130551300003");          $this->byId("localite")->value("MARSEILLE");
499          //          // On remplit le champ
500          //$this->click("link=     Télécharger le récépissé de la demande");          $this->byId("code_postal")->value("13012");
501          $this->click("css=a.lien");          // On remplit le champ
502          $this->waitForPopUp("", "30000");          $this->byId("telephone_fixe")->value("0404040404");
503          $this->selectPopUp();          // On sélectionne pétitionnaire fréquent
504          sleep(5);          $this->byId("frequent")->click();
505          $this->verifyNoErrors();          // On clique sur ajouter
506          $this->verifyTextPresent("RECEPISSE DE DEPOT");          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
507          $this->close();          // On vérifie qu'il n'y ait pas d'erreur
508          //          $this->verifynoerrors();
509          $this->selectWindow();          // On vérifie le message
510          //          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());
511          $this->clickAndWait("link=Retour");          // On clique sur le bouton retour
512          $this->verifyNoErrors();          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
513          //          // On vérifie que le text est présent
514          $this->clickAndWait("link=pétitionnaire fréquent");          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());
515          $this->verifyNoErrors();          // On clique sur ajouter
516          $this->verifyTextPresent("pétitionnaire fréquent");          $this->byXPath("//input[@value='Ajouter']")->click();
517          $this->verifyTextPresent("DURAND MICKAEL");          // On vérifie qu'il n'y ait pas d'erreur
518          //          $this->verifynoerrors();
519          $this->clickAndWait("link=DURAND MICKAEL");          // On vérifie le message
520          $this->verifyNoErrors();          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector("BODY")->text());
521          $this->verifyTextPresent("RUE DE LA LOI ");          // On clique
522          //          $this->byCssSelector("a.lien")->click();sleep(5);
523          $this->clickAndWait("link=Retour");          // Liste les fenêtres
524          $this->verifyNoErrors();          $windows = $this->windowHandles();
525          $this->verifyTextPresent("pétitionnaire fréquent");          // Change la fenêtre
526          //          $this->window($windows[1]);
527            // On vérifie qu'il n'y ait pas d'erreur
528            $this->verifynoerrors();
529            // On vérifie que le text est présent
530            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
531            // On ferme la fenêtre
532            $this->closeWindow();
533            // On change le focus de la fenêtre
534            $this->window($windows[0]);
535            // On clique sur le bouton retour
536            $this->byLinkText("Retour")->click();
537            // On vérifie qu'il n'y ait pas d'erreur
538            $this->verifynoerrors();
539            // On clique sur pétitionnaire fréquent
540            $this->byLinkText("Pétitionnaire Fréquent")->click();
541            // On vérifie qu'il n'y ait pas d'erreur
542            $this->verifynoerrors();
543            // On vérifie que le text est présent
544            $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
545            // On vérifie que le text est présent
546            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
547            // On clique sur le résultat
548            $this->byLinkText("DURAND MICKAEL")->click();
549            // On vérifie qu'il n'y ait pas d'erreur
550            $this->verifynoerrors();
551            // On vérifie que le text est présent
552            $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
553            // On clique sur le bouton "Retour"
554            $this->byLinkText("Retour")->click();
555            // On vérifie qu'il n'y ait pas d'erreur
556            $this->verifynoerrors();
557            // On vérifie que le text est présent
558            $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
559            // On se déconnecte
560          $this->logout();          $this->logout();
561      }      }
562    

Legend:
Removed from v.1726  
changed lines
  Added in v.2120

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26