/[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 3547 - (hide annotations)
Tue Jul 7 13:23:49 2015 UTC (9 years, 7 months ago) by softime
File size: 56721 byte(s)
* Ajout d'un identifiant sur le lien pour télécharger le récépissé de dépôt de la demande. Correction des tests en conséquence.
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     array(
20     "login" => "guichet",
21     "mdp" => "guichet"
22     ),
23     array(
24     "login" => "adminfonct",
25     "mdp" => "adminfonct"
26     ),
27     );
28    
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     // On clique sur le dossier
280 softime 2676 $this->byId("action-tab-dossier_instruction-left-consulter-PC013055".$annee."00001P0")->click();
281 softime 2416 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282     $this->verifyNoErrors();
283 vpihour 3333 //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é
287     $this->verifyNoErrors();
288     // On vérifie la civilité du demandeur
289     $this->assertContains("Monsieur",$this->byCssSelector(".synthese_demandeur")->text());
290 softime 2416 // On clique sur l'onglet instruction
291     $this->byId("instruction")->click();
292     // On clique sur le + pour ajouter une instruction
293     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
294     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
295     $this->verifyNoErrors();
296     // On choisi l'événement
297 nmeucci 2863 $this->select($this->byId("evenement"))->selectOptionByValue(81);
298 softime 2416 // On clique sur le bouton ajouter
299     $this->byXPath("//input[@value='Ajouter']")->click();
300     // On vérifie que l'instruction s'est bien ajouté
301     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
302     // On clique sur le bouton retour
303     $this->byCssSelector("#sousform-instruction form a.retour")->click();
304     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
305     $this->verifyNoErrors();
306     // On clique sur l'onglet DI
307     $this->byId("main")->click();
308     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
309     $this->verifyNoErrors();
310     // on rafraichis la page
311     $this->refresh();
312     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
313     $this->verifyNoErrors();
314     // On vérifie l'état du dossier
315     $this->assertEquals("dossier accepter", $this->byId('etat')->text());
316     // On se déconnecte de l'instructeur
317     $this->deconnect();
318     // On se connecte en tant que guichet unique
319     $this->login("guichet", "guichet");
320     // On clique sur le menu "Nouveau Dossier"
321     $this->byLinkText("Autre Dossier")->click();
322     // On vérifie qu'il n'y ait pas d'erreur
323     $this->verifynoerrors();
324     // On vérifie le nom de l'onglet
325     $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
327 softime 2676 $this->byId("action-tab-demande_autre_dossier-left-consulter-PC013055".$annee."00001P0")->click();
328 softime 2416 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
329     $this->verifyNoErrors();
330     // Vérifie le fil d'Ariane
331 softime 2676 $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
332 softime 2416 // On choisis le type de demande
333     $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
334     // On clique sur ajouter
335     $this->byXPath("//input[@value='Ajouter']")->click();
336     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
337     $this->verifyNoErrors();
338     // On vérifie le message
339 softime 2676 $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
340 softime 2416 // On vérifie que le répertoire s'est crée
341 softime 2676 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC013055".$annee."00001.M01"));
342 softime 2416 // On se déconnecte
343     $this->logout();
344 softime 2071
345 softime 2416 }
346 softime 2071
347 softime 2416 /**
348     * Tests l'affichage réglementaire
349     */
350     public function testAffichageReglementaire() {
351 softime 1990
352 softime 2416 // On se connecte à l'application
353     $this->login("guichet", "guichet");
354     // On clique sur le menu "Attestation"
355     $this->byLinkText("Attestation")->click();
356     // On vérifie qu'il n'y ait pas d'erreur
357     $this->verifynoerrors();
358     // On vérifie le nom de l'onglet
359     $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
360     // On écrit "PC0130551200002P0" dans le champ dossier
361     $this->byId("dossier")->value("PC0130551200002P0");
362     // On clique sur "Valider"
363     $this->byXPath("//input[@value='Valider']")->click();
364     // On vérifie qu'il n'y ait pas d'erreur
365     $this->verifynoerrors();
366     // On vérifie que text est présent
367     $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
368     // On clique sur le menu "Registre"
369     $this->byLinkText("Registre")->click();
370     // On vérifie qu'il n'y ait pas d'erreur
371     $this->verifynoerrors();
372     // On vérifie le nom de l'onglet
373     $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
374     // On clique sur "Valider"
375     $this->byXPath("//input[@value='Valider']")->click();
376     // On clique sur "Oui" dans la fenêtre js qui apparaît
377     $this->acceptAlert();sleep(5);
378     // Liste des fenêtres ouvertes
379     $windows = $this->windowHandles();
380     // On change le focus de la fenêtre
381     $this->window($windows[1]);
382     // On vérifie qu'il n'y ait pas d'erreur
383     $this->verifynoerrors();
384     // On vérifie que text est présent
385     $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
386     // On ferme la fenêtre
387     $this->closeWindow();
388     // On change le focus de la fenêtre
389     $this->window($windows[0]);
390     // On vérifie qu'il n'y ait pas d'erreur
391     $this->verifynoerrors();
392     // On vérifie que text est présent
393     $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
394     // On clique sur le menu "Attestation"
395     $this->byLinkText("Attestation")->click();
396     // On vérifie qu'il n'y ait pas d'erreur
397     $this->verifynoerrors();
398     // On vérifie le nom de l'onglet
399     $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
400     // On clique sur "Valider"
401     $this->byXPath("//input[@value='Valider']")->click();
402     // On vérifie qu'il n'y ait pas d'erreur
403     $this->verifynoerrors();
404     // On vérifie que text est présent
405     $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
406     // On écrit "123" dans le champ dossier
407     $this->byId("dossier")->value("123");
408     // On clique sur "Valider"
409     $this->byXPath("//input[@value='Valider']")->click();
410     // On vérifie qu'il n'y ait pas d'erreur
411     $this->verifynoerrors();
412     // On vérifie que text est présent
413     $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
414     // On écrit "PC0130551200002P0" dans le champ dossier
415     $this->byId("dossier")->value("PC0130551200002P0");
416     // On clique sur "Valider"
417     $this->byXPath("//input[@value='Valider']")->click();
418     // On vérifie qu'il n'y ait pas d'erreur
419     $this->verifynoerrors();
420     // On vérifie que le text est présent
421     $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
422     // On clique sur "Attestation d'affichage"
423     $this->byLinkText("Attestation d'affichage")->click();sleep(5);
424     // Liste les fenêtres
425     $windows = $this->windowHandles();
426     // Change la fenêtre
427     $this->window($windows[1]);
428     // On vérifie qu'il n'y ait pas d'erreur
429     $this->verifynoerrors();
430     // On vérifie que le text est
431     // présent
432     $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
433     // On ferme la fenêtre
434     $this->closeWindow();
435     // On change le focus de la fenêtre
436     $this->window($windows[0]);
437     // On se deconnecte
438     $this->logout();
439     }
440 fmichon 1654
441 softime 2416 /**
442     * Test le Récépissé
443     */
444     public function testRecepisse() {
445 softime 1990
446 softime 2416 // On se connecte à l'application
447     $this->login("guichet", "guichet");
448     // On clique sur le menu "Récépissé"
449     $this->byLinkText("Récépissé")->click();
450     // On vérifie qu'il n'y ait pas d'erreur
451     $this->verifynoerrors();
452     // On vérifie le nom de l'onglet
453     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
454     // On clique sur "AT0130551200001P0"
455     $this->byLinkText("AT 013055 12 00001P0")->click();
456     // On vérifie qu'il n'y ait pas d'erreur
457     $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
461     $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
463     $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
464     // On clique sur le lien
465     $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
466     // Liste les fenêtres
467     $windows = $this->windowHandles();
468     // Change la fenêtre
469     $this->window($windows[1]);
470     // On vérifie qu'il n'y ait pas d'erreur
471     $this->verifynoerrors();
472     // On vérifie que le text est présent
473     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
474     // On ferme la fenêtre
475     $this->closeWindow();
476     // On change le focus de la fenêtre
477     $this->window($windows[0]);
478     // On clique sur "Retour"
479     $this->byLinkText("Retour")->click();
480     // On vérifie qu'il n'y ait pas d'erreur
481     $this->verifynoerrors();
482     // On vérifie le nom de l'onglet
483     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
484     // On se deconnecte
485     $this->logout();
486     }
487 fmichon 1654
488 softime 2416 /**
489     * Test les pétitionnaires fréquents
490     */
491     public function testPetitionnaireFrequent() {
492 softime 1990
493 softime 2416 // On se connecte à l'application
494     $this->login("guichet", "guichet");
495     // On clique sur le menu "Nouveau Dossier"
496     $this->byLinkText("Nouveau Dossier")->click();
497     // On vérifie qu'il n'y ait pas d'erreur
498     $this->verifynoerrors();
499     // On vérifie le nom de l'onglet
500     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
501     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
502     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
503     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
504     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
505     // On clique pour ajouter un pétitionnaire principale
506     $this->byId("add_petitionnaire_principal")->click();
507     // On remplit le champ
508     $this->byId("particulier_nom")->value("DURAND");
509     // On remplit le champ
510     $this->byId("particulier_prenom")->value("MICKAEL");
511     // On remplit le champ
512     $this->byId("particulier_date_naissance")->value("03/01/1956");
513     // On remplit le champ
514     $this->byId("particulier_commune_naissance")->value("LILLE");
515     // On remplit le champ
516     $this->byId("particulier_departement_naissance")->value("NORD");
517     // On remplit le champ
518     $this->byId("numero")->value("12");
519     // On remplit le champ
520     $this->byId("voie")->value("RUE DE LA LOI");
521     // On remplit le champ
522     $this->byId("complement")->value("APPT 12");
523     // On remplit le champ
524     $this->byId("localite")->value("MARSEILLE");
525     // On remplit le champ
526     $this->byId("code_postal")->value("13012");
527     // On remplit le champ
528     $this->byId("telephone_fixe")->value("0404040404");
529     // On sélectionne pétitionnaire fréquent
530     $this->byId("frequent")->click();
531     // On clique sur ajouter
532     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
533     // On vérifie qu'il n'y ait pas d'erreur
534     $this->verifynoerrors();
535     // On vérifie le message
536     $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
538     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
539     // On vérifie que le text est présent
540     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
541     // On clique sur ajouter
542     $this->byXPath("//input[@value='Ajouter']")->click();
543     // On vérifie qu'il n'y ait pas d'erreur
544     $this->verifynoerrors();
545     // On vérifie le message
546 softime 2601 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
547 softime 2416 // On clique
548 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
549 softime 2416 // Liste les fenêtres
550     $windows = $this->windowHandles();
551     // Change la fenêtre
552     $this->window($windows[1]);
553     // On vérifie qu'il n'y ait pas d'erreur
554     $this->verifynoerrors();
555     // On vérifie que le text est présent
556     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
557     // On ferme la fenêtre
558     $this->closeWindow();
559     // On change le focus de la fenêtre
560     $this->window($windows[0]);
561     // On clique sur le bouton retour
562     $this->byLinkText("Retour")->click();
563     // On vérifie qu'il n'y ait pas d'erreur
564     $this->verifynoerrors();
565 vpihour 3364 //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 softime 2416 // On clique sur pétitionnaire fréquent
573     $this->byLinkText("Pétitionnaire Fréquent")->click();
574     // On vérifie qu'il n'y ait pas d'erreur
575     $this->verifynoerrors();
576     // On vérifie que le text est présent
577     $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
578     // On vérifie que le text est présent
579     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
580     // On clique sur le résultat
581     $this->byLinkText("DURAND MICKAEL")->click();
582     // On vérifie qu'il n'y ait pas d'erreur
583     $this->verifynoerrors();
584     // On vérifie que le text est présent
585     $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
586 vpihour 3364 // 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 nhaye 3479 $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
590 softime 2416 // On clique sur le bouton "Retour"
591     $this->byLinkText("Retour")->click();
592     // On vérifie qu'il n'y ait pas d'erreur
593     $this->verifynoerrors();
594     // On vérifie que le text est présent
595     $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
596 vpihour 3364 $this->assertNotContains('DURAND MICKAEL', $this->source());
597 softime 2416 // On se déconnecte
598     $this->logout();
599     }
600 softime 2313
601 softime 2416 /**
602     * Active l'option sig avec la valeur nécessaire pour la suite des tests
603     */
604     public function test_active_option_sig() {
605 softime 2313
606 softime 2416 // 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 softime 2313
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 softime 2416 $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
655 softime 2313 // 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 softime 2321 // 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 softime 2313 //On saisie des références cadastrales inccorect
663 softime 2416 // $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 softime 2313 //On saisie les références cadastrales
685 softime 2416 // $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 softime 2321 // XXX Renplace les valeurs juste au dessus qui devraient se mettre au
689     // bon format automatiquement grâce au javascript
690 nmeucci 3302 $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 softime 2313 //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 nmeucci 3302 $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 softime 2313 //On verifie l'adresse
701 vpihour 3156 $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 vpihour 3364 //On vide un des champs des références cadastrales
706     $this->byCssSelector("input.reference_cadastrale_custom_field:nth-child(3)")->clear();
707 softime 2313 // On valide le formulaire
708     $this->byXPath("//input[@value='Ajouter']")->click();
709 vpihour 3364 //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 softime 2313 // 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 vpihour 3156 $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 nmeucci 3302 $this->assertEquals("0015", $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->attribute('value'));
724 softime 2313 //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 nmeucci 3302 // 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 softime 2313 // 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 softime 2601 $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 softime 2313 // On clique
849 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
850 softime 2313 // 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 softime 2601 $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
868 softime 2313 // On se déconnecte
869     $this->logout();
870     }
871 vpihour 2302
872 softime 2416 /*
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 vpihour 2302
882 softime 2416 // 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 vpihour 2302
887 softime 2416 //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 vpihour 2302
892 softime 2416 //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 vpihour 2302
899 softime 2416 /**
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 vpihour 2302
916 softime 2416 //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 softime 3547 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
976 softime 2416 // 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 softime 2313
990 softime 2416 /**
991     * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
992     */
993     public function test_autre_dossier() {
994 softime 2410
995 softime 2416 // 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 vpihour 3235 // On vérifie que le dossier qui ne doit pas être dans
1004 softime 2416 // "Dossier En Cours" sont ici
1005 vpihour 3235 $this->assertRegExp("/^[\s\S]*PC 013055 ".date("y")." 00001P0[\s\S]*$/",
1006 softime 2416 $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 softime 2601 // On vérifie que le dossier précédement contrôlé n'ait pas
1012     // affiché
1013 softime 2416 $this->assertNotContains("PC 013055 13 00001P0",
1014     $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
1015     // On se déconnecte
1016     $this->logout();
1017     }
1018 softime 2410
1019 softime 2416 /**
1020     * Désactive l'option sig avec la valeur nécessaire
1021     */
1022     public function test_desactive_option_sig() {
1023 softime 2313
1024 softime 2416 // 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 fmichon 1654 }
1059    
1060 softime 2416 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26