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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2676 - (hide annotations)
Tue Jan 7 17:54:58 2014 UTC (11 years ago) by softime
File size: 48591 byte(s)
Correction des tests.
+ Correction de la requête d'affichage des dossiers encours qui provoquait une erreur de base de données lors d'une recherche simple.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26