/[openfoncier]/trunk/tests/testGuichetUnique.php
ViewVC logotype

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3302 - (hide annotations)
Thu Feb 19 13:52:59 2015 UTC (9 years, 11 months ago) by nmeucci
File size: 54769 byte(s)
Correction test suite guichet unique.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26