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

Annotation of /trunk/tests/testGuichetUnique.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4753 - (hide annotations)
Fri Jul 22 11:04:45 2016 UTC (8 years, 6 months ago) by fmichon
File size: 27807 byte(s)
* Tests : Réécriture d'un testcase PHPUnit Selenium en RobotFramework.

1 mbroquet 3730 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id: testGuichetUnique.php 6145 2016-03-10 09:07:45Z nhaye $
7     */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     *
14     */
15     class GuichetUnique extends Base2TestCase {
16     /**
17     * Fonction lancée en debut de chaque test
18     */
19     public function setUp() {
20     parent::setUp();
21     echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
22     }
23    
24     public function onNotSuccessfulTest(Exception $e){
25     echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
26     parent::onNotSuccessfulTest($e);
27     }
28    
29     // Liste des utilisateurs
30     var $listUtlisateurs = array(
31     array(
32     "login" => "guichet",
33     "mdp" => "guichet"
34     ),
35     array(
36     "login" => "adminfonct",
37     "mdp" => "adminfonct"
38     ),
39     );
40    
41     /**
42     * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
43     * entrée de menu ne génère pas une erreur de base de données
44     */
45     // Fonction privé
46     private function ouvertureMenu($utilisateur) {
47     // On se connecte
48     $this->login($utilisateur["login"], $utilisateur["mdp"]);
49     // Ouvre le menu
50     $this->openMenu("Guichet Unique", $utilisateur);
51     // On vérifie le menu "Nouveau Dossier"
52     $this->byLinkText("Nouveau Dossier")->click();
53     $this->assertContains("Guichet Unique > Nouvelle Demande > Nouveau Dossier",
54     $this->byId("title")->text());
55     $this->verifyNoErrors();
56     // On vérifie le menu "Dossier En Cours"
57     $this->byLinkText("Dossier En Cours")->click();
58     $this->assertContains("Guichet Unique > Nouvelle Demande > Dossier En Cours",
59     $this->byId("title")->text());
60     $this->verifyNoErrors();
61     // On vérifie le menu "Autre Dossier"
62     $this->byLinkText("Autre Dossier")->click();
63     $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier",
64     $this->byId("title")->text());
65     $this->verifyNoErrors();
66     // On vérifie le menu "Récépissé"
67     $this->byLinkText("Récépissé")->click();
68     $this->assertContains("Guichet Unique > Nouvelle Demande > Récépissé",
69     $this->byId("title")->text());
70     $this->verifyNoErrors();
71     // On vérifie le menu "Pétitionnaire Fréquent"
72     $this->byLinkText("Pétitionnaire Fréquent")->click();
73     $this->assertContains("Guichet Unique > Nouvelle Demande > Pétitionnaire Fréquent",
74     $this->byId("title")->text());
75     $this->verifyNoErrors();
76     // On vérifie le menu "Registre"
77     $this->byLinkText("Registre")->click();
78     $this->assertContains("Guichet Unique > Affichage Réglementaire > Registre",
79     $this->byId("title")->text());
80     $this->verifyNoErrors();
81     // On vérifie le menu "Attestation"
82     $this->byLinkText("Attestation")->click();
83     $this->assertContains("Guichet Unique > Affichage Réglementaire > Attestation",
84     $this->byId("title")->text());
85     $this->verifyNoErrors();
86     // On se déconnecte
87     $this->deconnect();
88     }
89     // Fonction public
90     public function test_01_OuvertureMenu() {
91     // Récupération des utilisateurs
92     $utilisateurs = $this->listUtlisateurs;
93     // Pour chaque utilisateur on lance le test
94     foreach ($utilisateurs as $utilisateur) {
95     //
96     $this->ouvertureMenu($utilisateur);
97     }
98     // On vérifie la déconnexion
99     $this->verifyDeconnect();
100     }
101    
102     /**
103     * Test l'ajout d'une demande et de création d'une nouvelle sequence
104     */
105     public function test_03_AjoutDemandeNouvelleSequence() {
106    
107     // On se connecte à l'application
108     $this->login("guichet", "guichet");
109     // On clique sur le menu "Nouveau Dossier"
110     $this->byLinkText("Nouveau Dossier")->click();
111     // On vérifie qu'il n'y ait pas d'erreur
112     $this->verifynoerrors();
113     // On vérifie le nom de l'onglet
114     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
115     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
116     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
117     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
118     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
119     // Modification de la date
120     $this->byId("date_demande")->clear();
121     $this->byId("date_demande")->value("10/10/2014");
122     // On clique pour ajouter un pétitionnaire principale
123     $this->byId("add_petitionnaire_principal")->click();
124     // On remplit le champ
125     $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
126     // On remplit le champ
127     $this->byId("particulier_nom")->value("DURAND");
128     // On remplit le champ
129     $this->byId("particulier_prenom")->value("MICKAEL");
130     // On remplit le champ
131     $this->byId("particulier_date_naissance")->value("03/01/1956");
132     // On remplit le champ
133     $this->byId("particulier_commune_naissance")->value("LILLE");
134     // On remplit le champ
135     $this->byId("particulier_departement_naissance")->value("NORD");
136     // On remplit le champ
137     $this->byId("numero")->value("12");
138     // On remplit le champ
139     $this->byId("voie")->value("RUE DE LA LOI");
140     // On remplit le champ
141     $this->byId("complement")->value("APPT 12");
142     // On remplit le champ
143     $this->byId("localite")->value("MARSEILLE");
144     // On remplit le champ
145     $this->byId("code_postal")->value("13012");
146     // On remplit le champ
147     $this->byId("telephone_fixe")->value("0404040404");
148     // On clique sur ajouter
149     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
150     // On vérifie qu'il n'y ait pas d'erreur
151     $this->verifynoerrors();
152     // On vérifie le message
153     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
154     // On clique sur le bouton retour
155     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
156     // On vérifie que le text est présent
157     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
158     // On clique sur ajouter
159     $this->byXPath("//input[@value='Ajouter']")->click();
160     // On vérifie qu'il n'y ait pas d'erreur
161     $this->verifynoerrors();
162     // On vérifie le message
163     $this->assertContains("Création du dossier d'autorisation n°",$this->byCssSelector(".message .text")->text());
164     // Récupération du numéro de dossier
165     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
166     $dossier = $dossier[0];
167     // On se déconnecte
168     $this->logout();
169     }
170    
171     /**
172     * Test l'ajout d'une demande de modification
173     */
174     public function test_04_AjoutDemandeModification() {
175    
176     // Année en cours
177     $annee = date("y");
178    
179     /// On se connecte à l'application en tant qu'instructeur
180     // pour ajouter une instruction arrêté sur le dossier crée
181     $this->login("instr", "instr");
182     // On clique sur le menu
183     $this->byLinkText("Recherche")->click();
184     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
185     $this->verifyNoErrors();
186     // On clique sur le dossier
187     $this->byId("action-tab-dossier_instruction-left-consulter-PC013055".$annee."00001P0")->click();
188     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
189     $this->verifyNoErrors();
190     //On déplie le fieldset Pétitionnaire
191     $this->byCssSelector("#liste_demandeur legend")->click();
192     sleep(1);
193     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
194     $this->verifyNoErrors();
195     // On vérifie la civilité du demandeur
196     $this->assertContains("Monsieur",$this->byCssSelector(".synthese_demandeur")->text());
197     // On clique sur l'onglet instruction
198     $this->byId("instruction")->click();
199     // On clique sur le + pour ajouter une instruction
200     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202     $this->verifyNoErrors();
203     // On choisi l'événement
204     $this->select($this->byId("evenement"))->selectOptionByValue(81);
205     // On clique sur le bouton ajouter
206     $this->byXPath("//input[@value='Ajouter']")->click();
207     // On vérifie que l'instruction s'est bien ajouté
208     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
209     // On clique sur le bouton retour
210     $this->byCssSelector("#sousform-instruction form a.retour")->click();
211     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
212     $this->verifyNoErrors();
213     // On clique sur l'onglet DI
214     $this->byId("main")->click();
215     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
216     $this->verifyNoErrors();
217     // on rafraichis la page
218     $this->refresh();
219     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
220     $this->verifyNoErrors();
221     // On vérifie l'état du dossier
222     $this->assertEquals("dossier accepter", $this->byId('etat')->text());
223     // On se déconnecte de l'instructeur
224     $this->deconnect();
225     // On se connecte en tant que guichet unique
226     $this->login("guichet", "guichet");
227     // On clique sur le menu "Nouveau Dossier"
228     $this->byLinkText("Autre Dossier")->click();
229     // On vérifie qu'il n'y ait pas d'erreur
230     $this->verifynoerrors();
231     // On vérifie le nom de l'onglet
232     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
233     // On clique pour ajouter une demande au dossier existant
234     $this->byId("action-tab-demande_autre_dossier-left-consulter-PC013055".$annee."00001P0")->click();
235     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
236     $this->verifyNoErrors();
237     // Vérifie le fil d'Ariane
238     $this->assertContains("Guichet Unique > Nouvelle Demande > Autre Dossier > PC 013055", $this->byXPath("//div[3]/div/h2")->text());
239     // On choisis le type de demande
240     $this->select($this->byId("demande_type"))->selectOptionByLabel("Demande de modification");
241     // On clique sur ajouter
242     $this->byXPath("//input[@value='Ajouter']")->click();
243     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
244     $this->verifyNoErrors();
245     // On vérifie le message
246     $this->assertRegExp("/^[\s\S]*Création du dossier d'instruction n°[\s\S]*$/", $this->byCssSelector("BODY")->text());
247     // On se déconnecte
248     $this->logout();
249    
250     }
251    
252     /**
253     * Test le Récépissé
254     */
255     public function test_06_Recepisse() {
256    
257     // On se connecte à l'application
258     $this->login("guichet", "guichet");
259     // On clique sur le menu "Récépissé"
260     $this->byLinkText("Récépissé")->click();
261     // On vérifie qu'il n'y ait pas d'erreur
262     $this->verifynoerrors();
263     // On vérifie le nom de l'onglet
264     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
265     // On clique sur "AT0130551200001P0"
266     $this->byLinkText("AT 013055 12 00001P0")->click();
267     // On vérifie qu'il n'y ait pas d'erreur
268     $this->verifynoerrors();
269     // Vérifie le fil d'Ariane
270     $this->assertEquals("Guichet Unique > Nouvelle Demande > Récépissé > AT 013055 12 00001P0", $this->byXPath("//div[3]/div/h2")->text());
271     // On vérifie que le text est présent
272     $this->assertRegExp("/^[\s\S]*Demande d'autorisation de construire, d'aménager ou de modifier un ERP[\s\S]*$/",$this->byCssSelector("BODY")->text());
273     // Le nom du pétitionnaire doit apparaître
274     $this->assertRegExp("/^[\s\S]*BERNARD LILIANE[\s\S]*$/",$this->byCssSelector("BODY")->text());
275     // On clique sur le lien
276     $this->byLinkText("Éditer le récépissé PDF")->click();sleep(5);
277     // Liste les fenêtres
278     $windows = $this->windowHandles();
279     // Change la fenêtre
280     $this->window($windows[1]);
281     // On vérifie qu'il n'y ait pas d'erreur
282     $this->verifynoerrors();
283     // On vérifie que le text est présent
284     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
285     // On ferme la fenêtre
286     $this->closeWindow();
287     // On change le focus de la fenêtre
288     $this->window($windows[0]);
289     // On clique sur "Retour"
290     $this->byLinkText("Retour")->click();
291     // On vérifie qu'il n'y ait pas d'erreur
292     $this->verifynoerrors();
293     // On vérifie le nom de l'onglet
294     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
295     // On se deconnecte
296     $this->logout();
297     }
298    
299     /**
300     * Test les pétitionnaires fréquents
301     */
302     public function test_07_PetitionnaireFrequent() {
303    
304     // On se connecte à l'application
305     $this->login("guichet", "guichet");
306     // On clique sur le menu "Nouveau Dossier"
307     $this->byLinkText("Nouveau Dossier")->click();
308     // On vérifie qu'il n'y ait pas d'erreur
309     $this->verifynoerrors();
310     // On vérifie le nom de l'onglet
311     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
312     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
313     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
314     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
315     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
316     // On clique pour ajouter un pétitionnaire principale
317     $this->byId("add_petitionnaire_principal")->click();
318     // On remplit le champ
319     $this->byId("particulier_nom")->value("DURAND");
320     // On remplit le champ
321     $this->byId("particulier_prenom")->value("MICKAEL");
322     // On remplit le champ
323     $this->byId("particulier_date_naissance")->value("03/01/1956");
324     // On remplit le champ
325     $this->byId("particulier_commune_naissance")->value("LILLE");
326     // On remplit le champ
327     $this->byId("particulier_departement_naissance")->value("NORD");
328     // On remplit le champ
329     $this->byId("numero")->value("12");
330     // On remplit le champ
331     $this->byId("voie")->value("RUE DE LA LOI");
332     // On remplit le champ
333     $this->byId("complement")->value("APPT 12");
334     // On remplit le champ
335     $this->byId("localite")->value("MARSEILLE");
336     // On remplit le champ
337     $this->byId("code_postal")->value("13012");
338     // On remplit le champ
339     $this->byId("telephone_fixe")->value("0404040404");
340     // On sélectionne pétitionnaire fréquent
341     $this->byId("frequent")->click();
342     // On clique sur ajouter
343     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
344     // On vérifie qu'il n'y ait pas d'erreur
345     $this->verifynoerrors();
346     // On vérifie le message
347     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
348     // On clique sur le bouton retour
349     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
350     // On vérifie que le text est présent
351     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
352     // On clique sur ajouter
353     $this->byXPath("//input[@value='Ajouter']")->click();
354     // On vérifie qu'il n'y ait pas d'erreur
355     $this->verifynoerrors();
356     // On vérifie le message
357     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
358     // On clique
359     $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
360     // Liste les fenêtres
361     $windows = $this->windowHandles();
362     // Change la fenêtre
363     $this->window($windows[1]);
364     // On vérifie qu'il n'y ait pas d'erreur
365     $this->verifynoerrors();
366     // On vérifie que le text est présent
367     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
368     // On ferme la fenêtre
369     $this->closeWindow();
370     // On change le focus de la fenêtre
371     $this->window($windows[0]);
372     // On clique sur le bouton retour
373     $this->byLinkText("Retour")->click();
374     // On vérifie qu'il n'y ait pas d'erreur
375     $this->verifynoerrors();
376     //On se déconnecte
377     $this->deconnect();
378    
379     //On se connecte en administrateur
380     $this->login("admin", "admin");
381     //On clique sur le menu guichet unique
382     $this->byLinkText("Guichet Unique")->click();
383     // On clique sur pétitionnaire fréquent
384     $this->byLinkText("Pétitionnaire Fréquent")->click();
385     // On vérifie qu'il n'y ait pas d'erreur
386     $this->verifynoerrors();
387     // On vérifie que le text est présent
388     $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
389     // On lance une recherche simple
390     $this->byName("recherche")->value("*DUR");
391     $this->select($this->byName("selectioncol"))->selectOptionByLabel("nom");
392     // On clique sur recherche
393     $this->byName("s1")->click();
394     // On vérifie qu'il n'y ait pas d'erreur
395     $this->verifynoerrors();
396     // On vérifie que le text est présent
397     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->source());
398     // On clique sur le résultat
399     $this->byLinkText("DURAND MICKAEL")->click();
400     // On vérifie qu'il n'y ait pas d'erreur
401     $this->verifynoerrors();
402     // On vérifie que le text est présent
403     $this->assertRegExp("/^[\s\S]*RUE DE LA LOI[\s\S]*$/",$this->source());
404     // On marque le pétitionnaire comme non fréquent
405     $this->byId("action-form-petitionnaire_frequent-non_frequent")->click();
406     //On vérifie le message
407     $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
408     // On clique sur le bouton "Retour"
409     $this->byLinkText("Retour")->click();
410     // On vérifie qu'il n'y ait pas d'erreur
411     $this->verifynoerrors();
412     // On vérifie que le text est présent
413     $this->assertRegExp("/^[\s\S]*pétitionnaire fréquent[\s\S]*$/",$this->source());
414     $this->assertNotContains('DURAND MICKAEL', $this->source());
415     // On se déconnecte
416     $this->logout();
417     }
418    
419     /*
420     * Cette fonction va tester l'affectation automatique des instructeurs aux
421     * dossiers d'instruction.
422     * Quatre cas sont possibles :
423     * - Aucun instructeur ne correspond, ;
424     * - Un instructeur joker correspond, ;
425     * - Un instructeur correspond, .
426     */
427     function test_10_AffectationAutomatique(){
428    
429     // On se connecte à l'application
430     $this->login("guichet", "guichet");
431     //Ajout d'un dossier d'instructeur avec affectation d'aucun instructeur
432     $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire comprenant ou non des démolitions", "Poly Com Marseille");
433    
434     //Ajout d'un dossier d'instructeur avec affectation d'un instructeur
435     //joker avec seulement le type de dossier d'autorisation détaillé de
436     //renseigné
437     $this->ajoutDossierAffectationAutomatique("806", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Louis Laurent");
438    
439     //Ajout d'un dossier d'instructeur avec affectation du seul instructeur
440     //correspondant parfaitement aux critères
441     $this->ajoutDossierAffectationAutomatique("801", "A", "0001", "Permis de construire pour une maison individuelle et / ou ses annexes", "Pierre Martin");
442     // On se déconnecte
443     $this->logout();
444     }
445    
446     /**
447     * Ajoute un dossier d'instruction
448     * @param string $reference_cadastrale_quartier Le quartier de la référence
449     * cadastrale du dossier
450     * @param string $reference_cadastrale_section La section de la référence
451     * cadastrale du dossier
452     * @param string $reference_cadastrale_parcelle La parcelle de la référence
453     * cadastrale du dossier
454     * @param string $datd dossier d'autorisation type détaillé
455     * @param string $instructeur le nom de l'instructeur
456     *
457     * @return boolean
458     */
459     function ajoutDossierAffectationAutomatique($reference_cadastrale_quartier,
460     $reference_cadastrale_section, $reference_cadastrale_parcelle,$datd,
461     $instructeur){
462    
463     //On affiche le tableau de bord
464     $this->byLinkText("Tableau de bord")->click();
465     // On clique sur le menu "Nouveau Dossier"
466     $this->byLinkText("Nouveau Dossier")->click();
467     // On vérifie qu'il n'y ait pas d'erreur
468     $this->verifynoerrors();
469     // On vérifie le nom de l'onglet
470     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
471     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
472     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel($datd);
473     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
474     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
475     //On saisie les références cadastrales
476     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(1)")->value($reference_cadastrale_quartier);
477     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(2)")->value($reference_cadastrale_section);
478     $this->byCssSelector(".reference_cadastrale_custom_field:nth-child(3)")->value($reference_cadastrale_parcelle);
479 nhaye 3803 //On saisi l'adresse
480     $this->byId("terrain_adresse_voie_numero")->value("0075");
481     $this->byId("terrain_adresse_voie")->value("TRA DE LA DOMINIQUE");
482     $this->byId("terrain_adresse_code_postal")->value("13011");
483     $this->byId("terrain_adresse_localite")->value("MARSEILLE");
484    
485 mbroquet 3730 // On clique pour ajouter un pétitionnaire principale
486     $this->byId("add_petitionnaire_principal")->click();
487     // On remplit le champ
488     $this->byId("particulier_nom")->value("DURAND");
489     // On remplit le champ
490     $this->byId("particulier_prenom")->value("MICKAEL");
491     // On remplit le champ
492     $this->byId("particulier_date_naissance")->value("03/01/1956");
493     // On remplit le champ
494     $this->byId("particulier_commune_naissance")->value("LILLE");
495     // On remplit le champ
496     $this->byId("particulier_departement_naissance")->value("NORD");
497     // On remplit le champ
498     $this->byId("numero")->value("12");
499     // On remplit le champ
500     $this->byId("voie")->value("RUE DE LA LOI");
501     // On remplit le champ
502     $this->byId("complement")->value("APPT 12");
503     // On remplit le champ
504     $this->byId("localite")->value("MARSEILLE");
505     // On remplit le champ
506     $this->byId("code_postal")->value("13012");
507     // On remplit le champ
508     $this->byId("telephone_fixe")->value("0404040404");
509     // On clique sur ajouter
510     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
511     // On vérifie qu'il n'y ait pas d'erreur
512     $this->verifynoerrors();
513     // On vérifie le message
514     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
515     // On clique sur le bouton retour
516     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
517     // On vérifie que le text est présent
518     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
519     // On clique sur ajouter
520     $this->byXPath("//input[@value='Ajouter']")->click();
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]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
525     // On clique
526     $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
527     // Liste les fenêtres
528     $windows = $this->windowHandles();
529     // Change la fenêtre
530     $this->window($windows[1]);
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     $this->assertRegExp("/^[\s\S]*Dossier suivi par ".$instructeur."[\s\S]*$/",$this->source());
535     // On ferme la fenêtre
536     $this->closeWindow();
537     // On change le focus de la fenêtre
538     $this->window($windows[0]);
539     }
540    
541     /**
542     * Vérifie le menu "Autre Dossier" et "Dossier En Cours"
543     */
544     public function test_11_autre_dossier() {
545    
546     // On se connecte en tant que "guichet"
547     $this->login("guichet", "guichet");
548     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
549     $this->verifyNoErrors();
550     // On clique sur "Autre Dossier"
551     $this->byLinkText("Autre Dossier")->click();
552     // On vérifie qu'il n'y ait pas d'erreur
553     $this->verifynoerrors();
554     // On vérifie que le dossier qui ne doit pas être dans
555     // "Dossier En Cours" sont ici
556     $this->assertRegExp("/^[\s\S]*PC 013055 ".date("y")." 00001P0[\s\S]*$/",
557     $this->byCssSelector("#tab-demande_autre_dossier .tab-tab")->text());
558     // On clique sur "Dossier En Cours"
559     $this->byLinkText("Dossier En Cours")->click();
560     // On vérifie qu'il n'y ait pas d'erreur
561     $this->verifynoerrors();
562     // On vérifie que le dossier précédement contrôlé n'ait pas
563     // affiché
564     $this->assertNotContains("PC 013055 13 00001P0",
565     $this->byCssSelector("#tab-demande_dossier_encours .tab-tab")->text());
566     // On se déconnecte
567     $this->logout();
568     }
569    
570     }
571    
572 nhaye 3803 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26