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

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

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

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

Legend:
Removed from v.1727  
changed lines
  Added in v.2287

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26