/[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

trunk/tests/testGuichetUnique.php revision 2071 by softime, Wed Jul 10 11:06:00 2013 UTC branches/3.14.x/tests/testGuichetUnique.php revision 3547 by softime, Tue Jul 7 13:23:49 2015 UTC
# Line 14  require_once "base.php"; Line 14  require_once "base.php";
14   */   */
15  class GuichetUnique extends Base2TestCase {  class GuichetUnique extends Base2TestCase {
16    
17        // Liste des utilisateurs
18        var $listUtlisateurs = array(
19                array(
20                    "login" => "guichet",
21                    "mdp" => "guichet"
22                ),
23                array(
24                    "login" => "adminfonct",
25                    "mdp" => "adminfonct"
26                ),
27            );
28    
29        /**
30         * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
31         * entrée de menu ne génère pas une erreur de base de données
32         */
33        // Fonction privé
34        private function ouvertureMenu($utilisateur) {
35            // On se connecte
36            $this->login($utilisateur["login"], $utilisateur["mdp"]);
37            // Ouvre le menu
38            $this->openMenu("Guichet Unique", $utilisateur);
39            // On vérifie le menu "Nouveau Dossier"
40            $this->byLinkText("Nouveau Dossier")->click();
41            $this->assertContains("Guichet Unique > Nouvelle Demande > Nouveau Dossier",
42                $this->byId("title")->text());
43            $this->verifyNoErrors();
44            // On vérifie le menu "Dossier En Cours"
45            $this->byLinkText("Dossier En Cours")->click();
46            $this->assertContains("Guichet Unique > Nouvelle Demande > Dossier En Cours",
47                $this->byId("title")->text());
48            $this->verifyNoErrors();
49            // On vérifie le menu "Autre Dossier"
50            $this->byLinkText("Autre Dossier")->click();
51            $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier",
52                $this->byId("title")->text());
53            $this->verifyNoErrors();
54            // On vérifie le menu "Récépissé"
55            $this->byLinkText("Récépissé")->click();
56            $this->assertContains("Guichet Unique > Nouvelle Demande > Récépissé",
57                $this->byId("title")->text());
58            $this->verifyNoErrors();
59            // On vérifie le menu "Pétitionnaire Fréquent"
60            $this->byLinkText("Pétitionnaire Fréquent")->click();
61            $this->assertContains("Guichet Unique > Nouvelle Demande > Pétitionnaire Fréquent",
62                $this->byId("title")->text());
63            $this->verifyNoErrors();
64            // On vérifie le menu "Registre"
65            $this->byLinkText("Registre")->click();
66            $this->assertContains("Guichet Unique > Affichage Réglementaire > Registre",
67                $this->byId("title")->text());
68            $this->verifyNoErrors();
69            // On vérifie le menu "Attestation"
70            $this->byLinkText("Attestation")->click();
71            $this->assertContains("Guichet Unique > Affichage Réglementaire > Attestation",
72                $this->byId("title")->text());
73            $this->verifyNoErrors();
74            // On se déconnecte
75            $this->deconnect();
76        }
77        // Fonction public
78        public function test01OuvertureMenu() {
79            // Récupération des utilisateurs
80            $utilisateurs = $this->listUtlisateurs;
81            // Pour chaque utilisateur on lance le test
82            foreach ($utilisateurs as $utilisateur) {
83                //
84                $this->ouvertureMenu($utilisateur);
85            }
86            // On vérifie la déconnexion
87            $this->verifyDeconnect();
88        }
89    
90      /**      /**
91       * Test l'ajout d'une demande       * Test l'ajout d'une demande
92       */       */
93      public function testAjoutDemandeInitial() {      // Fonction privé
94        private function ajoutDemandeInitial($utilisateur) {
95    
96          // On se connecte à l'application          // On se connecte à l'application
97          $this->login("guichet", "guichet");          $this->login($utilisateur["login"], $utilisateur["mdp"]);
98            // Ouvre le menu
99            $this->openMenu("Guichet Unique", $utilisateur);
100          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
101          $this->byLinkText("Nouveau Dossier")->click();          $this->byLinkText("Nouveau Dossier")->click();
102          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 34  class GuichetUnique extends Base2TestCas Line 110  class GuichetUnique extends Base2TestCas
110          // On clique pour ajouter un pétitionnaire principale          // On clique pour ajouter un pétitionnaire principale
111          $this->byId("add_petitionnaire_principal")->click();          $this->byId("add_petitionnaire_principal")->click();
112          // On remplit le champ          // On remplit le champ
113            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
114            // On remplit le champ
115          $this->byId("particulier_nom")->value("DURAND");          $this->byId("particulier_nom")->value("DURAND");
116          // On remplit le champ          // On remplit le champ
117          $this->byId("particulier_prenom")->value("MICKAEL");          $this->byId("particulier_prenom")->value("MICKAEL");
# Line 55  class GuichetUnique extends Base2TestCas Line 133  class GuichetUnique extends Base2TestCas
133          $this->byId("code_postal")->value("13012");          $this->byId("code_postal")->value("13012");
134          // On remplit le champ          // On remplit le champ
135          $this->byId("telephone_fixe")->value("0404040404");          $this->byId("telephone_fixe")->value("0404040404");
136            // On remplit le champ
137            $this->byId("fax")->value("0405040404");
138          // On clique sur ajouter          // On clique sur ajouter
139          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);          $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
140          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
141          $this->verifynoerrors();          $this->verifynoerrors();
142          // On vérifie le message          // On vérifie le message
143          $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());
144          // On clique sur le bouton retour          // On clique sur le bouton retour
145          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
146          // On vérifie que le text est présent          // On vérifie que le text est présent
147          $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());
148          // On clique sur ajouter          // On clique sur ajouter
149          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
150          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
151          $this->verifynoerrors();          $this->verifynoerrors();
152          // On vérifie le message          // On vérifie le message
153          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC0130551300001[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
154            // Récupération du numéro de dossier
155            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
156            $dossier_libelle = $matches[0];
157            $dossier = str_replace(' ', '', $dossier_libelle);
158            $dossier_dir = substr_replace($dossier, '.', -2, -3);
159          // On clique          // On clique
160          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
161          // Liste les fenêtres          // Liste les fenêtres
162          $windows = $this->windowHandles();          $windows = $this->windowHandles();
163          // Change la fenêtre          // Change la fenêtre
# Line 90  class GuichetUnique extends Base2TestCas Line 175  class GuichetUnique extends Base2TestCas
175          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
176          $this->verifynoerrors();          $this->verifynoerrors();
177          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
178          $this->assertTrue(file_exists("../tests/binary_files/test_digitalizedDocument/Transfert_GED/Todo/PC0130551300001.P0"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
179            // On se déconnecte
180            $this->deconnect();
181        }
182        // Fonction public
183        public function test02AjoutDemandeInitial() {
184            // Récupération des utilisateurs
185            $utilisateurs = $this->listUtlisateurs;
186            // Pour chaque utilisateur on lance le test
187            foreach ($utilisateurs as $utilisateur) {
188                //
189                $this->ajoutDemandeInitial($utilisateur);
190            }
191            // On vérifie la déconnexion
192            $this->verifyDeconnect();
193        }
194    
195        /**
196         * Test l'ajout d'une demande et de création d'une nouvelle sequence
197         */
198        public function testAjoutDemandeNouvelleSequence() {
199    
200            // On se connecte à l'application
201            $this->login("guichet", "guichet");
202            // On clique sur le menu "Nouveau Dossier"
203            $this->byLinkText("Nouveau Dossier")->click();
204            // On vérifie qu'il n'y ait pas d'erreur
205            $this->verifynoerrors();
206            // On vérifie le nom de l'onglet
207            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
208            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
209            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
210            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
211            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
212            // Modification de la date
213            $this->byId("date_demande")->clear();
214            $this->byId("date_demande")->value("10/10/2014");
215            // On clique pour ajouter un pétitionnaire principale
216            $this->byId("add_petitionnaire_principal")->click();
217            // On remplit le champ
218            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
219            // On remplit le champ
220            $this->byId("particulier_nom")->value("DURAND");
221            // On remplit le champ
222            $this->byId("particulier_prenom")->value("MICKAEL");
223            // On remplit le champ
224            $this->byId("particulier_date_naissance")->value("03/01/1956");
225            // On remplit le champ
226            $this->byId("particulier_commune_naissance")->value("LILLE");
227            // On remplit le champ
228            $this->byId("particulier_departement_naissance")->value("NORD");
229            // On remplit le champ
230            $this->byId("numero")->value("12");
231            // On remplit le champ
232            $this->byId("voie")->value("RUE DE LA LOI");
233            // On remplit le champ
234            $this->byId("complement")->value("APPT 12");
235            // On remplit le champ
236            $this->byId("localite")->value("MARSEILLE");
237            // On remplit le champ
238            $this->byId("code_postal")->value("13012");
239            // On remplit le champ
240            $this->byId("telephone_fixe")->value("0404040404");
241            // On clique sur ajouter
242            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
243            // On vérifie qu'il n'y ait pas d'erreur
244            $this->verifynoerrors();
245            // On vérifie le message
246            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
247            // On clique sur le bouton retour
248            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
249            // On vérifie que le text est présent
250            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
251            // On clique sur ajouter
252            $this->byXPath("//input[@value='Ajouter']")->click();
253            // On vérifie qu'il n'y ait pas d'erreur
254            $this->verifynoerrors();
255            // On vérifie le message
256            $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
257            // Récupération du numéro de dossier
258            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
259            $dossier = $dossier[0];
260          // On se déconnecte          // On se déconnecte
261          $this->logout();          $this->logout();
262      }      }
# Line 100  class GuichetUnique extends Base2TestCas Line 266  class GuichetUnique extends Base2TestCas
266       */       */
267      public function testAjoutDemandeModification() {      public function testAjoutDemandeModification() {
268    
269            // Année en cours
270            $annee = date("y");
271    
272          /// On se connecte à l'application en tant qu'instructeur          /// On se connecte à l'application en tant qu'instructeur
273          // pour ajouter une instruction arrêté sur le dossier crée          // pour ajouter une instruction arrêté sur le dossier crée
274          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 108  class GuichetUnique extends Base2TestCas Line 277  class GuichetUnique extends Base2TestCas
277          // 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é
278          $this->verifyNoErrors();          $this->verifyNoErrors();
279          // On clique sur le dossier          // On clique sur le dossier
280          $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();          $this->byId("action-tab-dossier_instruction-left-consulter-PC013055".$annee."00001P0")->click();
281            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282            $this->verifyNoErrors();
283            //On déplie le fieldset Pétitionnaire
284            $this->byCssSelector("#liste_demandeur legend")->click();
285            sleep(1);
286          // 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é
287          $this->verifyNoErrors();          $this->verifyNoErrors();
288            // On vérifie la civilité du demandeur
289            $this->assertContains("Monsieur",$this->byCssSelector(".synthese_demandeur")->text());
290          // On clique sur l'onglet instruction          // On clique sur l'onglet instruction
291          $this->byId("instruction")->click();          $this->byId("instruction")->click();
292          // On clique sur le + pour ajouter une instruction          // On clique sur le + pour ajouter une instruction
# Line 118  class GuichetUnique extends Base2TestCas Line 294  class GuichetUnique extends Base2TestCas
294          // 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é
295          $this->verifyNoErrors();          $this->verifyNoErrors();
296          // On choisi l'événement          // On choisi l'événement
297          $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");          $this->select($this->byId("evenement"))->selectOptionByValue(81);
298          // On clique sur le bouton ajouter          // On clique sur le bouton ajouter
299          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
300          // On vérifie que l'instruction s'est bien ajouté          // On vérifie que l'instruction s'est bien ajouté
# Line 142  class GuichetUnique extends Base2TestCas Line 318  class GuichetUnique extends Base2TestCas
318          // On se connecte en tant que guichet unique          // On se connecte en tant que guichet unique
319          $this->login("guichet", "guichet");          $this->login("guichet", "guichet");
320          // On clique sur le menu "Nouveau Dossier"          // On clique sur le menu "Nouveau Dossier"
321          $this->byLinkText("Dossier Existant")->click();          $this->byLinkText("Autre Dossier")->click();
322          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
323          $this->verifynoerrors();          $this->verifynoerrors();
324          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
325          $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());
326          // On clique pour ajouter une demande au dossier existant          // On clique pour ajouter une demande au dossier existant
327          $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();          $this->byId("action-tab-demande_autre_dossier-left-consulter-PC013055".$annee."00001P0")->click();
328          // 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é
329          $this->verifyNoErrors();          $this->verifyNoErrors();
330            // Vérifie le fil d'Ariane
331            $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
332          // On choisis le type de demande          // On choisis le type de demande
333          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
334          // On clique sur ajouter          // On clique sur ajouter
# Line 158  class GuichetUnique extends Base2TestCas Line 336  class GuichetUnique extends Base2TestCas
336          // 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é
337          $this->verifyNoErrors();          $this->verifyNoErrors();
338          // On vérifie le message          // On vérifie le message
339          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC0130551300001M1[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
340          // On vérifie que le répertoire s'est crée          // On vérifie que le répertoire s'est crée
341          $this->assertTrue(file_exists("../tests/binary_files/test_digitalizedDocument/Transfert_GED/Todo/PC0130551300001.M1"));          $this->assertTrue(file_exists("../trs/numerisation/Todo/PC013055".$annee."00001.M01"));
342          // On se déconnecte          // On se déconnecte
343          $this->logout();          $this->logout();
344                    
# Line 249  class GuichetUnique extends Base2TestCas Line 427  class GuichetUnique extends Base2TestCas
427          $this->window($windows[1]);          $this->window($windows[1]);
428          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
429          $this->verifynoerrors();          $this->verifynoerrors();
430          // On vérifie que le text est présent          // On vérifie que le text est
431            // présent
432          $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
433          // On ferme la fenêtre          // On ferme la fenêtre
434          $this->closeWindow();          $this->closeWindow();
# Line 273  class GuichetUnique extends Base2TestCas Line 452  class GuichetUnique extends Base2TestCas
452          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
453          $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());
454          // On clique sur "AT0130551200001P0"          // On clique sur "AT0130551200001P0"
455          $this->byLinkText("AT0130551200001P0")->click();          $this->byLinkText("AT 013055 12 00001P0")->click();
456          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
457          $this->verifynoerrors();          $this->verifynoerrors();
458            // Vérifie le fil d'Ariane
459            $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
460          // On vérifie que le text est présent          // On vérifie que le text est présent
461          $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
462          // Le nom du pétitionnaire doit apparaître          // Le nom du pétitionnaire doit apparaître
# Line 352  class GuichetUnique extends Base2TestCas Line 533  class GuichetUnique extends Base2TestCas
533          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
534          $this->verifynoerrors();          $this->verifynoerrors();
535          // On vérifie le message          // On vérifie le message
536          $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());
537          // On clique sur le bouton retour          // On clique sur le bouton retour
538          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
539          // On vérifie que le text est présent          // On vérifie que le text est présent
540          $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());
541          // On clique sur ajouter          // On clique sur ajouter
542          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
543          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
544          $this->verifynoerrors();          $this->verifynoerrors();
545          // On vérifie le message          // On vérifie le message
546          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC0130551300002[\s\S]*$/",$this->byCssSelector("BODY")->text());          $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
547          // On clique          // On clique
548          $this->byCssSelector("a.lien")->click();sleep(5);          $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
549          // Liste les fenêtres          // Liste les fenêtres
550          $windows = $this->windowHandles();          $windows = $this->windowHandles();
551          // Change la fenêtre          // Change la fenêtre
# Line 381  class GuichetUnique extends Base2TestCas Line 562  class GuichetUnique extends Base2TestCas
562          $this->byLinkText("Retour")->click();          $this->byLinkText("Retour")->click();
563          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
564          $this->verifynoerrors();          $this->verifynoerrors();
565            //On se déconnecte
566            $this->deconnect();
567            
568            //On se connecte en administrateur
569            $this->login("admin", "admin");
570            //On clique sur le menu guichet unique
571            $this->byLinkText("Guichet Unique")->click();
572          // On clique sur pétitionnaire fréquent          // On clique sur pétitionnaire fréquent
573          $this->byLinkText("Pétitionnaire Fréquent")->click();          $this->byLinkText("Pétitionnaire Fréquent")->click();
574          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
# Line 395  class GuichetUnique extends Base2TestCas Line 583  class GuichetUnique extends Base2TestCas
583          $this->verifynoerrors();          $this->verifynoerrors();
584          // On vérifie que le text est présent          // On vérifie que le text est présent
585          $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
586            // On marque le pétitionnaire comme non fréquent
587            $this->byId("action-form-petitionnaire_frequent-frequent")->click();
588            //On vérifie le message
589            $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
590          // On clique sur le bouton "Retour"          // On clique sur le bouton "Retour"
591          $this->byLinkText("Retour")->click();          $this->byLinkText("Retour")->click();
592          // On vérifie qu'il n'y ait pas d'erreur          // On vérifie qu'il n'y ait pas d'erreur
593          $this->verifynoerrors();          $this->verifynoerrors();
594          // On vérifie que le text est présent          // On vérifie que le text est présent
595          $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());          $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
596            $this->assertNotContains('DURAND MICKAEL', $this->source());
597            // On se déconnecte
598            $this->logout();
599        }
600    
601        /**
602         * Active l'option sig avec la valeur nécessaire pour la suite des tests
603         */
604        public function test_active_option_sig() {
605    
606            // On se connecte en tant que "admin"
607            $this->login("admin", "admin");
608            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
609            $this->verifyNoErrors();
610            // On clique sur le lien "Administration" dans le menu
611            $this->byLinkText("Administration")->click();
612            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
613            $this->verifyNoErrors();
614            // // On clique sur le lien "Paramètre" dans le menu
615            $this->byLinkText("Paramètre")->click();
616            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
617            $this->verifyNoErrors();
618            // On remplis le champs de recherche simple
619            $this->byCssSelector("input[name='recherche']")->value('option_sig');
620            // On clique sur le bouton recherche
621            $this->byCssSelector(".ui-button")->click();
622            // On clique sur le résultat
623            $this->byLinkText("option_sig")->click();
624            // On clique sur le bouton "Modifier"
625            $this->byId('action-form-om_parametre-modifier')->click();
626            // On change la valeur par "sig_externe"
627            $this->byId('valeur')->clear();
628            $this->byId('valeur')->value('sig_externe');
629            // On valide la modification
630            $this->byCssSelector("input[value='Modifier']")->click();
631            // On vérifie le message de validation
632            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
633            // On clique sur le bouton 'Retour'
634            $this->byLinkText("Retour")->click();
635            // On vérifie les nouvelles données
636            $this->assertEquals("sig_externe", $this->byId("valeur")->text());
637            // On se déconnecte
638            $this->logout();
639        }
640    
641        /**
642         * Test l'ajout d'une demande initial en utilisant les références cadastrales
643         * pour récupérer l'adresse
644         */
645        public function testAjoutDemandeInitialReferenceCadastrale() {
646    
647            // On se connecte à l'application
648            $this->login("guichet", "guichet");
649            // On clique sur le menu "Nouveau Dossier"
650            $this->byLinkText("Nouveau Dossier")->click();
651            // On vérifie qu'il n'y ait pas d'erreur
652            $this->verifynoerrors();
653            // On vérifie le nom de l'onglet
654            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
655            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
656            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
657            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
658            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
659            // XXX Problème de javascript seulement dans cette fonction
660            // Les alerts ne passent pas lorsque le focus n'est pas sur le
661            // navigateur
662            //On saisie des références cadastrales inccorect
663            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
664            // // On change le focus pour faire apparaitre le message
665            // $this->byId('date_demande')->value(date('d/m/Y'));
666            // sleep(5);
667            // // Message d'erreur concernant le numéro de quartier
668            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
669            // $this->acceptAlert();
670            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
671            // // On change le focus pour faire apparaitre le message
672            // $this->byId('date_demande')->value(date('d/m/Y'));
673            // sleep(5);
674            // // Message d'erreur concernant la section
675            // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
676            // $this->acceptAlert();
677            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
678            // // On change le focus pour faire apparaitre le message
679            // $this->byId('date_demande')->value(date('d/m/Y'));
680            // sleep(5);
681            // // Message d'erreur concernant le numéro de parcelle
682            // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
683            // $this->acceptAlert();
684            //On saisie les références cadastrales
685            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
686            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
687            // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
688            // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
689            // bon format automatiquement grâce au javascript
690            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
691            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
692            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
693            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
694            $this->byId("cad-adr-them")->click();
695            sleep(1);
696            // On vérifie que le format des champs est mise à jour automatiquement
697            $this->assertEquals("001", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
698            $this->assertEquals("DC", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
699            $this->assertEquals("0015", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
700            //On verifie l'adresse
701            $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->attribute('value'));
702            $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->attribute('value'));
703            $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->attribute('value'));
704            $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->attribute('value'));
705            //On vide un des champs des références cadastrales
706            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->clear();
707            // On valide le formulaire
708            $this->byXPath("//input[@value='Ajouter']")->click();
709            //Un alert javascript doit apparaître, on vérifie le message
710            $this->assertEquals("Les références cadastrales saisies sont incorrectes. Veuillez les corriger.", $this->alertText());
711            // On valide l'alert
712            $this->acceptAlert();sleep(1);
713            //On ajoute la référence
714            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
715            //On valide le formulaire
716            $this->byXPath("//input[@value='Ajouter']")->click();
717            // On vérifie le message d'erreur
718            $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
719            sleep(1);
720            // On vérifie que les références cadastrales soient toujours affiché
721            $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
722            $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
723            $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
724            //On saisie les références cadastrales
725            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
726            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
727            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
728            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
729            $this->byId("cad-adr-them")->click();
730            //On valide le message d'erreur
731            $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
732            $this->acceptAlert();
733            // On ressaisit les références cadatrales
734            // ref 1
735            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
736            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
737            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
738            // réf 2
739            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
740            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(6)")->value("002");
741            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(7)")->value("DC");
742            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(8)")->value("0015");
743            // réf 3
744            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
745            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(11)")->value("003");
746            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(12)")->value("DC");
747            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(13)")->value("0015");
748            // réf 4
749            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
750            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(16)")->value("004");
751            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(17)")->value("DC");
752            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(18)")->value("0015");
753            // réf 5
754            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
755            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(21)")->value("005");
756            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(22)")->value("DC");
757            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(23)")->value("0015");
758            // réf 6
759            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
760            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(26)")->value("006");
761            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(27)")->value("DC");
762            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(28)")->value("0015");
763            // réf 7
764            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
765            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(31)")->value("007");
766            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(32)")->value("DC");
767            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(33)")->value("0015");
768            // réf 8
769            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
770            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(36)")->value("008");
771            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(37)")->value("DC");
772            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(38)")->value("0015");
773            // réf 9
774            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
775            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(41)")->value("009");
776            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(42)")->value("DC");
777            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(43)")->value("0015");
778            // réf 10
779            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
780            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(46)")->value("010");
781            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(47)")->value("DC");
782            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(48)")->value("0015");
783            // réf 11
784            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
785            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(51)")->value("011");
786            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(52)")->value("DC");
787            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(53)")->value("0015");
788            // réf 12
789            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
790            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(56)")->value("012");
791            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(57)")->value("DC");
792            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(58)")->value("0015");
793            // réf 13
794            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
795            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(61)")->value("013");
796            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(62)")->value("DC");
797            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(63)")->value("0015");
798            // réf 14
799            $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
800            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(66)")->value("014");
801            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(67)")->value("DC");
802            $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(68)")->value("0015");
803            // On clique pour ajouter un pétitionnaire principale
804            $this->byId("add_petitionnaire_principal")->click();
805            // On remplit le champ
806            $this->byId("particulier_nom")->value("DURAND");
807            // On remplit le champ
808            $this->byId("particulier_prenom")->value("MICKAEL");
809            // On remplit le champ
810            $this->byId("particulier_date_naissance")->value("03/01/1956");
811            // On remplit le champ
812            $this->byId("particulier_commune_naissance")->value("LILLE");
813            // On remplit le champ
814            $this->byId("particulier_departement_naissance")->value("NORD");
815            // On remplit le champ
816            $this->byId("numero")->value("12");
817            // On remplit le champ
818            $this->byId("voie")->value("RUE DE LA LOI");
819            // On remplit le champ
820            $this->byId("complement")->value("APPT 12");
821            // On remplit le champ
822            $this->byId("localite")->value("MARSEILLE");
823            // On remplit le champ
824            $this->byId("code_postal")->value("13012");
825            // On remplit le champ
826            $this->byId("telephone_fixe")->value("0404040404");
827            // On clique sur ajouter
828            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
829            // On vérifie qu'il n'y ait pas d'erreur
830            $this->verifynoerrors();
831            // On vérifie le message
832            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
833            // On clique sur le bouton retour
834            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
835            // On vérifie que le text est présent
836            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
837            // On clique sur ajouter
838            $this->byXPath("//input[@value='Ajouter']")->click();
839            // On vérifie qu'il n'y ait pas d'erreur
840            $this->verifynoerrors();
841            // On vérifie le message
842            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
843            // Récupération du numéro de dossier
844            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
845            $dossier_libelle = $dossier[0];
846            $dossier = str_replace(' ', '', $dossier_libelle);
847            $dossier_dir = substr_replace($dossier, '.', -2, -3);
848            // On clique
849            $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
850            // Liste les fenêtres
851            $windows = $this->windowHandles();
852            // Change la fenêtre
853            $this->window($windows[1]);
854            // On vérifie qu'il n'y ait pas d'erreur
855            $this->verifynoerrors();
856            // On vérifie que le text est présent
857            $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
858            // On ferme la fenêtre
859            $this->closeWindow();
860            // On change le focus de la fenêtre
861            $this->window($windows[0]);
862            // On clique sur le bouton retour
863            $this->byLinkText("Retour")->click();
864            // On vérifie qu'il n'y ait pas d'erreur
865            $this->verifynoerrors();
866            // On vérifie que le répertoire s'est crée
867            $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
868            // On se déconnecte
869            $this->logout();
870        }
871        
872        /*
873         * Cette fonction va tester l'affectation automatique des instructeurs aux
874         * dossiers d'instruction.
875         * Quatre cas sont possibles :
876         * - Aucun instructeur ne correspond,  ;
877         * - Un instructeur joker correspond,  ;
878         * - Un instructeur correspond, .
879         */
880        function testAffectationAutomatique(){
881            
882            // On se connecte à l'application
883            $this->login("guichet", "guichet");
884            //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
885            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", " -");
886            
887            //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
888            //joker avec seulement le type de dossier d'autorisation détaillé de
889            //renseigné
890            $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
891            
892            //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
893            //correspondant parfaitement aux critères
894            $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
895            // On se déconnecte
896            $this->logout();
897        }
898        
899        /**
900         * Ajoute un dossier d'instruction
901         * @param string $reference_cadastrale_quartier Le quartier de la référence
902         *               cadastrale du dossier
903         * @param string $reference_cadastrale_section La section de la référence
904         *               cadastrale du dossier
905         * @param string $reference_cadastrale_parcelle La parcelle de la référence
906         *               cadastrale du dossier
907         * @param string $datd dossier d'autorisation type détaillé
908         * @param string $instructeur le nom de l'instructeur
909         *
910         * @return boolean
911         */
912        function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
913            $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
914            $instructeur){
915            
916            //On affiche le tableau de bord
917            $this->byLinkText("Tableau de bord")->click();
918            // On clique sur le menu "Nouveau Dossier"
919            $this->byLinkText("Nouveau Dossier")->click();
920            // On vérifie qu'il n'y ait pas d'erreur
921            $this->verifynoerrors();
922            // On vérifie le nom de l'onglet
923            $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
924            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
925            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
926            // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
927            $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
928            //On saisie les références cadastrales
929            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
930            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
931            $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
932            //On clique sur le bouton de recherche "Cadastrale = > Adresse"
933            $this->byId("cad-adr-them")->click();
934            // On clique pour ajouter un pétitionnaire principale
935            $this->byId("add_petitionnaire_principal")->click();
936            // On remplit le champ
937            $this->byId("particulier_nom")->value("DURAND");
938            // On remplit le champ
939            $this->byId("particulier_prenom")->value("MICKAEL");
940            // On remplit le champ
941            $this->byId("particulier_date_naissance")->value("03/01/1956");
942            // On remplit le champ
943            $this->byId("particulier_commune_naissance")->value("LILLE");
944            // On remplit le champ
945            $this->byId("particulier_departement_naissance")->value("NORD");
946            // On remplit le champ
947            $this->byId("numero")->value("12");
948            // On remplit le champ
949            $this->byId("voie")->value("RUE DE LA LOI");
950            // On remplit le champ
951            $this->byId("complement")->value("APPT 12");
952            // On remplit le champ
953            $this->byId("localite")->value("MARSEILLE");
954            // On remplit le champ
955            $this->byId("code_postal")->value("13012");
956            // On remplit le champ
957            $this->byId("telephone_fixe")->value("0404040404");
958            // On clique sur ajouter
959            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
960            // On vérifie qu'il n'y ait pas d'erreur
961            $this->verifynoerrors();
962            // On vérifie le message
963            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
964            // On clique sur le bouton retour
965            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
966            // On vérifie que le text est présent
967            $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
968            // On clique sur ajouter
969            $this->byXPath("//input[@value='Ajouter']")->click();
970            // On vérifie qu'il n'y ait pas d'erreur
971            $this->verifynoerrors();
972            // On vérifie le message
973            $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
974            // On clique
975            $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
976            // Liste les fenêtres
977            $windows = $this->windowHandles();
978            // Change la fenêtre
979            $this->window($windows[1]);
980            // On vérifie qu'il n'y ait pas d'erreur
981            $this->verifynoerrors();
982            // On vérifie que le text est présent
983            $this->assertRegExp("/^[\s\S]*Dossier suivi par  ".$instructeur."[\s\S]*$/",$this->source());
984            // On ferme la fenêtre
985            $this->closeWindow();
986            // On change le focus de la fenêtre
987            $this->window($windows[0]);
988        }
989    
990        /**
991         * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
992         */
993        public function test_autre_dossier() {
994    
995            // On se connecte en tant que "guichet"
996            $this->login("guichet", "guichet");
997            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
998            $this->verifyNoErrors();
999            // On clique sur "Autre Dossier"
1000            $this->byLinkText("Autre Dossier")->click();
1001            // On vérifie qu'il n'y ait pas d'erreur
1002            $this->verifynoerrors();
1003            // On vérifie que le dossier qui ne doit pas être dans
1004            // "Dossier En Cours" sont ici
1005            $this->assertRegExp("/^[\s\S]*PC 013055 ".date("y")." 00001P0[\s\S]*$/",
1006                $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
1007            // On clique sur "Dossier En Cours"
1008            $this->byLinkText("Dossier En Cours")->click();
1009            // On vérifie qu'il n'y ait pas d'erreur
1010            $this->verifynoerrors();
1011            // On vérifie que le dossier précédement contrôlé n'ait pas
1012            // affiché
1013            $this->assertNotContains("PC 013055 13 00001P0",
1014                $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
1015          // On se déconnecte          // On se déconnecte
1016          $this->logout();          $this->logout();
1017      }      }
1018    
1019        /**
1020         * Désactive l'option sig avec la valeur nécessaire
1021         */
1022        public function test_desactive_option_sig() {
1023    
1024            // On se connecte en tant que "admin"
1025            $this->login("admin", "admin");
1026            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1027            $this->verifyNoErrors();
1028            // On clique sur le lien "Administration" dans le menu
1029            $this->byLinkText("Administration")->click();
1030            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1031            $this->verifyNoErrors();
1032            // // On clique sur le lien "Paramètre" dans le menu
1033            $this->byLinkText("Paramètre")->click();
1034            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1035            $this->verifyNoErrors();
1036            // On remplis le champs de recherche simple
1037            $this->byCssSelector("input[name='recherche']")->value('option_sig');
1038            // On clique sur le bouton recherche
1039            $this->byCssSelector(".ui-button")->click();
1040            // On clique sur le résultat
1041            $this->byLinkText("option_sig")->click();
1042            // On clique sur le bouton "Modifier"
1043            $this->byId('action-form-om_parametre-modifier')->click();
1044            // On change la valeur par "aucun"
1045            $this->byId('valeur')->clear();
1046            $this->byId('valeur')->value('aucun');
1047            // On valide la modification
1048            $this->byCssSelector("input[value='Modifier']")->click();
1049            // On vérifie le message de validation
1050            $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
1051            // On clique sur le bouton 'Retour'
1052            $this->byLinkText("Retour")->click();
1053            // On vérifie les nouvelles données
1054            $this->assertEquals("aucun", $this->byId("valeur")->text());
1055            // On se déconnecte
1056            $this->logout();
1057        }
1058  }  }
1059    
1060  ?>  ?>

Legend:
Removed from v.2071  
changed lines
  Added in v.3547

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26