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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2093 - (hide annotations)
Wed Jul 17 15:32:13 2013 UTC (11 years, 6 months ago) by softime
File size: 20346 byte(s)
- Fil d'Ariane modifié dans les formulaires des dossiers existants et ceux des Récépissés.
- Tests ajoutés dans testGuichetUnique pour vérifier le fil d'Ariane.

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 2071 public function testAjoutDemandeInitial() {
21    
22     // 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("BODY")->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("BODY")->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°PC0130551300001[\s\S]*$/",$this->byCssSelector("BODY")->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 softime 2076 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.P0"));
94 softime 2071 // On se déconnecte
95     $this->logout();
96     }
97    
98     /**
99     * Test l'ajout d'une demande de modification
100     */
101     public function testAjoutDemandeModification() {
102    
103     /// On se connecte à l'application en tant qu'instructeur
104     // pour ajouter une instruction arrêté sur le dossier crée
105     $this->login("instr", "instr");
106     // On clique sur le menu
107     $this->byLinkText("Recherche")->click();
108     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
109     $this->verifyNoErrors();
110     // On clique sur le dossier
111     $this->byXPath("//div[@id='tab-dossier_instruction']/table/tbody/tr[8]/td/a/span")->click();
112     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113     $this->verifyNoErrors();
114     // On clique sur l'onglet instruction
115     $this->byId("instruction")->click();
116     // On clique sur le + pour ajouter une instruction
117     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
118     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
119     $this->verifyNoErrors();
120     // On choisi l'événement
121     $this->select($this->byId("evenement"))->selectOptionByLabel("accepter un dossier sans réserve [acceptation]");
122     // On clique sur le bouton ajouter
123     $this->byXPath("//input[@value='Ajouter']")->click();
124     // On vérifie que l'instruction s'est bien ajouté
125     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
126     // On clique sur le bouton retour
127     $this->byCssSelector("#sousform-instruction form a.retour")->click();
128     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
129     $this->verifyNoErrors();
130     // On clique sur l'onglet DI
131     $this->byId("main")->click();
132     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
133     $this->verifyNoErrors();
134     // on rafraichis la page
135     $this->refresh();
136     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137     $this->verifyNoErrors();
138     // On vérifie l'état du dossier
139     $this->assertEquals("dossier accepter", $this->byId('etat')->text());
140     // On se déconnecte de l'instructeur
141     $this->deconnect();
142     // On se connecte en tant que guichet unique
143     $this->login("guichet", "guichet");
144     // On clique sur le menu "Nouveau Dossier"
145     $this->byLinkText("Dossier Existant")->click();
146     // On vérifie qu'il n'y ait pas d'erreur
147     $this->verifynoerrors();
148     // On vérifie le nom de l'onglet
149     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
150     // On clique pour ajouter une demande au dossier existant
151     $this->byXPath("//div[@id='tab-demande_dossier_existant']/table/tbody/tr[8]/td/a/span")->click();
152     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
153     $this->verifyNoErrors();
154 softime 2093 // Vérifie le fil d'Ariane
155     $this->assertEquals("Guichet Unique > Nouvelle Demande > Dossier Existant > PC0130551300001P0", $this->byXPath("//div[3]/div/h2")->text());
156 softime 2071 // On choisis le type de demande
157     $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
158     // On clique sur ajouter
159     $this->byXPath("//input[@value='Ajouter']")->click();
160     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
161     $this->verifyNoErrors();
162     // On vérifie le message
163     $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°PC0130551300001M1[\s\S]*$/",$this->byCssSelector("BODY")->text());
164     // On vérifie que le répertoire s'est crée
165 softime 2076 $this->assertTrue(file_exists("../trs/numerisation/Todo/PC0130551300001.M1"));
166 softime 2071 // On se déconnecte
167     $this->logout();
168    
169     }
170    
171     /**
172     * Tests l'affichage réglementaire
173     */
174 fmichon 1654 public function testAffichageReglementaire() {
175 softime 1990
176     // On se connecte à l'application
177 fmichon 1727 $this->login("guichet", "guichet");
178 softime 1990 // On clique sur le menu "Attestation"
179     $this->byLinkText("Attestation")->click();
180     // On vérifie qu'il n'y ait pas d'erreur
181     $this->verifynoerrors();
182     // On vérifie le nom de l'onglet
183     $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
184     // On écrit "PC0130551200002P0" dans le champ dossier
185     $this->byId("dossier")->value("PC0130551200002P0");
186     // On clique sur "Valider"
187     $this->byXPath("//input[@value='Valider']")->click();
188     // On vérifie qu'il n'y ait pas d'erreur
189     $this->verifynoerrors();
190     // On vérifie que text est présent
191 vpihour 1996 $this->assertRegExp("/^[\s\S]*Ce dossier n'a jamais été affiché.[\s\S]*$/",$this->byCssSelector("BODY")->text());
192 softime 1990 // On clique sur le menu "Registre"
193     $this->byLinkText("Registre")->click();
194     // On vérifie qu'il n'y ait pas d'erreur
195     $this->verifynoerrors();
196     // On vérifie le nom de l'onglet
197     $this->assertEquals("Imprimer Le Registre D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
198     // On clique sur "Valider"
199     $this->byXPath("//input[@value='Valider']")->click();
200     // On clique sur "Oui" dans la fenêtre js qui apparaît
201     $this->acceptAlert();sleep(5);
202     // Liste des fenêtres ouvertes
203     $windows = $this->windowHandles();
204     // On change le focus de la fenêtre
205     $this->window($windows[1]);
206     // On vérifie qu'il n'y ait pas d'erreur
207     $this->verifynoerrors();
208     // On vérifie que text est présent
209 vpihour 1996 $this->assertRegExp('/^[\s\S]*Registre des dossiers en cours[\s\S]*$/',$this->source());
210 softime 1990 // On ferme la fenêtre
211     $this->closeWindow();
212     // On change le focus de la fenêtre
213     $this->window($windows[0]);
214     // On vérifie qu'il n'y ait pas d'erreur
215     $this->verifynoerrors();
216     // On vérifie que text est présent
217 vpihour 1996 $this->assertRegExp('/^[\s\S]*Traitement terminé. Le registre a été téléchargé.[\s\S]*$/',$this->byCssSelector("BODY")->text());
218 softime 1990 // On clique sur le menu "Attestation"
219     $this->byLinkText("Attestation")->click();
220     // On vérifie qu'il n'y ait pas d'erreur
221     $this->verifynoerrors();
222     // On vérifie le nom de l'onglet
223     $this->assertEquals("Imprimer L'attestation D'affichage Réglementaire", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
224     // On clique sur "Valider"
225     $this->byXPath("//input[@value='Valider']")->click();
226     // On vérifie qu'il n'y ait pas d'erreur
227     $this->verifynoerrors();
228     // On vérifie que text est présent
229 vpihour 1996 $this->assertRegExp("/^[\s\S]*Veuiller saisir un N° de dossier.[\s\S]*$/",$this->byCssSelector("BODY")->text());
230 softime 1990 // On écrit "123" dans le champ dossier
231     $this->byId("dossier")->value("123");
232     // On clique sur "Valider"
233     $this->byXPath("//input[@value='Valider']")->click();
234     // On vérifie qu'il n'y ait pas d'erreur
235     $this->verifynoerrors();
236     // On vérifie que text est présent
237 vpihour 1996 $this->assertRegExp("/^[\s\S]*Ce dossier n'existe pas.[\s\S]*$/",$this->byCssSelector("BODY")->text());
238 softime 1990 // On écrit "PC0130551200002P0" dans le champ dossier
239     $this->byId("dossier")->value("PC0130551200002P0");
240     // On clique sur "Valider"
241     $this->byXPath("//input[@value='Valider']")->click();
242     // On vérifie qu'il n'y ait pas d'erreur
243     $this->verifynoerrors();
244     // On vérifie que le text est présent
245 vpihour 1996 $this->assertRegExp("/^[\s\S]*Cliquez sur le lien ci-dessous pour télécharger votre attestation d'affichage[\s\S]*$/",$this->byCssSelector("BODY")->text());
246 softime 1990 // On clique sur "Attestation d'affichage"
247     $this->byLinkText("Attestation d'affichage")->click();sleep(5);
248     // Liste les fenêtres
249     $windows = $this->windowHandles();
250     // Change la fenêtre
251     $this->window($windows[1]);
252     // On vérifie qu'il n'y ait pas d'erreur
253     $this->verifynoerrors();
254     // On vérifie que le text est présent
255 vpihour 1996 $this->assertRegExp("/^[\s\S]*ATTESTATION D'AFFICHAGE REGLEMENTAIRE[\s\S]*$/",$this->source());
256 softime 1990 // On ferme la fenêtre
257     $this->closeWindow();
258     // On change le focus de la fenêtre
259     $this->window($windows[0]);
260     // On se deconnecte
261 fmichon 1658 $this->logout();
262     }
263 fmichon 1654
264 fmichon 1658 /**
265 softime 1990 * Test le Récépissé
266 fmichon 1658 */
267     public function testRecepisse() {
268 softime 1990
269     // On se connecte à l'application
270 fmichon 1727 $this->login("guichet", "guichet");
271 softime 1990 // On clique sur le menu "Récépissé"
272     $this->byLinkText("Récépissé")->click();
273     // On vérifie qu'il n'y ait pas d'erreur
274     $this->verifynoerrors();
275     // On vérifie le nom de l'onglet
276     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
277     // On clique sur "AT0130551200001P0"
278     $this->byLinkText("AT0130551200001P0")->click();
279     // On vérifie qu'il n'y ait pas d'erreur
280     $this->verifynoerrors();
281 softime 2093 // Vérifie le fil d'Ariane
282     $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT0130551200001P0", $this->byXPath("//div[3]/div/h2")->text());
283 softime 1990 // On vérifie que le text est présent
284 vpihour 1996 $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
285 fmichon 1726 // Le nom du pétitionnaire doit apparaître
286 vpihour 1996 $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
287 softime 1990 // On clique sur le lien
288     $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
289     // Liste les fenêtres
290     $windows = $this->windowHandles();
291     // Change la fenêtre
292     $this->window($windows[1]);
293     // On vérifie qu'il n'y ait pas d'erreur
294     $this->verifynoerrors();
295     // On vérifie que le text est présent
296 vpihour 1996 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
297 softime 1990 // On ferme la fenêtre
298     $this->closeWindow();
299     // On change le focus de la fenêtre
300     $this->window($windows[0]);
301     // On clique sur "Retour"
302     $this->byLinkText("Retour")->click();
303     // On vérifie qu'il n'y ait pas d'erreur
304     $this->verifynoerrors();
305     // On vérifie le nom de l'onglet
306     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
307     // On se deconnecte
308 fmichon 1658 $this->logout();
309 fmichon 1654 }
310    
311 fmichon 1658 /**
312 softime 1990 * Test les pétitionnaires fréquents
313 fmichon 1658 */
314     public function testPetitionnaireFrequent() {
315 softime 1990
316     // On se connecte à l'application
317 fmichon 1727 $this->login("guichet", "guichet");
318 softime 1990 // On clique sur le menu "Nouveau Dossier"
319     $this->byLinkText("Nouveau Dossier")->click();
320     // On vérifie qu'il n'y ait pas d'erreur
321     $this->verifynoerrors();
322     // On vérifie le nom de l'onglet
323     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
324     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
325     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
326     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
327     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
328     // On clique pour ajouter un pétitionnaire principale
329     $this->byId("add_petitionnaire_principal")->click();
330     // On remplit le champ
331     $this->byId("particulier_nom")->value("DURAND");
332     // On remplit le champ
333     $this->byId("particulier_prenom")->value("MICKAEL");
334     // On remplit le champ
335     $this->byId("particulier_date_naissance")->value("03/01/1956");
336     // On remplit le champ
337     $this->byId("particulier_commune_naissance")->value("LILLE");
338     // On remplit le champ
339     $this->byId("particulier_departement_naissance")->value("NORD");
340     // On remplit le champ
341     $this->byId("numero")->value("12");
342     // On remplit le champ
343     $this->byId("voie")->value("RUE DE LA LOI");
344     // On remplit le champ
345     $this->byId("complement")->value("APPT 12");
346     // On remplit le champ
347     $this->byId("localite")->value("MARSEILLE");
348     // On remplit le champ
349     $this->byId("code_postal")->value("13012");
350     // On remplit le champ
351     $this->byId("telephone_fixe")->value("0404040404");
352     // On sélectionne pétitionnaire fréquent
353     $this->byId("frequent")->click();
354     // On clique sur ajouter
355     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
356     // On vérifie qu'il n'y ait pas d'erreur
357     $this->verifynoerrors();
358     // On vérifie le message
359 vpihour 1996 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("BODY")->text());
360 softime 1990 // On clique sur le bouton retour
361     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
362     // On vérifie que le text est présent
363 vpihour 1996 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("BODY")->text());
364 softime 1990 // On clique sur ajouter
365     $this->byXPath("//input[@value='Ajouter']")->click();
366     // On vérifie qu'il n'y ait pas d'erreur
367     $this->verifynoerrors();
368     // On vérifie le message
369 softime 2071 $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC0130551300002[\s\S]*$/",$this->byCssSelector("BODY")->text());
370 softime 1990 // On clique
371     $this->byCssSelector("a.lien")->click();sleep(5);
372     // Liste les fenêtres
373     $windows = $this->windowHandles();
374     // Change la fenêtre
375     $this->window($windows[1]);
376     // On vérifie qu'il n'y ait pas d'erreur
377     $this->verifynoerrors();
378     // On vérifie que le text est présent
379 vpihour 1996 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
380 softime 1990 // On ferme la fenêtre
381     $this->closeWindow();
382     // On change le focus de la fenêtre
383     $this->window($windows[0]);
384     // On clique sur le bouton retour
385     $this->byLinkText("Retour")->click();
386     // On vérifie qu'il n'y ait pas d'erreur
387     $this->verifynoerrors();
388     // On clique sur pétitionnaire fréquent
389     $this->byLinkText("Pétitionnaire Fréquent")->click();
390     // On vérifie qu'il n'y ait pas d'erreur
391     $this->verifynoerrors();
392     // On vérifie que le text est présent
393 vpihour 1996 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
394 softime 1990 // On vérifie que le text est présent
395 vpihour 1996 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
396 softime 1990 // On clique sur le résultat
397     $this->byLinkText("DURAND MICKAEL")->click();
398     // On vérifie qu'il n'y ait pas d'erreur
399     $this->verifynoerrors();
400     // On vérifie que le text est présent
401 vpihour 1996 $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
402 softime 1990 // On clique sur le bouton "Retour"
403     $this->byLinkText("Retour")->click();
404     // On vérifie qu'il n'y ait pas d'erreur
405     $this->verifynoerrors();
406     // On vérifie que le text est présent
407 vpihour 1996 $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
408 softime 1990 // On se déconnecte
409 fmichon 1658 $this->logout();
410     }
411    
412 fmichon 1654 }
413    
414     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26