/[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 1719 by fmichon, Thu Apr 18 10:45:27 2013 UTC revision 2271 by softime, Tue Sep 10 15:07:51 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("#sousform-petitionnaire .message")->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("#petitionnaire_principal_delegataire .synthese_demandeur")->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(".message")->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 initial en utilisant les références cadastrales
100         * pour récupérer l'adresse
101         */
102        public function testAjoutDemandeInitialReferenceCadastrale() {
103    
104            // On se connecte à l'application
105            $this->login("guichet", "guichet");
106            // On clique sur le menu "Nouveau Dossier"
107            $this->byLinkText("Nouveau Dossier")->click();
108            // On vérifie qu'il n'y ait pas d'erreur
109            $this->verifynoerrors();
110            // On vérifie le nom de l'onglet
111            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
112            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
113            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
114            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
115            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
116            //On saisie des références cadastrales inccorect
117            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
118            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
119            sleep(1);
120            $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
121            $this->acceptAlert();
122            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
123            sleep(1);
124            $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
125            $this->acceptAlert();
126            //On saisie les références cadastrales
127            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
128            sleep(1);
129            $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
130            $this->acceptAlert();
131            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
132            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
133            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
134            $this->byId("cad-adr-them")->click();
135            sleep(1);
136            // On vérifie que le format des champs est mise à jour automatiquement
137            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
138            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
139            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
140            //On verifie l'adresse
141            $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());
142            $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());
143            $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());
144            $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());
145            // On valide le formulaire
146            $this->byXPath("//input[@value='Ajouter']")->click();
147            // On vérifie le message d'erreur
148            $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/",$this->byCssSelector(".message")->text());
149            sleep(1);
150            // On vérifie que les références cadastrales soient toujours affiché
151            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
152            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
153            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());        
154            //On saisie les références cadastrales
155            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
156            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
157            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
158            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
159            $this->byId("cad-adr-them")->click();
160            //On valide le message d'erreur
161            $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
162            $this->acceptAlert();
163            // On clique pour ajouter un pétitionnaire principale
164            $this->byId("add_petitionnaire_principal")->click();
165            // On remplit le champ
166            $this->byId("particulier_nom")->value("DURAND");
167            // On remplit le champ
168            $this->byId("particulier_prenom")->value("MICKAEL");
169            // On remplit le champ
170            $this->byId("particulier_date_naissance")->value("03/01/1956");
171            // On remplit le champ
172            $this->byId("particulier_commune_naissance")->value("LILLE");
173            // On remplit le champ
174            $this->byId("particulier_departement_naissance")->value("NORD");
175            // On remplit le champ
176            $this->byId("numero")->value("12");
177            // On remplit le champ
178            $this->byId("voie")->value("RUE DE LA LOI");
179            // On remplit le champ
180            $this->byId("complement")->value("APPT 12");
181            // On remplit le champ
182            $this->byId("localite")->value("MARSEILLE");
183            // On remplit le champ
184            $this->byId("code_postal")->value("13012");
185            // On remplit le champ
186            $this->byId("telephone_fixe")->value("0404040404");
187            // On clique sur ajouter
188            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
189            // On vérifie qu'il n'y ait pas d'erreur
190            $this->verifynoerrors();
191            // On vérifie le message
192            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
193            // On clique sur le bouton retour
194            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
195            // On vérifie que le text est présent
196            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
197            // On clique sur ajouter
198            $this->byXPath("//input[@value='Ajouter']")->click();
199            // On vérifie qu'il n'y ait pas d'erreur
200            $this->verifynoerrors();
201            // On vérifie le message
202            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector(".message")->text());
203            // On clique
204            $this->byCssSelector("a.lien")->click();sleep(5);
205            // Liste les fenêtres
206            $windows = $this->windowHandles();
207            // Change la fenêtre
208            $this->window($windows[1]);
209            // On vérifie qu'il n'y ait pas d'erreur
210            $this->verifynoerrors();
211            // On vérifie que le text est présent
212            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
213            // On ferme la fenêtre
214            $this->closeWindow();
215            // On change le focus de la fenêtre
216            $this->window($windows[0]);
217            // On clique sur le bouton retour
218            $this->byLinkText("Retour")->click();
219            // On vérifie qu'il n'y ait pas d'erreur
220            $this->verifynoerrors();
221            // On vérifie que le répertoire s'est crée
222            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300002.P0"));
223            // On se déconnecte
224            $this->logout();
225        }
226        
227        /**
228         * Test l'ajout d'une demande avec un instructeur
229         */
230        public function testAjoutDemandeInitialInstructeur() {
231    
232            // On se connecte à l'application
233            $this->login("instr", "instr");
234            // On clique sur le menu "Nouveau Dossier"
235            $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();
236            // On vérifie qu'il n'y ait pas d'erreur
237            $this->verifynoerrors();
238            // On vérifie le nom de l'onglet
239            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
240            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
241            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
242            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
243            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
244            // On clique pour ajouter un pétitionnaire principale
245            $this->byId("add_petitionnaire_principal")->click();
246            // On remplit le champ
247            $this->byId("particulier_nom")->value("DURAND");
248            // On remplit le champ
249            $this->byId("particulier_prenom")->value("MICKAEL");
250            // On remplit le champ
251            $this->byId("particulier_date_naissance")->value("03/01/1956");
252            // On remplit le champ
253            $this->byId("particulier_commune_naissance")->value("LILLE");
254            // On remplit le champ
255            $this->byId("particulier_departement_naissance")->value("NORD");
256            // On remplit le champ
257            $this->byId("numero")->value("12");
258            // On remplit le champ
259            $this->byId("voie")->value("RUE DE LA LOI");
260            // On remplit le champ
261            $this->byId("complement")->value("APPT 12");
262            // On remplit le champ
263            $this->byId("localite")->value("MARSEILLE");
264            // On remplit le champ
265            $this->byId("code_postal")->value("13012");
266            // On remplit le champ
267            $this->byId("telephone_fixe")->value("0404040404");
268            // On clique sur ajouter
269            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
270            // On vérifie qu'il n'y ait pas d'erreur
271            $this->verifynoerrors();
272            // On vérifie le message
273            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("form div.message")->text());
274            // On clique sur le bouton retour
275            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
276            // On vérifie que le text est présent
277            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
278            // On clique sur ajouter
279            $this->byXPath("//input[@value='Ajouter']")->click();
280            // On vérifie qu'il n'y ait pas d'erreur
281            $this->verifynoerrors();
282            // On vérifie le message
283            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector(".message")->text());
284            // On clique
285            $this->byCssSelector("a.lien")->click();sleep(5);
286            // Liste les fenêtres
287            $windows = $this->windowHandles();
288            // Change la fenêtre
289            $this->window($windows[1]);
290            // On vérifie qu'il n'y ait pas d'erreur
291            $this->verifynoerrors();
292            // On vérifie que le text est présent
293            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
294            // On ferme la fenêtre
295            $this->closeWindow();
296            // On change le focus de la fenêtre
297            $this->window($windows[0]);
298            // On clique sur le bouton retour
299            $this->byLinkText("Retour")->click();
300            // On vérifie qu'il n'y ait pas d'erreur
301            $this->verifynoerrors();
302            // On vérifie que le répertoire s'est crée
303            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300003.P0"));
304            // On se déconnecte
305            $this->logout();
306        }
307    
308        /**
309         * Test l'ajout d'une demande de modification
310         */
311        public function testAjoutDemandeModification() {
312    
313      private function logout() {          /// On se connecte à l'application en tant qu'instructeur
314          // puis on se déconnecte          // pour ajouter une instruction arrêté sur le dossier crée
315            $this->login("instr", "instr");
316            // On clique sur le menu
317            $this->byLinkText("Recherche")->click();
318            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319            $this->verifyNoErrors();
320            // On clique sur le dossier
321            $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
322            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
323            $this->verifyNoErrors();
324            // On clique sur l'onglet instruction
325            $this->byId("instruction")->click();
326            // On clique sur le + pour ajouter une instruction
327            $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
328            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
329            $this->verifyNoErrors();
330            // On choisi l'événement
331            $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
332            // On clique sur le bouton ajouter
333            $this->byXPath("//input[@value='Ajouter']")->click();
334            // On vérifie que l'instruction s'est bien ajouté
335            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
336            // On clique sur le bouton retour
337            $this->byCssSelector("#sousform-instruction form a.retour")->click();
338            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
339            $this->verifyNoErrors();
340            // On clique sur l'onglet DI
341            $this->byId("main")->click();
342            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
343            $this->verifyNoErrors();
344            // on rafraichis la page
345            $this->refresh();
346            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
347            $this->verifyNoErrors();
348            // On vérifie l'état du dossier
349            $this->assertEquals("dossier accepter", $this->byId('etat')->text());
350            // On se déconnecte de l'instructeur
351          $this->deconnect();          $this->deconnect();
352          // on doit avoir un message nous indiquant que la session est finie          // On se connecte en tant que guichet unique
353          $this->assertTrue($this->isTextPresent("Votre session est maintenant terminée."));          $this->login("guichet", "guichet");
354          // on ne doit plus avoir de lien de déconnexion          // On clique sur le menu "Nouveau Dossier"
355          $this->assertFalse($this->isElementPresent("link=Déconnexion"));          $this->byLinkText("Dossier Existant")->click();
356            // On vérifie qu'il n'y ait pas d'erreur
357            $this->verifynoerrors();
358            // On vérifie le nom de l'onglet
359            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
360            // On clique pour ajouter une demande au dossier existant
361            $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
362            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
363            $this->verifyNoErrors();
364            // Vérifie le fil d'Ariane
365            $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
366            // On choisis le type de demande
367            $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
368            // On clique sur ajouter
369            $this->byXPath("//input[@value='Ajouter']")->click();
370            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
371            $this->verifyNoErrors();
372            // On vérifie le message
373            $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());
374            // On vérifie que le répertoire s'est crée
375            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));
376            // On se déconnecte
377            $this->logout();
378            
379      }      }
380    
381      /**      /**
382       * 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.  
383       */       */
384      public function testAffichageReglementaire() {      public function testAjoutDemandeModificationInstructeur() {
         //  
         $this->login();  
385    
386          //          /// On se connecte à l'application en tant qu'instructeur
387          $this->clickAndWait("link=attestation");          // pour ajouter une instruction arrêté sur le dossier crée
388          $this->verifyNoErrors();          $this->login("instr", "instr");
389          $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");          // On clique sur le menu
390          //          $this->byLinkText("Recherche")->click();
391          $this->type("id=dossier", "PC0130551200002P0");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
392          $this->clickAndWait("//input[@value='Valider']");          $this->verifyNoErrors();
393          $this->verifyNoErrors();          // On clique sur le dossier
394          $this->verifyTextPresent("Ce dossier n'a jamais été affiché.");          $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
395            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
396          //          $this->verifyNoErrors();
397          $this->clickAndWait("link=registre");          // On clique sur l'onglet instruction
398          $this->verifyNoErrors();          $this->byId("instruction")->click();
399          $this->verifyTextPresent("imprimer le registre d'affichage réglementaire");          // On clique sur le + pour ajouter une instruction
400          //          $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
401          $this->click("//input[@value='Valider']");          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
402          $this->assertTrue((bool)preg_match('/^Etes-vous sur de vouloir confirmer cette action [\s\S]$/',$this->getConfirmation()));          $this->verifyNoErrors();
403          //          // On choisi l'événement
404          $this->waitForPopUp("", "30000");          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
405          $this->selectPopUp();          // On clique sur le bouton ajouter
406          sleep(5);          $this->byXPath("//input[@value='Ajouter']")->click();
407          $this->verifyNoErrors();          // On vérifie que l'instruction s'est bien ajouté
408          $this->verifyTextPresent("Registre des dossiers en cours");          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
409          $this->close();          // On clique sur le bouton retour
410          //          $this->byCssSelector("#sousform-instruction form a.retour")->click();
411          $this->selectWindow();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
412          $this->verifyNoErrors();          $this->verifyNoErrors();
413          $this->verifyTextPresent("Traitement terminé. Le registre a été téléchargé.");          // On clique sur l'onglet DI
414            $this->byId("main")->click();
415          //          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
416          $this->clickAndWait("link=attestation");          $this->verifyNoErrors();
417          $this->verifyNoErrors();          // on rafraichis la page
418          $this->verifyTextPresent("imprimer l'attestation d'affichage réglementaire");          $this->refresh();
419          //          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
420          $this->clickAndWait("//input[@value='Valider']");          $this->verifyNoErrors();
421          $this->verifyNoErrors();          // On vérifie l'état du dossier
422          $this->verifyTextPresent("Veuiller saisir un N° de dossier.");          $this->assertEquals("dossier accepter", $this->byId('etat')->text());
423          //          // On clique sur le menu
424          $this->type("id=dossier", "123");          $this->byLinkText("Guichet Unique")->click();
425          $this->clickAndWait("//input[@value='Valider']");          $this->byLinkText("Dossier Existant")->click();
426          $this->verifyNoErrors();          // On vérifie qu'il n'y ait pas d'erreur
427          $this->verifyTextPresent("Ce dossier n'existe pas.");          $this->verifynoerrors();
428          //          // On vérifie le nom de l'onglet
429          $this->type("id=dossier", "PC0130551200002P0");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
430          $this->clickAndWait("//input[@value='Valider']");          // On clique pour ajouter une demande au dossier existant
431          $this->verifyNoErrors();          $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
432          $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é
433          //          $this->verifyNoErrors();
434          $this->click("link=Attestation d'affichage");          // Vérifie le fil d'Ariane
435          $this->waitForPopUp("", "30000");          $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001M01", $this->byXPath("//div[3]/div/h2")->text());
436          $this->selectPopUp();          // On choisis le type de demande
437          sleep(5);          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
438          $this->verifyNoErrors();          // On clique sur ajouter
439          $this->verifyTextPresent("ATTESTATION D'AFFICHAGE REGLEMENTAIRE");          $this->byXPath("//input[@value='Ajouter']")->click();
440          $this->close();          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
441          //          $this->verifyNoErrors();
442          $this->selectWindow();          // On vérifie le message
443            $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M02[\s\S]*$/",$this->byCssSelector("BODY")->text());
444            // On vérifie que le répertoire s'est crée
445            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M02"));
446            // On se déconnecte
447            $this->logout();
448            
449        }
450    
451        /**
452         * Tests l'affichage réglementaire
453         */
454        public function testAffichageReglementaire() {
455    
456          //          // On se connecte à l'application
457            $this->login("guichet", "guichet");
458            // On clique sur le menu "Attestation"
459            $this->byLinkText("Attestation")->click();
460            // On vérifie qu'il n'y ait pas d'erreur
461            $this->verifynoerrors();
462            // On vérifie le nom de l'onglet
463            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
464            // On écrit "PC0130551200002P0" dans le champ dossier
465            $this->byId("dossier")->value("PC0130551200002P0");
466            // On clique sur "Valider"
467            $this->byXPath("//input[@value='Valider']")->click();
468            // On vérifie qu'il n'y ait pas d'erreur
469            $this->verifynoerrors();
470            // On vérifie que text est présent
471            $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
472            // On clique sur le menu "Registre"
473            $this->byLinkText("Registre")->click();
474            // On vérifie qu'il n'y ait pas d'erreur
475            $this->verifynoerrors();
476            // On vérifie le nom de l'onglet
477            $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
478            // On clique sur "Valider"
479            $this->byXPath("//input[@value='Valider']")->click();
480            // On clique sur "Oui" dans la fenêtre js qui apparaît
481            $this->acceptAlert();sleep(5);
482            // Liste des fenêtres ouvertes
483            $windows = $this->windowHandles();
484            // On change le focus de la fenêtre
485            $this->window($windows[1]);
486            // On vérifie qu'il n'y ait pas d'erreur
487            $this->verifynoerrors();
488            // On vérifie que text est présent
489            $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
490            // On ferme la fenêtre
491            $this->closeWindow();
492            // On change le focus de la fenêtre
493            $this->window($windows[0]);
494            // On vérifie qu'il n'y ait pas d'erreur
495            $this->verifynoerrors();
496            // On vérifie que text est présent
497            $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
498            // On clique sur le menu "Attestation"
499            $this->byLinkText("Attestation")->click();
500            // On vérifie qu'il n'y ait pas d'erreur
501            $this->verifynoerrors();
502            // On vérifie le nom de l'onglet
503            $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
504            // On clique sur "Valider"
505            $this->byXPath("//input[@value='Valider']")->click();
506            // On vérifie qu'il n'y ait pas d'erreur
507            $this->verifynoerrors();
508            // On vérifie que text est présent
509            $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
510            // On écrit "123" dans le champ dossier
511            $this->byId("dossier")->value("123");
512            // On clique sur "Valider"
513            $this->byXPath("//input[@value='Valider']")->click();
514            // On vérifie qu'il n'y ait pas d'erreur
515            $this->verifynoerrors();
516            // On vérifie que text est présent
517            $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
518            // On écrit "PC0130551200002P0" dans le champ dossier
519            $this->byId("dossier")->value("PC0130551200002P0");
520            // On clique sur "Valider"
521            $this->byXPath("//input[@value='Valider']")->click();
522            // On vérifie qu'il n'y ait pas d'erreur
523            $this->verifynoerrors();
524            // On vérifie que le text est présent
525            $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
526            // On clique sur "Attestation d'affichage"
527            $this->byLinkText("Attestation d'affichage")->click();sleep(5);
528            // Liste les fenêtres
529            $windows = $this->windowHandles();
530            // Change la fenêtre
531            $this->window($windows[1]);
532            // On vérifie qu'il n'y ait pas d'erreur
533            $this->verifynoerrors();
534            // On vérifie que le text est
535            // présent
536            $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
537            // On ferme la fenêtre
538            $this->closeWindow();
539            // On change le focus de la fenêtre
540            $this->window($windows[0]);
541            // On se deconnecte
542          $this->logout();          $this->logout();
543      }      }
544    
545      /**      /**
546       *       * Test le Récépissé
547       */       */
548      public function testRecepisse() {      public function testRecepisse() {
         //  
         $this->login();  
549    
550          //          // On se connecte à l'application
551          $this->clickAndWait("link=récépissé");          $this->login("guichet", "guichet");
552          $this->verifyNoErrors();          // On clique sur le menu "Récépissé"
553          $this->verifyTextPresent("demande");          $this->byLinkText("Récépissé")->click();
554          //          // On vérifie qu'il n'y ait pas d'erreur
555          $this->clickAndWait("link=DAT0130551200001P0");          $this->verifynoerrors();
556          $this->verifyNoErrors();          // On vérifie le nom de l'onglet
557          $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());
558          //          // On clique sur "AT0130551200001P0"
559          $this->click("link=Éditer le récépissé PDF");          $this->byLinkText("AT 013055 12 00001P0")->click();
560          $this->waitForPopUp("", "30000");          // On vérifie qu'il n'y ait pas d'erreur
561          $this->selectPopUp();          $this->verifynoerrors();
562          sleep(5);          // Vérifie le fil d'Ariane
563          $this->verifyNoErrors();          $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
564          $this->verifyTextPresent("RECEPISSE DE DEPOT");          // On vérifie que le text est présent
565          $this->close();          $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
566          //          // Le nom du pétitionnaire doit apparaître
567          $this->selectWindow();          $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
568          //          // On clique sur le lien
569          $this->clickAndWait("link=Retour");          $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
570          $this->verifyNoErrors();          // Liste les fenêtres
571          $this->verifyTextPresent("demande");          $windows = $this->windowHandles();
572            // Change la fenêtre
573          //          $this->window($windows[1]);
574            // On vérifie qu'il n'y ait pas d'erreur
575            $this->verifynoerrors();
576            // On vérifie que le text est présent
577            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
578            // On ferme la fenêtre
579            $this->closeWindow();
580            // On change le focus de la fenêtre
581            $this->window($windows[0]);
582            // On clique sur "Retour"
583            $this->byLinkText("Retour")->click();
584            // On vérifie qu'il n'y ait pas d'erreur
585            $this->verifynoerrors();
586            // On vérifie le nom de l'onglet
587            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
588            // On se deconnecte
589          $this->logout();          $this->logout();
590      }      }
591    
592      /**      /**
593       *       * Test les pétitionnaires fréquents
594       */       */
595      public function testPetitionnaireFrequent() {      public function testPetitionnaireFrequent() {
         //  
         $this->login();  
596    
597          //          // On se connecte à l'application
598          $this->clickAndWait("link=nouveau dossier");          $this->login("guichet", "guichet");
599          $this->verifyNoErrors();          // On clique sur le menu "Nouveau Dossier"
600          $this->verifyTextPresent("demande");          $this->byLinkText("Nouveau Dossier")->click();
601          //          // On vérifie qu'il n'y ait pas d'erreur
602          $this->select("id=dossier_autorisation_type_detaille", "label=Permis de construire pour une maison individuelle et / ou ses annexes");          $this->verifynoerrors();
603          $this->select("id=demande_type", "label=Dépôt Initial");          // On vérifie le nom de l'onglet
604          $this->click("id=add_petitionnaire_principal");          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
605          $this->type("id=particulier_nom", "DURAND");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
606          $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");
607          $this->type("id=particulier_date_naissance", "03/01/1956");          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
608          $this->type("id=particulier_commune_naissance", "LILLE");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
609          $this->type("id=particulier_departement_naissance", "NORD");          // On clique pour ajouter un pétitionnaire principale
610          $this->type("id=numero", "12");          $this->byId("add_petitionnaire_principal")->click();
611          $this->type("id=voie", "RUE DE LA LOI");          // On remplit le champ
612          $this->type("document.f2.complement", "APPT 12");          $this->byId("particulier_nom")->value("DURAND");
613          $this->type("id=localite", "MARSEILLE");          // On remplit le champ
614          $this->type("id=code_postal", "13012");          $this->byId("particulier_prenom")->value("MICKAEL");
615          $this->type("id=telephone_fixe", "0404040404");          // On remplit le champ
616          $this->click("id=frequent");          $this->byId("particulier_date_naissance")->value("03/01/1956");
617                    // On remplit le champ
618          $this->click("//input[@value=\"Ajouter l'enregistrement de la table : 'demandeur'\"]");          $this->byId("particulier_commune_naissance")->value("LILLE");
619          sleep(1);          // On remplit le champ
620          $this->verifyNoErrors();          $this->byId("particulier_departement_naissance")->value("NORD");
621          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          // On remplit le champ
622          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byId("numero")->value("12");
623          sleep(1);          // On remplit le champ
624          //          $this->byId("voie")->value("RUE DE LA LOI");
625          $this->verifyTextPresent("DURAND MICKAEL\n 12 RUE DE LA LOI APPT 12 \n 13012 MARSEILLE \n 0404040404");          // On remplit le champ
626          $this->clickAndWait("//input[@value='Ajouter']");          $this->byId("complement")->value("APPT 12");
627          $this->verifyNoErrors();          // On remplit le champ
628          $this->verifyTextPresent("Création du dossier d'autorisation n°PC0130551300003");          $this->byId("localite")->value("MARSEILLE");
629          //          // On remplit le champ
630          //$this->click("link=     Télécharger le récépissé de la demande");          $this->byId("code_postal")->value("13012");
631          $this->click("css=a.lien");          // On remplit le champ
632          $this->waitForPopUp("", "30000");          $this->byId("telephone_fixe")->value("0404040404");
633          $this->selectPopUp();          // On sélectionne pétitionnaire fréquent
634          sleep(5);          $this->byId("frequent")->click();
635          $this->verifyNoErrors();          // On clique sur ajouter
636          $this->verifyTextPresent("RECEPISSE DE DEPOT");          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
637          $this->close();          // On vérifie qu'il n'y ait pas d'erreur
638          //          $this->verifynoerrors();
639          $this->selectWindow();          // On vérifie le message
640          //          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
641          $this->clickAndWait("link=Retour");          // On clique sur le bouton retour
642          $this->verifyNoErrors();          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
643          //          // On vérifie que le text est présent
644          $this->clickAndWait("link=pétitionnaire fréquent");          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
645          $this->verifyNoErrors();          // On clique sur ajouter
646          $this->verifyTextPresent("pétitionnaire fréquent");          $this->byXPath("//input[@value='Ajouter']")->click();
647          $this->verifyTextPresent("DURAND MICKAEL");          // On vérifie qu'il n'y ait pas d'erreur
648          //          $this->verifynoerrors();
649          $this->clickAndWait("link=DURAND MICKAEL");          // On vérifie le message
650          $this->verifyNoErrors();          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00004[\s\S]*$/",$this->byCssSelector(".message")->text());
651          $this->verifyTextPresent("RUE DE LA LOI ");          // On clique
652          //          $this->byCssSelector("a.lien")->click();sleep(5);
653          $this->clickAndWait("link=Retour");          // Liste les fenêtres
654          $this->verifyNoErrors();          $windows = $this->windowHandles();
655          $this->verifyTextPresent("pétitionnaire fréquent");          // Change la fenêtre
656          //          $this->window($windows[1]);
657            // On vérifie qu'il n'y ait pas d'erreur
658            $this->verifynoerrors();
659            // On vérifie que le text est présent
660            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
661            // On ferme la fenêtre
662            $this->closeWindow();
663            // On change le focus de la fenêtre
664            $this->window($windows[0]);
665            // On clique sur le bouton retour
666            $this->byLinkText("Retour")->click();
667            // On vérifie qu'il n'y ait pas d'erreur
668            $this->verifynoerrors();
669            // On clique sur pétitionnaire fréquent
670            $this->byLinkText("Pétitionnaire Fréquent")->click();
671            // On vérifie qu'il n'y ait pas d'erreur
672            $this->verifynoerrors();
673            // On vérifie que le text est présent
674            $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
675            // On vérifie que le text est présent
676            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
677            // On clique sur le résultat
678            $this->byLinkText("DURAND MICKAEL")->click();
679            // On vérifie qu'il n'y ait pas d'erreur
680            $this->verifynoerrors();
681            // On vérifie que le text est présent
682            $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
683            // On clique sur le bouton "Retour"
684            $this->byLinkText("Retour")->click();
685            // On vérifie qu'il n'y ait pas d'erreur
686            $this->verifynoerrors();
687            // On vérifie que le text est présent
688            $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
689            // On se déconnecte
690          $this->logout();          $this->logout();
691      }      }
692    

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26