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

Contents of /trunk/tests/testQualification.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (show annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 13669 byte(s)
Actualisation du trunk
1 <?php
2 /**
3 * Classe de test du menu Qualification spécifique au profil qualificateur.
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testQualification.php 6129 2016-03-08 15:51:07Z stimezouaght $
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Qualification 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 /**
30 * Test les dossiers à qualifier avec le qualificateur qui doit voir tous les
31 * dossiers dans ce cas.
32 */
33 public function test_01_dossier_qualifier() {
34
35 // On se connecte à l'application
36 $this->login("guichet", "guichet");
37 // On clique sur le menu "Nouveau Dossier"
38 $this->byLinkText("Nouveau Dossier")->click();
39 // On vérifie qu'il n'y ait pas d'erreur
40 $this->verifynoerrors();
41 // On vérifie le nom de l'onglet
42 $this->assertEquals("Demande",
43 $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
44 // On selectionne le label "Permis de construire pour une maison
45 // individuelle et / ou ses annexes"
46 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
47 // On selectionne le label "Permis de construire pour une maison
48 // individuelle et / ou ses annexes"
49 $this->select($this->byId("demande_type"))->selectOptionByLabel(
50 "Dépôt Initial");
51 // On clique pour ajouter un pétitionnaire principale
52 $this->byId("add_petitionnaire_principal")->click();
53 // On remplit le champ
54 $this->byId("particulier_nom")->value("DURAND");
55 // On remplit le champ
56 $this->byId("particulier_prenom")->value("MICKAEL");
57 // On remplit le champ
58 $this->byId("particulier_date_naissance")->value("03/01/1956");
59 // On remplit le champ
60 $this->byId("particulier_commune_naissance")->value("LILLE");
61 // On remplit le champ
62 $this->byId("particulier_departement_naissance")->value("NORD");
63 // On remplit le champ
64 $this->byId("numero")->value("12");
65 // On remplit le champ
66 $this->byId("voie")->value("RUE DE LA LOI");
67 // On remplit le champ
68 $this->byId("complement")->value("APPT 12");
69 // On remplit le champ
70 $this->byId("localite")->value("MARSEILLE");
71 // On remplit le champ
72 $this->byId("code_postal")->value("13012");
73 // On remplit le champ
74 $this->byId("telephone_fixe")->value("0404040404");
75 // On clique sur ajouter
76 $this->byCssSelector(
77 "div#sformulaire form div.formControls input.om-button")->click();
78 sleep(1);
79 // On vérifie qu'il n'y ait pas d'erreur
80 $this->verifynoerrors();
81 // On vérifie le message
82 $this->assertContains("Vos modifications ont bien été enregistrées.",
83 $this->byCssSelector("#sousform-petitionnaire .message")->text());
84 // On clique sur le bouton retour
85 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
86 sleep(1);
87 // On vérifie que le text est présent
88 $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",
89 $this->byCssSelector(
90 "#petitionnaire_principal_delegataire .synthese_demandeur")->text());
91 // On clique sur ajouter
92 $this->byXPath("//input[@value='Ajouter']")->click();
93 // On vérifie qu'il n'y ait pas d'erreur
94 $this->verifynoerrors();
95 // On vérifie le message
96 $this->assertContains("Création du dossier d'autorisation",
97 $this->byCssSelector(".message")->text());
98 // On récupère le numéro du dossier
99 $preg_match = preg_match('(PC.*)', $this->byCssSelector(".message")->text(),
100 $matches);
101 $dossier_autorisation = $matches[0];
102 // On clique
103 $this->byCssSelector("a#link_demande_recepisse")->click();sleep(5);
104 // Liste les fenêtres
105 $windows = $this->windowHandles();
106 // Change la fenêtre
107 $this->window($windows[1]);
108 // On vérifie qu'il n'y ait pas d'erreur
109 $this->verifynoerrors();
110 // On vérifie que le text est présent
111 $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/", $this->source());
112 // On ferme la fenêtre
113 $this->closeWindow();
114 // On change le focus de la fenêtre
115 $this->window($windows[0]);
116 // On clique sur le bouton retour
117 $this->byLinkText("Retour")->click();
118 // On vérifie qu'il n'y ait pas d'erreur
119 $this->verifynoerrors();
120 // On se déconnecte
121 $this->deconnect();
122
123 // on se connecte à l'application en tant que qualificateur
124 $this->login("qualif", "qualif");
125 // On vérifie qu'il y a un dossier à qualifier
126 $this->assertRegExp("/^[\s\S]*ADS[\s\S]*$/", $this->byId("widget_15")->text());
127 // On clique sur "Voir tous mes dossiers à qualifier"
128 $this->byLinkText("Voir tous mes dossiers à qualifier")->click();
129 // On recherche le dossier
130 $this->byName("recherche")->value(
131 str_replace(' ', '', $dossier_autorisation)."P0");
132 $this->byName("s1")->click();
133 // On vérifie qu'il n'y ait pas d'erreur
134 $this->verifynoerrors();
135 // On vérifie que le DI est présent
136 $this->assertContains($dossier_autorisation,
137 $this->byId("tab-dossier_qualifier_qualificateur")->text());
138 // On clique dessus
139 $this->byLinkText($dossier_autorisation."P0")->click();
140 // On vérifie qu'il soit bien "à qualifer"
141 $this->assertEquals("Oui", $this->byId("a_qualifier")->text());
142 // On clique sur modifier
143 $this->byId("action-form-dossier_instruction-modifier")->click();
144 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145 $this->verifyNoErrors();
146 // On décoche la case "à qualifier"
147 $this->byId("a_qualifier")->click();
148 // On valide le formulaire
149 $this->byXPath("//input[@value='Modifier']")->click();
150 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
151 $this->verifyNoErrors();
152 // On vérifie le message de validation
153 $this->assertContains("Vos modifications ont bien été enregistrées.",
154 $this->byCssSelector(".message .text")->text());
155 // On clique sur le menu "Dossier À Qualifier"
156 $this->byLinkText("Dossiers À Qualifier")->click();
157 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
158 $this->verifyNoErrors();
159 // On vérifie que le dossier n'existe plus
160 $this->assertNotContains($dossier_autorisation."P0",
161 $this->byCssSelector(
162 "#tab-dossier_qualifier_qualificateur .tab-tab")->text());
163 // On se déconnecte
164 $this->logout();
165 }
166
167 /**
168 * Active l'option sig avec la valeur nécessaire pour la suite des tests
169 */
170 public function test_02_active_option_sig() {
171
172 // On se connecte en tant que "admin"
173 $this->login("admin", "admin");
174 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
175 $this->verifyNoErrors();
176 // On clique sur le lien "Administration" dans le menu
177 $this->byLinkText("Administration")->click();
178 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179 $this->verifyNoErrors();
180 // // On clique sur le lien "Paramètre" dans le menu
181 $this->byLinkText("Paramètre")->click();
182 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
183 $this->verifyNoErrors();
184 // On remplis le champs de recherche simple
185 $this->byCssSelector("input[name='recherche']")->value('option_sig');
186 // On clique sur le bouton recherche
187 $this->byCssSelector(".ui-button")->click();
188 // On clique sur le résultat MONO
189 $this->byLinkText("MARSEILLE")->click();
190 // On clique sur le bouton "Modifier"
191 $this->byId('action-form-om_parametre-modifier')->click();
192 // On change la valeur par "sig_externe"
193 $this->byId('valeur')->clear();
194 $this->byId('valeur')->value('sig_externe');
195 // On valide la modification
196 $this->byCssSelector("input[value='Modifier']")->click();
197 // On vérifie le message de validation
198 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
199 // On clique sur le bouton 'Retour'
200 $this->byLinkText("Retour")->click();
201 // On vérifie les nouvelles données
202 $this->assertEquals("sig_externe", $this->byId("valeur")->text());
203 // On se déconnecte
204 $this->logout();
205 }
206
207 /**
208 * Teste que le qualificateur puisse ajouter des contraintes
209 */
210 public function test_03_ajout_contraintes() {
211
212 // on se connecte à l'application en tant que qualificateur
213 $this->login("qualif", "qualif");
214 // On vérifie qu'il y a un dossier à qualifier
215 $this->assertRegExp("/^[\s\S]*ADS[\s\S]*$/", $this->byId("widget_15")->text());
216 // On clique sur "Voir tous mes dossiers à qualifier"
217 $this->byLinkText("Voir tous mes dossiers à qualifier")->click();
218 // On recherche le dossier
219 $this->byName("recherche")->value("AT0130551300001P0");
220 $this->byName("s1")->click();
221 // On vérifie qu'il n'y ait pas d'erreur
222 $this->verifynoerrors();
223 // On clique dessus
224 $this->byLinkText("AT 013055 13 00001P0")->click();
225 // On clique sur l'onglet Contrainte(s)
226 $this->byId("dossier_contrainte")->click();
227 // On clique sur "Ajouter des contraintes"
228 $this->byId("action-soustab-dossier_contrainte-corner-ajouter")->click();
229 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
230 $this->verifyNoErrors();
231 // On déploie le groupe "Contraintes Openads"
232 $this->byCssSelector("#fieldset-sousform-dossier_contrainte-contraintes-openads legend")->click();
233 sleep(1);
234 // On déploie le sous-groupe "Environnement"
235 $this->byCssSelector("#fieldset-sousform-dossier_contrainte-environnement legend")->click();
236 sleep(1);
237 // On clique sur la checkbox de la contrainte
238 $this->byId("contrainte_5")->click();
239 // On applique les changements
240 $this->byCssSelector("input[value='Appliquer les changements']")->click();sleep(1);
241 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
242 $this->verifyNoErrors();
243 // On vérifie le message de validation
244 $this->assertContains("La contrainte Pollution puits a été ajoutée au dossier.", $this->byCssSelector(".message")->text());
245 // On clique sur le bouton "Retour"
246 $this->byLinkText("Retour")->click();sleep(1);
247 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
248 $this->verifyNoErrors();
249 // Vérifie que la contrainte est présente
250 $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());
251 // On se déconnecte
252 $this->logout();
253 }
254
255 /**
256 * Désactive l'option sig avec la valeur nécessaire
257 */
258 public function test_04_desactive_option_sig() {
259
260 // On se connecte en tant que "admin"
261 $this->login("admin", "admin");
262 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
263 $this->verifyNoErrors();
264 // On clique sur le lien "Administration" dans le menu
265 $this->byLinkText("Administration")->click();
266 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
267 $this->verifyNoErrors();
268 // // On clique sur le lien "Paramètre" dans le menu
269 $this->byLinkText("Paramètre")->click();
270 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
271 $this->verifyNoErrors();
272 // On remplis le champs de recherche simple
273 $this->byCssSelector("input[name='recherche']")->value('option_sig');
274 // On clique sur le bouton recherche
275 $this->byCssSelector(".ui-button")->click();
276 // On clique sur le résultat MONO
277 $this->byLinkText("MARSEILLE")->click();
278 // On clique sur le bouton "Modifier"
279 $this->byId('action-form-om_parametre-modifier')->click();
280 // On change la valeur par "aucun"
281 $this->byId('valeur')->clear();
282 $this->byId('valeur')->value('aucun');
283 // On valide la modification
284 $this->byCssSelector("input[value='Modifier']")->click();
285 // On vérifie le message de validation
286 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
287 // On clique sur le bouton 'Retour'
288 $this->byLinkText("Retour")->click();
289 // On vérifie les nouvelles données
290 $this->assertEquals("aucun", $this->byId("valeur")->text());
291 // On se déconnecte
292 $this->logout();
293 }
294 }
295
296 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26