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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3667 - (hide annotations)
Mon Oct 12 13:51:29 2015 UTC (9 years, 3 months ago) by nmeucci
File size: 57302 byte(s)
Correction des tests

1 fmichon 1654 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8    
9     //
10 fmichon 1677 require_once "base.php";
11 fmichon 1654
12     /**
13     *
14     */
15 softime 1990 class GuichetUnique extends Base2TestCase {
16 fmichon 1654
17 softime 2605 // Liste des utilisateurs
18     var $listUtlisateurs = array(
19 nmeucci 3659 array(
20     "login" => "guichet",
21     "mdp" => "guichet"
22     ),
23     array(
24     "login" => "adminfonct",
25     "mdp" => "adminfonct"
26     ),
27     );
28 softime 2605
29 fmichon 1654 /**
30 softime 2605 * 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 softime 2071 * Test l'ajout d'une demande
92 fmichon 1654 */
93 softime 2605 // Fonction privé
94     private function ajoutDemandeInitial($utilisateur) {
95 softime 2071
96 softime 2416 // On se connecte à l'application
97 softime 2605 $this->login($utilisateur["login"], $utilisateur["mdp"]);
98     // Ouvre le menu
99     $this->openMenu("Guichet Unique", $utilisateur);
100 softime 2416 // On clique sur le menu "Nouveau Dossier"
101     $this->byLinkText("Nouveau Dossier")->click();
102     // On vérifie qu'il n'y ait pas d'erreur
103     $this->verifynoerrors();
104     // On vérifie le nom de l'onglet
105     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
106     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
107     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
108     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
109     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
110     // On clique pour ajouter un pétitionnaire principale
111     $this->byId("add_petitionnaire_principal")->click();
112     // On remplit le champ
113 vpihour 3333 $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
114     // On remplit le champ
115 softime 2416 $this->byId("particulier_nom")->value("DURAND");
116     // On remplit le champ
117     $this->byId("particulier_prenom")->value("MICKAEL");
118     // On remplit le champ
119     $this->byId("particulier_date_naissance")->value("03/01/1956");
120     // On remplit le champ
121     $this->byId("particulier_commune_naissance")->value("LILLE");
122     // On remplit le champ
123     $this->byId("particulier_departement_naissance")->value("NORD");
124     // On remplit le champ
125     $this->byId("numero")->value("12");
126     // On remplit le champ
127     $this->byId("voie")->value("RUE DE LA LOI");
128     // On remplit le champ
129     $this->byId("complement")->value("APPT 12");
130     // On remplit le champ
131     $this->byId("localite")->value("MARSEILLE");
132     // On remplit le champ
133     $this->byId("code_postal")->value("13012");
134     // On remplit le champ
135     $this->byId("telephone_fixe")->value("0404040404");
136 nmeucci 2820 // On remplit le champ
137     $this->byId("fax")->value("0405040404");
138 softime 2416 // On clique sur ajouter
139     $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
141     $this->verifynoerrors();
142     // On vérifie le message
143     $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
145     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
146     // On vérifie que le text est présent
147     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
148     // On clique sur ajouter
149     $this->byXPath("//input[@value='Ajouter']")->click();
150     // On vérifie qu'il n'y ait pas d'erreur
151     $this->verifynoerrors();
152     // On vérifie le message
153 softime 2605 $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 softime 2416 // On clique
160 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
161 softime 2416 // Liste les fenêtres
162     $windows = $this->windowHandles();
163     // Change la fenêtre
164     $this->window($windows[1]);
165     // On vérifie qu'il n'y ait pas d'erreur
166     $this->verifynoerrors();
167     // On vérifie que le text est présent
168     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
169     // On ferme la fenêtre
170     $this->closeWindow();
171     // On change le focus de la fenêtre
172     $this->window($windows[0]);
173     // On clique sur le bouton retour
174     $this->byLinkText("Retour")->click();
175     // On vérifie qu'il n'y ait pas d'erreur
176     $this->verifynoerrors();
177     // On vérifie que le répertoire s'est crée
178 softime 2605 $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
179 softime 2416 // On se déconnecte
180 softime 2605 $this->deconnect();
181 softime 2416 }
182 softime 2605 // 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 nhaye 2384
195 softime 2416 /**
196     * Test l'ajout d'une demande et de création d'une nouvelle sequence
197     */
198     public function testAjoutDemandeNouvelleSequence() {
199 nhaye 2384
200 softime 2416 // 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 vpihour 3333 $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
219     // On remplit le champ
220 softime 2416 $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 nmeucci 2878 $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 softime 2416 // On se déconnecte
261     $this->logout();
262     }
263 softime 2120
264 softime 2416 /**
265     * Test l'ajout d'une demande de modification
266     */
267     public function testAjoutDemandeModification() {
268 softime 2071
269 softime 2676 // Année en cours
270     $annee = date("y");
271    
272 softime 2416 /// On se connecte à l'application en tant qu'instructeur
273     // pour ajouter une instruction arrêté sur le dossier crée
274     $this->login("instr", "instr");
275     // On clique sur le menu
276     $this->byLinkText("Recherche")->click();
277     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
278     $this->verifyNoErrors();
279 nmeucci 3659 // On recherche le dossier
280     $this->byId("dossier")->clear();
281     $this->byId("dossier")->value("PC013055".$annee."00001P0");
282     $this->byId("adv-search-submit")->click();
283 softime 2416 // On clique sur le dossier
284 softime 2676 $this->byId("action-tab-dossier_instruction-left-consulter-PC013055".$annee."00001P0")->click();
285 softime 2416 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286     $this->verifyNoErrors();
287 vpihour 3333 //On déplie le fieldset Pétitionnaire
288     $this->byCssSelector("#liste_demandeur legend")->click();
289     sleep(1);
290     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
291     $this->verifyNoErrors();
292     // On vérifie la civilité du demandeur
293     $this->assertContains("Monsieur",$this->byCssSelector(".synthese_demandeur")->text());
294 softime 2416 // On clique sur l'onglet instruction
295     $this->byId("instruction")->click();
296     // On clique sur le + pour ajouter une instruction
297     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
298     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299     $this->verifyNoErrors();
300     // On choisi l'événement
301 nmeucci 2863 $this->select($this->byId("evenement"))->selectOptionByValue(81);
302 softime 2416 // On clique sur le bouton ajouter
303     $this->byXPath("//input[@value='Ajouter']")->click();
304     // On vérifie que l'instruction s'est bien ajouté
305     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
306     // On clique sur le bouton retour
307     $this->byCssSelector("#sousform-instruction form a.retour")->click();
308     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
309     $this->verifyNoErrors();
310     // On clique sur l'onglet DI
311     $this->byId("main")->click();
312     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
313     $this->verifyNoErrors();
314     // on rafraichis la page
315     $this->refresh();
316     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
317     $this->verifyNoErrors();
318     // On vérifie l'état du dossier
319     $this->assertEquals("dossier accepter", $this->byId('etat')->text());
320     // On se déconnecte de l'instructeur
321     $this->deconnect();
322     // On se connecte en tant que guichet unique
323     $this->login("guichet", "guichet");
324     // On clique sur le menu "Nouveau Dossier"
325     $this->byLinkText("Autre Dossier")->click();
326     // On vérifie qu'il n'y ait pas d'erreur
327     $this->verifynoerrors();
328     // On vérifie le nom de l'onglet
329     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
330 nmeucci 3659 $this->byCssSelector("input[name='recherche']")->clear();
331     $this->byCssSelector("input[name='recherche']")->value("PC013055".$annee."00001P0");
332     $this->byId("adv-search-submit")->click();
333 softime 2416 // On clique pour ajouter une demande au dossier existant
334 softime 2676 $this->byId("action-tab-demande_autre_dossier-left-consulter-PC013055".$annee."00001P0")->click();
335 softime 2416 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
336     $this->verifyNoErrors();
337     // Vérifie le fil d'Ariane
338 softime 2676 $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
339 softime 2416 // On choisis le type de demande
340     $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
341     // On clique sur ajouter
342     $this->byXPath("//input[@value='Ajouter']")->click();
343     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
344     $this->verifyNoErrors();
345     // On vérifie le message
346 softime 2676 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
347 softime 2416 // On vérifie que le répertoire s'est crée
348 softime 2676 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC013055".$annee."00001.M01"));
349 softime 2416 // On se déconnecte
350     $this->logout();
351 softime 2071
352 softime 2416 }
353 softime 2071
354 softime 2416 /**
355     * Tests l'affichage réglementaire
356     */
357     public function testAffichageReglementaire() {
358 softime 1990
359 softime 2416 // On se connecte à l'application
360     $this->login("guichet", "guichet");
361     // On clique sur le menu "Attestation"
362     $this->byLinkText("Attestation")->click();
363     // On vérifie qu'il n'y ait pas d'erreur
364     $this->verifynoerrors();
365     // On vérifie le nom de l'onglet
366     $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
367     // On écrit "PC0130551200002P0" dans le champ dossier
368     $this->byId("dossier")->value("PC0130551200002P0");
369     // On clique sur "Valider"
370     $this->byXPath("//input[@value='Valider']")->click();
371     // On vérifie qu'il n'y ait pas d'erreur
372     $this->verifynoerrors();
373     // On vérifie que text est présent
374     $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
375     // On clique sur le menu "Registre"
376     $this->byLinkText("Registre")->click();
377     // On vérifie qu'il n'y ait pas d'erreur
378     $this->verifynoerrors();
379     // On vérifie le nom de l'onglet
380     $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
381     // On clique sur "Valider"
382     $this->byXPath("//input[@value='Valider']")->click();
383     // On clique sur "Oui" dans la fenêtre js qui apparaît
384 nmeucci 3667 $this->acceptAlert();sleep(10);
385 softime 2416 // Liste des fenêtres ouvertes
386     $windows = $this->windowHandles();
387     // On change le focus de la fenêtre
388     $this->window($windows[1]);
389     // On vérifie qu'il n'y ait pas d'erreur
390     $this->verifynoerrors();
391     // On vérifie que text est présent
392     $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
393     // On ferme la fenêtre
394     $this->closeWindow();
395     // On change le focus de la fenêtre
396     $this->window($windows[0]);
397     // On vérifie qu'il n'y ait pas d'erreur
398     $this->verifynoerrors();
399     // On vérifie que text est présent
400     $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
401     // On clique sur le menu "Attestation"
402     $this->byLinkText("Attestation")->click();
403     // On vérifie qu'il n'y ait pas d'erreur
404     $this->verifynoerrors();
405     // On vérifie le nom de l'onglet
406     $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
407     // On clique sur "Valider"
408     $this->byXPath("//input[@value='Valider']")->click();
409     // On vérifie qu'il n'y ait pas d'erreur
410     $this->verifynoerrors();
411     // On vérifie que text est présent
412     $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
413     // On écrit "123" dans le champ dossier
414     $this->byId("dossier")->value("123");
415     // On clique sur "Valider"
416     $this->byXPath("//input[@value='Valider']")->click();
417     // On vérifie qu'il n'y ait pas d'erreur
418     $this->verifynoerrors();
419     // On vérifie que text est présent
420     $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
421     // On écrit "PC0130551200002P0" dans le champ dossier
422     $this->byId("dossier")->value("PC0130551200002P0");
423     // On clique sur "Valider"
424     $this->byXPath("//input[@value='Valider']")->click();
425     // On vérifie qu'il n'y ait pas d'erreur
426     $this->verifynoerrors();
427     // On vérifie que le text est présent
428     $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
429     // On clique sur "Attestation d'affichage"
430     $this->byLinkText("Attestation d'affichage")->click();sleep(5);
431     // Liste les fenêtres
432     $windows = $this->windowHandles();
433     // Change la fenêtre
434     $this->window($windows[1]);
435     // On vérifie qu'il n'y ait pas d'erreur
436     $this->verifynoerrors();
437     // On vérifie que le text est
438     // présent
439     $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
440     // On ferme la fenêtre
441     $this->closeWindow();
442     // On change le focus de la fenêtre
443     $this->window($windows[0]);
444     // On se deconnecte
445     $this->logout();
446     }
447 fmichon 1654
448 softime 2416 /**
449     * Test le Récépissé
450     */
451     public function testRecepisse() {
452 softime 1990
453 softime 2416 // On se connecte à l'application
454     $this->login("guichet", "guichet");
455     // On clique sur le menu "Récépissé"
456     $this->byLinkText("Récépissé")->click();
457     // On vérifie qu'il n'y ait pas d'erreur
458     $this->verifynoerrors();
459     // On vérifie le nom de l'onglet
460     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
461     // On clique sur "AT0130551200001P0"
462     $this->byLinkText("AT 013055 12 00001P0")->click();
463     // On vérifie qu'il n'y ait pas d'erreur
464     $this->verifynoerrors();
465     // Vérifie le fil d'Ariane
466     $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
467     // On vérifie que le text est présent
468     $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
469     // Le nom du pétitionnaire doit apparaître
470     $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
471     // On clique sur le lien
472     $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
473     // Liste les fenêtres
474     $windows = $this->windowHandles();
475     // Change la fenêtre
476     $this->window($windows[1]);
477     // On vérifie qu'il n'y ait pas d'erreur
478     $this->verifynoerrors();
479     // On vérifie que le text est présent
480     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
481     // On ferme la fenêtre
482     $this->closeWindow();
483     // On change le focus de la fenêtre
484     $this->window($windows[0]);
485     // On clique sur "Retour"
486     $this->byLinkText("Retour")->click();
487     // On vérifie qu'il n'y ait pas d'erreur
488     $this->verifynoerrors();
489     // On vérifie le nom de l'onglet
490     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
491     // On se deconnecte
492     $this->logout();
493     }
494 fmichon 1654
495 softime 2416 /**
496     * Test les pétitionnaires fréquents
497     */
498     public function testPetitionnaireFrequent() {
499 softime 1990
500 softime 2416 // On se connecte à l'application
501     $this->login("guichet", "guichet");
502     // On clique sur le menu "Nouveau Dossier"
503     $this->byLinkText("Nouveau Dossier")->click();
504     // On vérifie qu'il n'y ait pas d'erreur
505     $this->verifynoerrors();
506     // On vérifie le nom de l'onglet
507     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
508     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
509     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
510     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
511     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
512     // On clique pour ajouter un pétitionnaire principale
513     $this->byId("add_petitionnaire_principal")->click();
514     // On remplit le champ
515     $this->byId("particulier_nom")->value("DURAND");
516     // On remplit le champ
517     $this->byId("particulier_prenom")->value("MICKAEL");
518     // On remplit le champ
519     $this->byId("particulier_date_naissance")->value("03/01/1956");
520     // On remplit le champ
521     $this->byId("particulier_commune_naissance")->value("LILLE");
522     // On remplit le champ
523     $this->byId("particulier_departement_naissance")->value("NORD");
524     // On remplit le champ
525     $this->byId("numero")->value("12");
526     // On remplit le champ
527     $this->byId("voie")->value("RUE DE LA LOI");
528     // On remplit le champ
529     $this->byId("complement")->value("APPT 12");
530     // On remplit le champ
531     $this->byId("localite")->value("MARSEILLE");
532     // On remplit le champ
533     $this->byId("code_postal")->value("13012");
534     // On remplit le champ
535     $this->byId("telephone_fixe")->value("0404040404");
536     // On sélectionne pétitionnaire fréquent
537     $this->byId("frequent")->click();
538     // On clique sur ajouter
539     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
540     // On vérifie qu'il n'y ait pas d'erreur
541     $this->verifynoerrors();
542     // On vérifie le message
543     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
544     // On clique sur le bouton retour
545     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
546     // On vérifie que le text est présent
547     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
548     // On clique sur ajouter
549     $this->byXPath("//input[@value='Ajouter']")->click();
550     // On vérifie qu'il n'y ait pas d'erreur
551     $this->verifynoerrors();
552     // On vérifie le message
553 softime 2601 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
554 softime 2416 // On clique
555 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
556 softime 2416 // Liste les fenêtres
557     $windows = $this->windowHandles();
558     // Change la fenêtre
559     $this->window($windows[1]);
560     // On vérifie qu'il n'y ait pas d'erreur
561     $this->verifynoerrors();
562     // On vérifie que le text est présent
563     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
564     // On ferme la fenêtre
565     $this->closeWindow();
566     // On change le focus de la fenêtre
567     $this->window($windows[0]);
568     // On clique sur le bouton retour
569     $this->byLinkText("Retour")->click();
570     // On vérifie qu'il n'y ait pas d'erreur
571     $this->verifynoerrors();
572 vpihour 3364 //On se déconnecte
573     $this->deconnect();
574    
575     //On se connecte en administrateur
576     $this->login("admin", "admin");
577     //On clique sur le menu guichet unique
578     $this->byLinkText("Guichet Unique")->click();
579 softime 2416 // On clique sur pétitionnaire fréquent
580     $this->byLinkText("Pétitionnaire Fréquent")->click();
581     // On vérifie qu'il n'y ait pas d'erreur
582     $this->verifynoerrors();
583     // On vérifie que le text est présent
584     $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
585     // On vérifie que le text est présent
586     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
587     // On clique sur le résultat
588     $this->byLinkText("DURAND MICKAEL")->click();
589     // On vérifie qu'il n'y ait pas d'erreur
590     $this->verifynoerrors();
591     // On vérifie que le text est présent
592     $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
593 vpihour 3364 // On marque le pétitionnaire comme non fréquent
594     $this->byId("action-form-petitionnaire_frequent-frequent")->click();
595     //On vérifie le message
596 nhaye 3479 $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
597 softime 2416 // On clique sur le bouton "Retour"
598     $this->byLinkText("Retour")->click();
599     // On vérifie qu'il n'y ait pas d'erreur
600     $this->verifynoerrors();
601     // On vérifie que le text est présent
602     $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
603 vpihour 3364 $this->assertNotContains('DURAND MICKAEL', $this->source());
604 softime 2416 // On se déconnecte
605     $this->logout();
606     }
607 softime 2313
608 softime 2416 /**
609     * Active l'option sig avec la valeur nécessaire pour la suite des tests
610     */
611     public function test_active_option_sig() {
612 softime 2313
613 softime 2416 // On se connecte en tant que "admin"
614     $this->login("admin", "admin");
615     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
616     $this->verifyNoErrors();
617     // On clique sur le lien "Administration" dans le menu
618     $this->byLinkText("Administration")->click();
619     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
620     $this->verifyNoErrors();
621     // // On clique sur le lien "Paramètre" dans le menu
622     $this->byLinkText("Paramètre")->click();
623     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
624     $this->verifyNoErrors();
625     // On remplis le champs de recherche simple
626     $this->byCssSelector("input[name='recherche']")->value('option_sig');
627     // On clique sur le bouton recherche
628     $this->byCssSelector(".ui-button")->click();
629     // On clique sur le résultat
630     $this->byLinkText("option_sig")->click();
631     // On clique sur le bouton "Modifier"
632     $this->byId('action-form-om_parametre-modifier')->click();
633     // On change la valeur par "sig_externe"
634     $this->byId('valeur')->clear();
635     $this->byId('valeur')->value('sig_externe');
636     // On valide la modification
637     $this->byCssSelector("input[value='Modifier']")->click();
638     // On vérifie le message de validation
639     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
640     // On clique sur le bouton 'Retour'
641     $this->byLinkText("Retour")->click();
642     // On vérifie les nouvelles données
643     $this->assertEquals("sig_externe", $this->byId("valeur")->text());
644     // On se déconnecte
645     $this->logout();
646     }
647 softime 2313
648     /**
649     * Test l'ajout d'une demande initial en utilisant les références cadastrales
650     * pour récupérer l'adresse
651     */
652     public function testAjoutDemandeInitialReferenceCadastrale() {
653    
654     // On se connecte à l'application
655     $this->login("guichet", "guichet");
656     // On clique sur le menu "Nouveau Dossier"
657     $this->byLinkText("Nouveau Dossier")->click();
658     // On vérifie qu'il n'y ait pas d'erreur
659     $this->verifynoerrors();
660     // On vérifie le nom de l'onglet
661 softime 2416 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
662 softime 2313 // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
663     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
664     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
665     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
666 softime 2321 // XXX Problème de javascript seulement dans cette fonction
667     // Les alerts ne passent pas lorsque le focus n'est pas sur le
668     // navigateur
669 softime 2313 //On saisie des références cadastrales inccorect
670 softime 2416 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("aa");
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 le numéro de quartier
675     // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
676     // $this->acceptAlert();
677     // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("11");
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 la section
682     // $this->assertEquals("Vous ne devez saisir que des lettres dans ce champs.", $this->alertText());
683     // $this->acceptAlert();
684     // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("bb");
685     // // On change le focus pour faire apparaitre le message
686     // $this->byId('date_demande')->value(date('d/m/Y'));
687     // sleep(5);
688     // // Message d'erreur concernant le numéro de parcelle
689     // $this->assertEquals("Vous ne devez saisir que des nombres entiers", $this->alertText());
690     // $this->acceptAlert();
691 softime 2313 //On saisie les références cadastrales
692 softime 2416 // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value("1");
693     // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value("dc");
694     // $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value("15");
695 softime 2321 // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
696     // bon format automatiquement grâce au javascript
697 nmeucci 3302 $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
698     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
699     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
700 softime 2313 //On clique sur le bouton de recherche "Cadastrale = > Adresse"
701     $this->byId("cad-adr-them")->click();
702     sleep(1);
703     // On vérifie que le format des champs est mise à jour automatiquement
704 nmeucci 3302 $this->assertEquals("001", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
705     $this->assertEquals("DC", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
706     $this->assertEquals("0015", $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
707 softime 2313 //On verifie l'adresse
708 vpihour 3156 $this->assertEquals("0075", $this->byId("terrain_adresse_voie_numero")->attribute('value'));
709     $this->assertEquals("TRA DE LA DOMINIQUE", $this->byId("terrain_adresse_voie")->attribute('value'));
710     $this->assertEquals("13011", $this->byId("terrain_adresse_code_postal")->attribute('value'));
711     $this->assertEquals("MARSEILLE", $this->byId("terrain_adresse_localite")->attribute('value'));
712 vpihour 3364 //On vide un des champs des références cadastrales
713     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->clear();
714 softime 2313 // On valide le formulaire
715     $this->byXPath("//input[@value='Ajouter']")->click();
716 vpihour 3364 //Un alert javascript doit apparaître, on vérifie le message
717     $this->assertEquals("Les références cadastrales saisies sont incorrectes. Veuillez les corriger.", $this->alertText());
718     // On valide l'alert
719     $this->acceptAlert();sleep(1);
720     //On ajoute la référence
721     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
722     //On valide le formulaire
723     $this->byXPath("//input[@value='Ajouter']")->click();
724 softime 2313 // On vérifie le message d'erreur
725     $this->assertRegExp("/^[\s\S]*SAISIE NON ENREGISTRÉE[\s\S]*$/", $this->byCssSelector(".message")->text());
726     sleep(1);
727     // On vérifie que les références cadastrales soient toujours affiché
728 vpihour 3156 $this->assertEquals("001", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->attribute('value'));
729     $this->assertEquals("DC", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->attribute('value'));
730 nmeucci 3302 $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
731 softime 2313 //On saisie les références cadastrales
732     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->clear();
733     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->clear();
734     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->clear();
735     //On clique sur le bouton de recherche "Cadastrale = > Adresse"
736     $this->byId("cad-adr-them")->click();
737     //On valide le message d'erreur
738     $this->assertEquals('Aucune référence cadastrale fournie', $this->alertText());
739     $this->acceptAlert();
740 nmeucci 3302 // On ressaisit les références cadatrales
741     // ref 1
742     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(1)")->value("001");
743     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(2)")->value("DC");
744     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->value("0015");
745     // réf 2
746     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
747     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(6)")->value("002");
748     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(7)")->value("DC");
749     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(8)")->value("0015");
750     // réf 3
751     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
752     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(11)")->value("003");
753     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(12)")->value("DC");
754     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(13)")->value("0015");
755     // réf 4
756     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
757     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(16)")->value("004");
758     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(17)")->value("DC");
759     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(18)")->value("0015");
760     // réf 5
761     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
762     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(21)")->value("005");
763     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(22)")->value("DC");
764     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(23)")->value("0015");
765     // réf 6
766     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
767     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(26)")->value("006");
768     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(27)")->value("DC");
769     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(28)")->value("0015");
770     // réf 7
771     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
772     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(31)")->value("007");
773     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(32)")->value("DC");
774     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(33)")->value("0015");
775     // réf 8
776     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
777     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(36)")->value("008");
778     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(37)")->value("DC");
779     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(38)")->value("0015");
780     // réf 9
781     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
782     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(41)")->value("009");
783     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(42)")->value("DC");
784     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(43)")->value("0015");
785     // réf 10
786     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
787     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(46)")->value("010");
788     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(47)")->value("DC");
789     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(48)")->value("0015");
790     // réf 11
791     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
792     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(51)")->value("011");
793     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(52)")->value("DC");
794     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(53)")->value("0015");
795     // réf 12
796     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
797     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(56)")->value("012");
798     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(57)")->value("DC");
799     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(58)")->value("0015");
800     // réf 13
801     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
802     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(61)")->value("013");
803     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(62)")->value("DC");
804     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(63)")->value("0015");
805     // réf 14
806     $this->byCssSelector("div#morelineReferenceCadastrale > div.form-content > span.add-16")->click();
807     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(66)")->value("014");
808     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(67)")->value("DC");
809     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(68)")->value("0015");
810 softime 2313 // On clique pour ajouter un pétitionnaire principale
811     $this->byId("add_petitionnaire_principal")->click();
812     // On remplit le champ
813     $this->byId("particulier_nom")->value("DURAND");
814     // On remplit le champ
815     $this->byId("particulier_prenom")->value("MICKAEL");
816     // On remplit le champ
817     $this->byId("particulier_date_naissance")->value("03/01/1956");
818     // On remplit le champ
819     $this->byId("particulier_commune_naissance")->value("LILLE");
820     // On remplit le champ
821     $this->byId("particulier_departement_naissance")->value("NORD");
822     // On remplit le champ
823     $this->byId("numero")->value("12");
824     // On remplit le champ
825     $this->byId("voie")->value("RUE DE LA LOI");
826     // On remplit le champ
827     $this->byId("complement")->value("APPT 12");
828     // On remplit le champ
829     $this->byId("localite")->value("MARSEILLE");
830     // On remplit le champ
831     $this->byId("code_postal")->value("13012");
832     // On remplit le champ
833     $this->byId("telephone_fixe")->value("0404040404");
834     // On clique sur ajouter
835     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
836     // On vérifie qu'il n'y ait pas d'erreur
837     $this->verifynoerrors();
838     // On vérifie le message
839     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
840     // On clique sur le bouton retour
841     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
842     // On vérifie que le text est présent
843     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
844     // On clique sur ajouter
845     $this->byXPath("//input[@value='Ajouter']")->click();
846     // On vérifie qu'il n'y ait pas d'erreur
847     $this->verifynoerrors();
848     // On vérifie le message
849 softime 2601 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
850     // Récupération du numéro de dossier
851     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
852     $dossier_libelle = $dossier[0];
853     $dossier = str_replace(' ', '', $dossier_libelle);
854     $dossier_dir = substr_replace($dossier, '.', -2, -3);
855 softime 2313 // On clique
856 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
857 softime 2313 // Liste les fenêtres
858     $windows = $this->windowHandles();
859     // Change la fenêtre
860     $this->window($windows[1]);
861     // On vérifie qu'il n'y ait pas d'erreur
862     $this->verifynoerrors();
863     // On vérifie que le text est présent
864     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
865     // On ferme la fenêtre
866     $this->closeWindow();
867     // On change le focus de la fenêtre
868     $this->window($windows[0]);
869     // On clique sur le bouton retour
870     $this->byLinkText("Retour")->click();
871     // On vérifie qu'il n'y ait pas d'erreur
872     $this->verifynoerrors();
873     // On vérifie que le répertoire s'est crée
874 softime 2601 $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
875 softime 2313 // On se déconnecte
876     $this->logout();
877     }
878 vpihour 2302
879 softime 2416 /*
880     * Cette fonction va tester l'affectation automatique des instructeurs aux
881     * dossiers d'instruction.
882     * Quatre cas sont possibles :
883     * - Aucun instructeur ne correspond, ;
884     * - Un instructeur joker correspond, ;
885     * - Un instructeur correspond, .
886     */
887     function testAffectationAutomatique(){
888 vpihour 2302
889 softime 2416 // On se connecte à l'application
890     $this->login("guichet", "guichet");
891     //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
892     $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", " -");
893 vpihour 2302
894 softime 2416 //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
895     //joker avec seulement le type de dossier d'autorisation détaillé de
896     //renseigné
897     $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
898 vpihour 2302
899 softime 2416 //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
900     //correspondant parfaitement aux critères
901     $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
902     // On se déconnecte
903     $this->logout();
904     }
905 vpihour 2302
906 softime 2416 /**
907     * Ajoute un dossier d'instruction
908     * @param string $reference_cadastrale_quartier Le quartier de la référence
909     * cadastrale du dossier
910     * @param string $reference_cadastrale_section La section de la référence
911     * cadastrale du dossier
912     * @param string $reference_cadastrale_parcelle La parcelle de la référence
913     * cadastrale du dossier
914     * @param string $datd dossier d'autorisation type détaillé
915     * @param string $instructeur le nom de l'instructeur
916     *
917     * @return boolean
918     */
919     function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
920     $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
921     $instructeur){
922 vpihour 2302
923 softime 2416 //On affiche le tableau de bord
924     $this->byLinkText("Tableau de bord")->click();
925     // On clique sur le menu "Nouveau Dossier"
926     $this->byLinkText("Nouveau Dossier")->click();
927     // On vérifie qu'il n'y ait pas d'erreur
928     $this->verifynoerrors();
929     // On vérifie le nom de l'onglet
930     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
931     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
932     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
933     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
934     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
935     //On saisie les références cadastrales
936     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
937     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
938     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
939     //On clique sur le bouton de recherche "Cadastrale = > Adresse"
940     $this->byId("cad-adr-them")->click();
941     // On clique pour ajouter un pétitionnaire principale
942     $this->byId("add_petitionnaire_principal")->click();
943     // On remplit le champ
944     $this->byId("particulier_nom")->value("DURAND");
945     // On remplit le champ
946     $this->byId("particulier_prenom")->value("MICKAEL");
947     // On remplit le champ
948     $this->byId("particulier_date_naissance")->value("03/01/1956");
949     // On remplit le champ
950     $this->byId("particulier_commune_naissance")->value("LILLE");
951     // On remplit le champ
952     $this->byId("particulier_departement_naissance")->value("NORD");
953     // On remplit le champ
954     $this->byId("numero")->value("12");
955     // On remplit le champ
956     $this->byId("voie")->value("RUE DE LA LOI");
957     // On remplit le champ
958     $this->byId("complement")->value("APPT 12");
959     // On remplit le champ
960     $this->byId("localite")->value("MARSEILLE");
961     // On remplit le champ
962     $this->byId("code_postal")->value("13012");
963     // On remplit le champ
964     $this->byId("telephone_fixe")->value("0404040404");
965     // On clique sur ajouter
966     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
967     // On vérifie qu'il n'y ait pas d'erreur
968     $this->verifynoerrors();
969     // On vérifie le message
970     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
971     // On clique sur le bouton retour
972     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
973     // On vérifie que le text est présent
974     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
975     // On clique sur ajouter
976     $this->byXPath("//input[@value='Ajouter']")->click();
977     // On vérifie qu'il n'y ait pas d'erreur
978     $this->verifynoerrors();
979     // On vérifie le message
980     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
981     // On clique
982 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
983 softime 2416 // Liste les fenêtres
984     $windows = $this->windowHandles();
985     // Change la fenêtre
986     $this->window($windows[1]);
987     // On vérifie qu'il n'y ait pas d'erreur
988     $this->verifynoerrors();
989     // On vérifie que le text est présent
990     $this->assertRegExp("/^[\s\S]*Dossier suivi par ".$instructeur."[\s\S]*$/",$this->source());
991     // On ferme la fenêtre
992     $this->closeWindow();
993     // On change le focus de la fenêtre
994     $this->window($windows[0]);
995     }
996 softime 2313
997 softime 2416 /**
998     * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
999     */
1000     public function test_autre_dossier() {
1001 softime 2410
1002 softime 2416 // On se connecte en tant que "guichet"
1003     $this->login("guichet", "guichet");
1004     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1005     $this->verifyNoErrors();
1006     // On clique sur "Autre Dossier"
1007     $this->byLinkText("Autre Dossier")->click();
1008     // On vérifie qu'il n'y ait pas d'erreur
1009     $this->verifynoerrors();
1010 nmeucci 3659 // On recherche le dossier
1011     $this->byCssSelector("input[name='recherche']")->clear();
1012 nmeucci 3664 $this->byCssSelector("input[name='recherche']")->value("PC013055".date("y")."00001P0");
1013 nmeucci 3659 $this->byId("adv-search-submit")->click();
1014     // On vérifie qu'on ne le trouve pas
1015     $this->assertRegExp(
1016     "/^[\s\S]*PC 013055 ".date("y")." 00001P0[\s\S]*$/",
1017     $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text()
1018     );
1019 softime 2416 // On clique sur "Dossier En Cours"
1020     $this->byLinkText("Dossier En Cours")->click();
1021     // On vérifie qu'il n'y ait pas d'erreur
1022     $this->verifynoerrors();
1023 softime 2601 // On vérifie que le dossier précédement contrôlé n'ait pas
1024     // affiché
1025 softime 2416 $this->assertNotContains("PC 013055 13 00001P0",
1026     $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
1027     // On se déconnecte
1028     $this->logout();
1029     }
1030 softime 2410
1031 softime 2416 /**
1032     * Désactive l'option sig avec la valeur nécessaire
1033     */
1034     public function test_desactive_option_sig() {
1035 softime 2313
1036 softime 2416 // On se connecte en tant que "admin"
1037     $this->login("admin", "admin");
1038     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1039     $this->verifyNoErrors();
1040     // On clique sur le lien "Administration" dans le menu
1041     $this->byLinkText("Administration")->click();
1042     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1043     $this->verifyNoErrors();
1044     // // On clique sur le lien "Paramètre" dans le menu
1045     $this->byLinkText("Paramètre")->click();
1046     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1047     $this->verifyNoErrors();
1048     // On remplis le champs de recherche simple
1049     $this->byCssSelector("input[name='recherche']")->value('option_sig');
1050     // On clique sur le bouton recherche
1051     $this->byCssSelector(".ui-button")->click();
1052     // On clique sur le résultat
1053     $this->byLinkText("option_sig")->click();
1054     // On clique sur le bouton "Modifier"
1055     $this->byId('action-form-om_parametre-modifier')->click();
1056     // On change la valeur par "aucun"
1057     $this->byId('valeur')->clear();
1058     $this->byId('valeur')->value('aucun');
1059     // On valide la modification
1060     $this->byCssSelector("input[value='Modifier']")->click();
1061     // On vérifie le message de validation
1062     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
1063     // On clique sur le bouton 'Retour'
1064     $this->byLinkText("Retour")->click();
1065     // On vérifie les nouvelles données
1066     $this->assertEquals("aucun", $this->byId("valeur")->text());
1067     // On se déconnecte
1068     $this->logout();
1069     }
1070 fmichon 1654 }
1071    
1072 softime 2416 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26