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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2601 - (hide annotations)
Tue Dec 10 17:13:14 2013 UTC (11 years, 1 month ago) by softime
File size: 44562 byte(s)
Supprimer l'accès aux widgets du tableau de bord ("Nouveau dossier" et "Dossier en cours") et au menu "Guichet Unique" pour l'instructeur.
+ MàJ HISTORY.txt

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26