/[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 2112 by softime, Wed Jul 24 17:08:32 2013 UTC revision 2410 by softime, Tue Oct 15 16:31:24 2013 UTC
# Line 60  class GuichetUnique extends Base2TestCas Line 60  class GuichetUnique extends Base2TestCas
60          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
61          $this->verifynoerrors();          $this->verifynoerrors();
62          // On vérifie le message          // On vérifie le message
63          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());          $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          // On clique sur le bouton retour
65          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
66          // On vérifie que le text est présent          // On vérifie que le text est présent
67          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
68          // On clique sur ajouter          // On clique sur ajouter
69          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
70          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
71          $this->verifynoerrors();          $this->verifynoerrors();
72          // On vérifie le message          // On vérifie le message
73          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00001[\s\S]*$/",$this->byCssSelector(".message")->text());
74          // On clique          // On clique
75          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a.lien")->click();sleep(5);
76          // Liste les fenêtres          // Liste les fenêtres
# Line 96  class GuichetUnique extends Base2TestCas Line 96  class GuichetUnique extends Base2TestCas
96      }      }
97    
98      /**      /**
99         * Test l'ajout d'une demande et de création d'une nouvelle sequence
100         */
101        public function testAjoutDemandeNouvelleSequence() {
102    
103            // On se connecte à l'application
104            $this->login("guichet", "guichet");
105            // On clique sur le menu "Nouveau Dossier"
106            $this->byLinkText("Nouveau Dossier")->click();
107            // On vérifie qu'il n'y ait pas d'erreur
108            $this->verifynoerrors();
109            // On vérifie le nom de l'onglet
110            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
111            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
112            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
113            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
114            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
115            // Modification de la date
116            $this->byId("date_demande")->clear();
117            $this->acceptAlert();
118            $this->byId("date_demande")->value("10/10/2014");
119            // On clique pour ajouter un pétitionnaire principale
120            $this->byId("add_petitionnaire_principal")->click();
121            // On remplit le champ
122            $this->byId("particulier_nom")->value("DURAND");
123            // On remplit le champ
124            $this->byId("particulier_prenom")->value("MICKAEL");
125            // On remplit le champ
126            $this->byId("particulier_date_naissance")->value("03/01/1956");
127            // On remplit le champ
128            $this->byId("particulier_commune_naissance")->value("LILLE");
129            // On remplit le champ
130            $this->byId("particulier_departement_naissance")->value("NORD");
131            // On remplit le champ
132            $this->byId("numero")->value("12");
133            // On remplit le champ
134            $this->byId("voie")->value("RUE DE LA LOI");
135            // On remplit le champ
136            $this->byId("complement")->value("APPT 12");
137            // On remplit le champ
138            $this->byId("localite")->value("MARSEILLE");
139            // On remplit le champ
140            $this->byId("code_postal")->value("13012");
141            // On remplit le champ
142            $this->byId("telephone_fixe")->value("0404040404");
143            // On clique sur ajouter
144            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
145            // On vérifie qu'il n'y ait pas d'erreur
146            $this->verifynoerrors();
147            // On vérifie le message
148            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
149            // On clique sur le bouton retour
150            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
151            // On vérifie que le text est présent
152            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
153            // On clique sur ajouter
154            $this->byXPath("//input[@value='Ajouter']")->click();
155            // On vérifie qu'il n'y ait pas d'erreur
156            $this->verifynoerrors();
157            // On vérifie le message
158            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 14 00001[\s\S]*$/",$this->byCssSelector(".message")->text());
159            // On se déconnecte
160            $this->logout();
161        }
162        
163        /**
164         * Test l'ajout d'une demande avec un instructeur
165         */
166        public function testAjoutDemandeInitialInstructeur() {
167    
168            // On se connecte à l'application
169            $this->login("instr", "instr");
170            // On clique sur le menu "Nouveau Dossier"
171            $this->byLinkText("Cliquer ici pour saisir une nouvelle demande concernant le dépôt d'un nouveau dossier")->click();
172            // On vérifie qu'il n'y ait pas d'erreur
173            $this->verifynoerrors();
174            // On vérifie le nom de l'onglet
175            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
176            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
177            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
178            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
179            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
180            // On clique pour ajouter un pétitionnaire principale
181            $this->byId("add_petitionnaire_principal")->click();
182            // On remplit le champ
183            $this->byId("particulier_nom")->value("DURAND");
184            // On remplit le champ
185            $this->byId("particulier_prenom")->value("MICKAEL");
186            // On remplit le champ
187            $this->byId("particulier_date_naissance")->value("03/01/1956");
188            // On remplit le champ
189            $this->byId("particulier_commune_naissance")->value("LILLE");
190            // On remplit le champ
191            $this->byId("particulier_departement_naissance")->value("NORD");
192            // On remplit le champ
193            $this->byId("numero")->value("12");
194            // On remplit le champ
195            $this->byId("voie")->value("RUE DE LA LOI");
196            // On remplit le champ
197            $this->byId("complement")->value("APPT 12");
198            // On remplit le champ
199            $this->byId("localite")->value("MARSEILLE");
200            // On remplit le champ
201            $this->byId("code_postal")->value("13012");
202            // On remplit le champ
203            $this->byId("telephone_fixe")->value("0404040404");
204            // On clique sur ajouter
205            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
206            // On vérifie qu'il n'y ait pas d'erreur
207            $this->verifynoerrors();
208            // On vérifie le message
209            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("form div.message")->text());
210            // On clique sur le bouton retour
211            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
212            // On vérifie que le text est présent
213            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
214            // On clique sur ajouter
215            $this->byXPath("//input[@value='Ajouter']")->click();
216            // On vérifie qu'il n'y ait pas d'erreur
217            $this->verifynoerrors();
218            // On vérifie le message
219            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector(".message")->text());
220            // On clique
221            $this->byCssSelector("a.lien")->click();sleep(5);
222            // Liste les fenêtres
223            $windows = $this->windowHandles();
224            // Change la fenêtre
225            $this->window($windows[1]);
226            // On vérifie qu'il n'y ait pas d'erreur
227            $this->verifynoerrors();
228            // On vérifie que le text est présent
229            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
230            // On ferme la fenêtre
231            $this->closeWindow();
232            // On change le focus de la fenêtre
233            $this->window($windows[0]);
234            // On clique sur le bouton retour
235            $this->byLinkText("Retour")->click();
236            // On vérifie qu'il n'y ait pas d'erreur
237            $this->verifynoerrors();
238            // On vérifie que le répertoire s'est crée
239            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300002.P0"));
240            // On se déconnecte
241            $this->logout();
242        }
243    
244        /**
245       * Test l'ajout d'une demande de modification       * Test l'ajout d'une demande de modification
246       */       */
247      public function testAjoutDemandeModification() {      public function testAjoutDemandeModification() {
# Line 108  class GuichetUnique extends Base2TestCas Line 254  class GuichetUnique extends Base2TestCas
254          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
255          $this->verifyNoErrors();          $this->verifyNoErrors();
256          // On clique sur le dossier          // On clique sur le dossier
257          $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();          $this->byId("action-tab-dossier_instruction-left-consulter-PC0130551300001P0")->click();
258          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
259          $this->verifyNoErrors();          $this->verifyNoErrors();
260          // On clique sur l'onglet instruction          // On clique sur l'onglet instruction
# Line 142  class GuichetUnique extends Base2TestCas Line 288  class GuichetUnique extends Base2TestCas
288          // On se connecte en tant que guichet unique          // On se connecte en tant que guichet unique
289          $this->login("guichet", "guichet");          $this->login("guichet", "guichet");
290          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
291          $this->byLinkText("Dossier Existant")->click();          $this->byLinkText("Autre Dossier")->click();
292            // On vérifie qu'il n'y ait pas d'erreur
293            $this->verifynoerrors();
294            // On vérifie le nom de l'onglet
295            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
296            // On clique pour ajouter une demande au dossier existant
297            $this->byId("action-tab-demande_autre_dossier-left-consulter-PC0130551300001P0")->click();
298            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299            $this->verifyNoErrors();
300            // Vérifie le fil d'Ariane
301            $this->assertEquals("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());
302            // On choisis le type de demande
303            $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
304            // On clique sur ajouter
305            $this->byXPath("//input[@value='Ajouter']")->click();
306            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
307            $this->verifyNoErrors();
308            // On vérifie le message
309            $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M01[\s\S]*$/",$this->byCssSelector("BODY")->text());
310            // On vérifie que le répertoire s'est crée
311            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M01"));
312            // On se déconnecte
313            $this->logout();
314            
315        }
316    
317        /**
318         * Test l'ajout d'une demande de modification par un instructeur
319         */
320        public function testAjoutDemandeModificationInstructeur() {
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->byId("action-tab-dossier_instruction-left-consulter-PC0130551300001M01")->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 clique sur le menu
360            $this->byLinkText("Guichet Unique")->click();
361            $this->byLinkText("Dossier En Cours")->click();
362          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
363          $this->verifynoerrors();          $this->verifynoerrors();
364          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
365          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
366          // On clique pour ajouter une demande au dossier existant          // On clique pour ajouter une demande au dossier existant
367          $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();          $this->byId("action-tab-demande_dossier_encours-left-consulter-PC0130551300001M01")->click();
368          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
369          $this->verifyNoErrors();          $this->verifyNoErrors();
370          // Vérifie le fil d'Ariane          // Vérifie le fil d'Ariane
371          $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC 013055 13 00001P0", $this->byXPath("//div[3]/div/h2")->text());          $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier En Cours > PC 013055 13 00001M01", $this->byXPath("//div[3]/div/h2")->text());
372          // On choisis le type de demande          // On choisis le type de demande
373          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
374          // On clique sur ajouter          // On clique sur ajouter
# Line 160  class GuichetUnique extends Base2TestCas Line 376  class GuichetUnique extends Base2TestCas
376          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
377          $this->verifyNoErrors();          $this->verifyNoErrors();
378          // On vérifie le message          // On vérifie le message
379          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M1[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC 013055 13 00001M02[\s\S]*$/",$this->byCssSelector("BODY")->text());
380          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
381          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M1"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M02"));
382          // On se déconnecte          // On se déconnecte
383          $this->logout();          $this->logout();
384                    
# Line 251  class GuichetUnique extends Base2TestCas Line 467  class GuichetUnique extends Base2TestCas
467          $this->window($windows[1]);          $this->window($windows[1]);
468          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
469          $this->verifynoerrors();          $this->verifynoerrors();
470          // On vérifie que le text est présent          // On vérifie que le text est
471            // présent
472          $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
473          // On ferme la fenêtre          // On ferme la fenêtre
474          $this->closeWindow();          $this->closeWindow();
# Line 356  class GuichetUnique extends Base2TestCas Line 573  class GuichetUnique extends Base2TestCas
573          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
574          $this->verifynoerrors();          $this->verifynoerrors();
575          // On vérifie le message          // On vérifie le message
576          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
577          // On clique sur le bouton retour          // On clique sur le bouton retour
578          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
579          // On vérifie que le text est présent          // On vérifie que le text est présent
580          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
581          // On clique sur ajouter          // On clique sur ajouter
582          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
583          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
584          $this->verifynoerrors();          $this->verifynoerrors();
585          // On vérifie le message          // On vérifie le message
586          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00002[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00003[\s\S]*$/",$this->byCssSelector(".message")->text());
587          // On clique          // On clique
588          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a.lien")->click();sleep(5);
589          // Liste les fenêtres          // Liste les fenêtres
# Line 409  class GuichetUnique extends Base2TestCas Line 626  class GuichetUnique extends Base2TestCas
626          $this->logout();          $this->logout();
627      }      }
628    
629        /**
630         * Active l'option sig avec la valeur nécessaire pour la suite des tests
631         */
632        public function test_active_option_sig() {
633    
634            // On se connecte en tant que "admin"
635            $this->login("admin", "admin");
636            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
637            $this->verifyNoErrors();
638            // On clique sur le lien "Administration" dans le menu
639            $this->byLinkText("Administration")->click();
640            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
641            $this->verifyNoErrors();
642            // // On clique sur le lien "Paramètre" dans le menu
643            $this->byLinkText("Paramètre")->click();
644            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
645            $this->verifyNoErrors();
646            // On remplis le champs de recherche simple
647            $this->byCssSelector("input[name='recherche']")->value('option_sig');
648            // On clique sur le bouton recherche
649            $this->byCssSelector(".ui-button")->click();
650            // On clique sur le résultat
651            $this->byLinkText("option_sig")->click();
652            // On clique sur le bouton "Modifier"
653            $this->byId('action-form-om_parametre-modifier')->click();
654            // On change la valeur par "sig_externe"
655            $this->byId('valeur')->clear();
656            $this->byId('valeur')->value('sig_externe');
657            // On valide la modification
658            $this->byCssSelector("input[value='Modifier']")->click();
659            // On vérifie le message de validation
660            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
661            // On clique sur le bouton 'Retour'
662            $this->byLinkText("Retour")->click();
663            // On vérifie les nouvelles données
664            $this->assertEquals("sig_externe", $this->byId("valeur")->text());
665            // On se déconnecte
666            $this->logout();
667        }
668    
669        /**
670         * Test l'ajout d'une demande initial en utilisant les références cadastrales
671         * pour récupérer l'adresse
672         */
673        public function testAjoutDemandeInitialReferenceCadastrale() {
674    
675            // On se connecte à l'application
676            $this->login("guichet", "guichet");
677            // On clique sur le menu "Nouveau Dossier"
678            $this->byLinkText("Nouveau Dossier")->click();
679            // On vérifie qu'il n'y ait pas d'erreur
680            $this->verifynoerrors();
681            // On vérifie le nom de l'onglet
682            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
683            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
684            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
685            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
686            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
687            // XXX Problème de javascript seulement dans cette fonction
688            // Les alerts ne passent pas lorsque le focus n'est pas sur le
689            // navigateur
690            //On saisie des références cadastrales inccorect
691            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
692            // // On change le focus pour faire apparaitre le message
693            // $this->byId('date_demande')->value(date('d/m/Y'));
694            // sleep(5);
695            // // Message d'erreur concernant le numéro de quartier
696            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
697            // $this->acceptAlert();
698            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
699            // // On change le focus pour faire apparaitre le message
700            // $this->byId('date_demande')->value(date('d/m/Y'));
701            // sleep(5);
702            // // Message d'erreur concernant la section
703            // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
704            // $this->acceptAlert();
705            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
706            // // On change le focus pour faire apparaitre le message
707            // $this->byId('date_demande')->value(date('d/m/Y'));
708            // sleep(5);
709            // // Message d'erreur concernant le numéro de parcelle
710            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
711            // $this->acceptAlert();
712            //On saisie les références cadastrales
713            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
714            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
715            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
716            // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
717            // bon format automatiquement grâce au javascript
718            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("001");
719            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("DC");
720            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("0015");
721            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
722            $this->byId("cad-adr-them")->click();
723            sleep(1);
724            // On vérifie que le format des champs est mise à jour automatiquement
725            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
726            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
727            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());
728            //On verifie l'adresse
729            $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->value());
730            $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->value());
731            $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->value());
732            $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->value());
733            // On valide le formulaire
734            $this->byXPath("//input[@value='Ajouter']")->click();
735            // On vérifie le message d'erreur
736            $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
737            sleep(1);
738            // On vérifie que les références cadastrales soient toujours affiché
739            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value());
740            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value());
741            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value());        
742            //On saisie les références cadastrales
743            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
744            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
745            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
746            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
747            $this->byId("cad-adr-them")->click();
748            //On valide le message d'erreur
749            $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
750            $this->acceptAlert();
751            // On clique pour ajouter un pétitionnaire principale
752            $this->byId("add_petitionnaire_principal")->click();
753            // On remplit le champ
754            $this->byId("particulier_nom")->value("DURAND");
755            // On remplit le champ
756            $this->byId("particulier_prenom")->value("MICKAEL");
757            // On remplit le champ
758            $this->byId("particulier_date_naissance")->value("03/01/1956");
759            // On remplit le champ
760            $this->byId("particulier_commune_naissance")->value("LILLE");
761            // On remplit le champ
762            $this->byId("particulier_departement_naissance")->value("NORD");
763            // On remplit le champ
764            $this->byId("numero")->value("12");
765            // On remplit le champ
766            $this->byId("voie")->value("RUE DE LA LOI");
767            // On remplit le champ
768            $this->byId("complement")->value("APPT 12");
769            // On remplit le champ
770            $this->byId("localite")->value("MARSEILLE");
771            // On remplit le champ
772            $this->byId("code_postal")->value("13012");
773            // On remplit le champ
774            $this->byId("telephone_fixe")->value("0404040404");
775            // On clique sur ajouter
776            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
777            // On vérifie qu'il n'y ait pas d'erreur
778            $this->verifynoerrors();
779            // On vérifie le message
780            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
781            // On clique sur le bouton retour
782            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
783            // On vérifie que le text est présent
784            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
785            // On clique sur ajouter
786            $this->byXPath("//input[@value='Ajouter']")->click();
787            // On vérifie qu'il n'y ait pas d'erreur
788            $this->verifynoerrors();
789            // On vérifie le message
790            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055 13 00004[\s\S]*$/",$this->byCssSelector(".message")->text());
791            // On clique
792            $this->byCssSelector("a.lien")->click();sleep(5);
793            // Liste les fenêtres
794            $windows = $this->windowHandles();
795            // Change la fenêtre
796            $this->window($windows[1]);
797            // On vérifie qu'il n'y ait pas d'erreur
798            $this->verifynoerrors();
799            // On vérifie que le text est présent
800            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
801            // On ferme la fenêtre
802            $this->closeWindow();
803            // On change le focus de la fenêtre
804            $this->window($windows[0]);
805            // On clique sur le bouton retour
806            $this->byLinkText("Retour")->click();
807            // On vérifie qu'il n'y ait pas d'erreur
808            $this->verifynoerrors();
809            // On vérifie que le répertoire s'est crée
810            $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300004.P0"));
811            // On se déconnecte
812            $this->logout();
813        }
814        
815        /*
816         * Cette fonction va tester l'affectation automatique des instructeurs aux
817         * dossiers d'instruction.
818         * Quatre cas sont possibles :
819         * - Aucun instructeur ne correspond,  ;
820         * - Un instructeur joker correspond,  ;
821         * - Un instructeur correspond, .
822         */
823        function testAffectationAutomatique(){
824            
825            // On se connecte à l'application
826            $this->login("guichet", "guichet");
827            //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
828            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", " -");
829            
830            //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
831            //joker avec seulement le type de dossier d'autorisation détaillé de
832            //renseigné
833            $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
834            
835            //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
836            //correspondant parfaitement aux critères
837            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
838            // On se déconnecte
839            $this->logout();
840        }
841        
842        /**
843         * Ajoute un dossier d'instruction
844         * @param string $reference_cadastrale_quartier Le quartier de la référence
845         *               cadastrale du dossier
846         * @param string $reference_cadastrale_section La section de la référence
847         *               cadastrale du dossier
848         * @param string $reference_cadastrale_parcelle La parcelle de la référence
849         *               cadastrale du dossier
850         * @param string $datd dossier d'autorisation type détaillé
851         * @param string $instructeur le nom de l'instructeur
852         *
853         * @return boolean
854         */
855        function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
856            $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
857            $instructeur){
858            
859            //On affiche le tableau de bord
860            $this->byLinkText("Tableau de bord")->click();
861            // On clique sur le menu "Nouveau Dossier"
862            $this->byLinkText("Nouveau Dossier")->click();
863            // On vérifie qu'il n'y ait pas d'erreur
864            $this->verifynoerrors();
865            // On vérifie le nom de l'onglet
866            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
867            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
868            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
869            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
870            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
871            //On saisie les références cadastrales
872            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
873            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
874            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
875            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
876            $this->byId("cad-adr-them")->click();
877            // On clique pour ajouter un pétitionnaire principale
878            $this->byId("add_petitionnaire_principal")->click();
879            // On remplit le champ
880            $this->byId("particulier_nom")->value("DURAND");
881            // On remplit le champ
882            $this->byId("particulier_prenom")->value("MICKAEL");
883            // On remplit le champ
884            $this->byId("particulier_date_naissance")->value("03/01/1956");
885            // On remplit le champ
886            $this->byId("particulier_commune_naissance")->value("LILLE");
887            // On remplit le champ
888            $this->byId("particulier_departement_naissance")->value("NORD");
889            // On remplit le champ
890            $this->byId("numero")->value("12");
891            // On remplit le champ
892            $this->byId("voie")->value("RUE DE LA LOI");
893            // On remplit le champ
894            $this->byId("complement")->value("APPT 12");
895            // On remplit le champ
896            $this->byId("localite")->value("MARSEILLE");
897            // On remplit le champ
898            $this->byId("code_postal")->value("13012");
899            // On remplit le champ
900            $this->byId("telephone_fixe")->value("0404040404");
901            // On clique sur ajouter
902            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
903            // On vérifie qu'il n'y ait pas d'erreur
904            $this->verifynoerrors();
905            // On vérifie le message
906            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
907            // On clique sur le bouton retour
908            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
909            // On vérifie que le text est présent
910            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
911            // On clique sur ajouter
912            $this->byXPath("//input[@value='Ajouter']")->click();
913            // On vérifie qu'il n'y ait pas d'erreur
914            $this->verifynoerrors();
915            // On vérifie le message
916            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
917            // On clique
918            $this->byCssSelector("a.lien")->click();sleep(5);
919            // Liste les fenêtres
920            $windows = $this->windowHandles();
921            // Change la fenêtre
922            $this->window($windows[1]);
923            // On vérifie qu'il n'y ait pas d'erreur
924            $this->verifynoerrors();
925            // On vérifie que le text est présent
926            $this->assertRegExp("/^[\s\S]*Dossier suivi par  ".$instructeur."[\s\S]*$/",$this->source());
927            // On ferme la fenêtre
928            $this->closeWindow();
929            // On change le focus de la fenêtre
930            $this->window($windows[0]);
931        }
932    
933        /**
934         * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
935         */
936        public function test_autre_dossier() {
937    
938            // On se connecte en tant que "guichet"
939            $this->login("guichet", "guichet");
940            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
941            $this->verifyNoErrors();
942            // On clique sur "Autre Dossier"
943            $this->byLinkText("Autre Dossier")->click();
944            // On vérifie qu'il n'y ait pas d'erreur
945            $this->verifynoerrors();
946            // On vérifie que les dossiers qui ne devraient pas être dans
947            // "Dossier En Cours" sont ici
948            $this->assertRegExp("/^[\s\S]*PC 013055 13 00001P0[\s\S]*$/",
949                $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
950            $this->assertRegExp("/^[\s\S]*PC 013055 13 00001M01[\s\S]*$/",
951                $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
952            // On clique sur "Dossier En Cours"
953            $this->byLinkText("Dossier En Cours")->click();
954            // On vérifie qu'il n'y ait pas d'erreur
955            $this->verifynoerrors();
956            // On vérifie que les dossiers précédement contrôlés ne sont pas
957            // affichés
958            $this->assertNotContains("PC 013055 13 00001P0",
959                $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
960            $this->assertNotContains("PC 013055 13 00001M01",
961                $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
962            // On se déconnecte
963            $this->logout();
964        }
965    
966        /**
967         * Désactive l'option sig avec la valeur nécessaire
968         */
969        public function test_desactive_option_sig() {
970    
971            // On se connecte en tant que "admin"
972            $this->login("admin", "admin");
973            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
974            $this->verifyNoErrors();
975            // On clique sur le lien "Administration" dans le menu
976            $this->byLinkText("Administration")->click();
977            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
978            $this->verifyNoErrors();
979            // // On clique sur le lien "Paramètre" dans le menu
980            $this->byLinkText("Paramètre")->click();
981            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
982            $this->verifyNoErrors();
983            // On remplis le champs de recherche simple
984            $this->byCssSelector("input[name='recherche']")->value('option_sig');
985            // On clique sur le bouton recherche
986            $this->byCssSelector(".ui-button")->click();
987            // On clique sur le résultat
988            $this->byLinkText("option_sig")->click();
989            // On clique sur le bouton "Modifier"
990            $this->byId('action-form-om_parametre-modifier')->click();
991            // On change la valeur par "aucun"
992            $this->byId('valeur')->clear();
993            $this->byId('valeur')->value('aucun');
994            // On valide la modification
995            $this->byCssSelector("input[value='Modifier']")->click();
996            // On vérifie le message de validation
997            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
998            // On clique sur le bouton 'Retour'
999            $this->byLinkText("Retour")->click();
1000            // On vérifie les nouvelles données
1001            $this->assertEquals("aucun", $this->byId("valeur")->text());
1002            // On se déconnecte
1003            $this->logout();
1004        }
1005  }  }
1006    
1007  ?>  ?>

Legend:
Removed from v.2112  
changed lines
  Added in v.2410

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26