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

Annotation of /trunk/tests/testQualification.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (hide 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 mbroquet 3730 <?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