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

Annotation of /trunk/tests/testQualification.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4232 - (hide annotations)
Fri May 20 06:24:43 2016 UTC (8 years, 8 months ago) by fmichon
File size: 9859 byte(s)
* Tests : Suppression de testcases inutiles permettant d'activer/désactiver
  l'option SIG.

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     * Teste que le qualificateur puisse ajouter des contraintes
169     */
170     public function test_03_ajout_contraintes() {
171    
172     // on se connecte à l'application en tant que qualificateur
173     $this->login("qualif", "qualif");
174     // On vérifie qu'il y a un dossier à qualifier
175     $this->assertRegExp("/^[\s\S]*ADS[\s\S]*$/", $this->byId("widget_15")->text());
176     // On clique sur "Voir tous mes dossiers à qualifier"
177     $this->byLinkText("Voir tous mes dossiers à qualifier")->click();
178     // On recherche le dossier
179     $this->byName("recherche")->value("AT0130551300001P0");
180     $this->byName("s1")->click();
181     // On vérifie qu'il n'y ait pas d'erreur
182     $this->verifynoerrors();
183     // On clique dessus
184     $this->byLinkText("AT 013055 13 00001P0")->click();
185     // On clique sur l'onglet Contrainte(s)
186     $this->byId("dossier_contrainte")->click();
187     // On clique sur "Ajouter des contraintes"
188     $this->byId("action-soustab-dossier_contrainte-corner-ajouter")->click();
189     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
190     $this->verifyNoErrors();
191     // On déploie le groupe "Contraintes Openads"
192     $this->byCssSelector("#fieldset-sousform-dossier_contrainte-contraintes-openads legend")->click();
193     sleep(1);
194     // On déploie le sous-groupe "Environnement"
195     $this->byCssSelector("#fieldset-sousform-dossier_contrainte-environnement legend")->click();
196     sleep(1);
197     // On clique sur la checkbox de la contrainte
198     $this->byId("contrainte_5")->click();
199     // On applique les changements
200     $this->byCssSelector("input[value='Appliquer les changements']")->click();sleep(1);
201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202     $this->verifyNoErrors();
203     // On vérifie le message de validation
204     $this->assertContains("La contrainte Pollution puits a été ajoutée au dossier.", $this->byCssSelector(".message")->text());
205     // On clique sur le bouton "Retour"
206     $this->byLinkText("Retour")->click();sleep(1);
207     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
208     $this->verifyNoErrors();
209     // Vérifie que la contrainte est présente
210     $this->assertContains("Le puits d'une profondeur de [...] est pollué.", $this->byId("sousform-dossier_contrainte")->text());
211     // On se déconnecte
212     $this->logout();
213     }
214    
215     }
216    
217     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26