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

Annotation of /trunk/tests/testWidget.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2423 - (hide annotations)
Fri Oct 18 13:48:11 2013 UTC (11 years, 3 months ago) by softime
File size: 8536 byte(s)
Correction de testWidget.php

1 softime 2120 <?php
2     /**
3     * Fichier contenant la classe de test des widget
4     *
5     * @package openads
6     * @version
7     */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     * Classe de test des widgets
14     */
15     class Widget extends Base2TestCase {
16    
17     /**
18     * Test les informations retournés par le widget
19     */
20     public function test_infos_profil() {
21    
22     // on se connecte à l'application en tant que qualificateur
23     $this->login("qualif", "qualif");
24     // On vérifie les informations du widget
25     $this->assertEquals("QUALIFICATEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
26     $this->assertEquals("Qualificateur", $this->byCssSelector(".profil-infos-nom span.value")->text());
27     // On se déconnecte
28     $this->deconnect();
29     // on se connecte à l'application en tanque qualificateur
30     $this->login("instr", "instr");
31     // On vérifie les informations du widget
32     $this->assertEquals("INSTRUCTEUR", $this->byCssSelector(".profil-infos-profil span.value")->text());
33     $this->assertEquals("Louis Laurent", $this->byCssSelector(".profil-infos-nom span.value")->text());
34     $this->assertEquals("H", $this->byCssSelector(".profil-infos-division span.value")->text());
35     // On se déconnecte
36     $this->logout();
37    
38     }
39    
40     /**
41     * Test si la redirection est effectif
42     */
43     public function test_redirection() {
44    
45 fmichon 2182 // On se connecte en tant que "consu"
46     // !!! Attention on n'utilise pas la méthode login standard car
47     // l'utilisateur est redirigé automatiquement vers un autre écran
48     // sans voir le message de connexion !!!
49     // On se connecte
50     $this->connect("consu", "consu");
51     // Allonge le temps d'attente lors de la recherche d'élément
52     $this->timeouts()->implicitWait(10000);
53     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
54     $this->verifynoerrors();
55 fmichon 2210 // On temporise pour laisser le temps au javascript de redirection
56     // de faire son travail
57     sleep(1);
58     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
59     $this->verifynoerrors();
60 softime 2120 // On vérifie que la redirection s'est bien faite par le fil d'Ariane
61     $this->assertEquals("Demandes D'avis > En Cours", $this->byXPath("//div[3]/div/h2")->text());
62     // On se déconnecte
63     $this->logout();
64     }
65    
66     /**
67     * Test les dossiers limités avec le divisionnaire qui doit voir tous les
68     * dossiers dans ce cas
69     */
70     public function test_dossier_limite() {
71    
72     // on se connecte à l'application en tant que qualificateur
73     $this->login("divi", "divi");
74     // On vérifie qu'il y ait au moins un dossier limite
75 fmichon 2220 $this->assertRegExp("/^[\s\S]*PD 013055 12 00001P0[\s\S]*$/",$this->byId("widget_14")->text());
76 softime 2120 // On clique sur "Voir tous mes dossiers limites"
77     $this->byLinkText("Voir tous mes dossiers limites")->click();
78     // On vérifie que le DI est présent
79 fmichon 2220 $this->assertRegExp("/^[\s\S]*PD 013055 12 00001P0[\s\S]*$/",$this->byCssSelector("BODY")->text());
80 softime 2120 // On se déconnecte
81     $this->logout();
82    
83     }
84    
85     /**
86     * Test les dossiers à qualifier avec le qualificateur qui doit voir tous les
87     * dossiers dans ce cas
88     */
89     public function test_dossier_qualifier() {
90    
91 softime 2423 // On se connecte à l'application
92     $this->login("guichet", "guichet");
93     // On clique sur le menu "Nouveau Dossier"
94     $this->byLinkText("Nouveau Dossier")->click();
95     // On vérifie qu'il n'y ait pas d'erreur
96     $this->verifynoerrors();
97     // On vérifie le nom de l'onglet
98     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
99     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
100     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
101     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
102     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
103     // On clique pour ajouter un pétitionnaire principale
104     $this->byId("add_petitionnaire_principal")->click();
105     // On remplit le champ
106     $this->byId("particulier_nom")->value("DURAND");
107     // On remplit le champ
108     $this->byId("particulier_prenom")->value("MICKAEL");
109     // On remplit le champ
110     $this->byId("particulier_date_naissance")->value("03/01/1956");
111     // On remplit le champ
112     $this->byId("particulier_commune_naissance")->value("LILLE");
113     // On remplit le champ
114     $this->byId("particulier_departement_naissance")->value("NORD");
115     // On remplit le champ
116     $this->byId("numero")->value("12");
117     // On remplit le champ
118     $this->byId("voie")->value("RUE DE LA LOI");
119     // On remplit le champ
120     $this->byId("complement")->value("APPT 12");
121     // On remplit le champ
122     $this->byId("localite")->value("MARSEILLE");
123     // On remplit le champ
124     $this->byId("code_postal")->value("13012");
125     // On remplit le champ
126     $this->byId("telephone_fixe")->value("0404040404");
127     // On clique sur ajouter
128     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
129     // On vérifie qu'il n'y ait pas d'erreur
130     $this->verifynoerrors();
131     // On vérifie le message
132     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
133     // On clique sur le bouton retour
134     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
135     // On vérifie que le text est présent
136     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
137     // On clique sur ajouter
138     $this->byXPath("//input[@value='Ajouter']")->click();
139     // On vérifie qu'il n'y ait pas d'erreur
140     $this->verifynoerrors();
141     // On vérifie le message
142     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°PC 013055[\s\S]*$/", $this->byCssSelector(".message")->text());
143     // On récupère le numéro du dossier
144     $preg_match = preg_match('(PC.*)', $this->byCssSelector(".message")->text(), $matches);
145     $dossier_autorisation = $matches[0];
146     // On clique
147     $this->byCssSelector("a.lien")->click();sleep(5);
148     // Liste les fenêtres
149     $windows = $this->windowHandles();
150     // Change la fenêtre
151     $this->window($windows[1]);
152     // On vérifie qu'il n'y ait pas d'erreur
153     $this->verifynoerrors();
154     // On vérifie que le text est présent
155     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
156     // On ferme la fenêtre
157     $this->closeWindow();
158     // On change le focus de la fenêtre
159     $this->window($windows[0]);
160     // On clique sur le bouton retour
161     $this->byLinkText("Retour")->click();
162     // On vérifie qu'il n'y ait pas d'erreur
163     $this->verifynoerrors();
164     // On vérifie que le répertoire s'est crée
165     $dirname = "../trs/numerisation/Todo/".str_replace(" ", "", $dossier_autorisation).".P0";
166     $this->assertTrue(file_exists($dirname));
167     // On se déconnecte
168 softime 2325 $this->deconnect();
169    
170 softime 2120 // on se connecte à l'application en tant que qualificateur
171     $this->login("qualif", "qualif");
172     // On vérifie qu'il y a un dossier à qualifier
173 softime 2325 $this->assertRegExp("/^[\s\S]*ADS[\s\S]*$/",$this->byId("widget_15")->text());
174 softime 2120 // On clique sur "Voir tous mes dossiers à qualifier"
175     $this->byLinkText("Voir tous mes dossiers à qualifier")->click();
176     // On vérifie que le DI est présent
177 softime 2423 $this->assertContains($dossier_autorisation, $this->byId("tab-dossier_qualifier_qualificateur")->text());
178 softime 2120 // On clique dessus
179 softime 2423 $this->byLinkText($dossier_autorisation."P0")->click();
180 softime 2120 // On vérifie qu'il soit bien "à qualifer"
181     $this->assertEquals("Oui", $this->byId("a_qualifier")->text());
182     // On se déconnecte
183     $this->logout();
184     }
185     }
186    
187     ?>

Properties

Name Value
svn:executable *

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26