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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3325 - (hide annotations)
Wed Mar 4 13:38:04 2015 UTC (9 years, 11 months ago) by vpihour
File size: 54739 byte(s)
Correction des tests

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26