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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2302 - (hide annotations)
Mon Sep 16 16:25:21 2013 UTC (11 years, 4 months ago) by vpihour
File size: 43191 byte(s)
Correction de l'affectation automatique d'un instructeur lors de l'ajout d'une nouvelle demande

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26