/[openfoncier]/branches/3.14.x/tests/testQualification.php
ViewVC logotype

Annotation of /branches/3.14.x/tests/testQualification.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3341 - (hide annotations)
Wed Mar 18 15:50:17 2015 UTC (9 years, 10 months ago) by vpihour
Original Path: tags/3.14.0-b16/tests/testQualification.php
File size: 13424 byte(s)
* Release : 3.14.0-b16
1 softime 2751 <?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 nmeucci 2960 /**
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 softime 2751 }
288    
289     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26