/[openfoncier]/branches/3.14.0-b13/tests/testQualification.php
ViewVC logotype

Contents of /branches/3.14.0-b13/tests/testQualification.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2960 - (show annotations)
Tue Apr 22 12:38:59 2014 UTC (10 years, 9 months ago) by nmeucci
Original Path: trunk/tests/testQualification.php
File size: 13424 byte(s)
Ajout du test d'ajout de contrainte pour le profil qualificateur suite commit 2956.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26