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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2071 - (hide annotations)
Wed Jul 10 11:06:00 2013 UTC (11 years, 6 months ago) by softime
File size: 20064 byte(s)
- Ajout de la configuration du dossier de numérisation
- Ajout de la création de répertoire à l'ajout de demande
- Utilisation de répertoire de numérisation par défaut dans le script d'import REST
- Ajout des tests pour la création de demande initial et de modification

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26