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

Annotation of /trunk/tests/testGestionIncompletude.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2608 - (hide annotations)
Fri Dec 13 14:22:25 2013 UTC (11 years, 1 month ago) by softime
File size: 14409 byte(s)
Correction du test pour qu'il fasse une recherche avant de cliquer sur un dossier

1 softime 2041 <?php
2     /**
3     * Fichier contenant la classe test pour l'incomplétude
4     *
5     * @package openfoncier
6 softime 2607 * @version SVN : $Id$
7 softime 2041 */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     * Classe permettant de tester l'incomplétude
14     *
15     * Pour lancer le test seul, changer les données :
16     * - dossier : PC0130551200002P0
17     * - code barres de retour de l’AR incomplétude : 110000000011
18     * - code barres de retour de l’AR de majoration de délai consultation ABF : 110000000010
19     *
20     * Pour lancer le test à la fin du run_testsuite, changer les données :
21     * - dossier : PC0130551300001P0
22     * - code barres de retour de l’AR incomplétude : 110000000021
23     * - code barres de retour de l’AR de majoration de délai consultation ABF : 110000000020
24     */
25     class GestionIncompletude extends Base2TestCase {
26    
27     /**
28     * Test l'incomplétude sur un dossier d'instruction
29     */
30     public function testIncompletude() {
31    
32 softime 2607 // Instancie la timezone
33     date_default_timezone_set('Europe/Paris');
34    
35 softime 2041 /**
36 softime 2607 * Création d'un dossier d'instruction
37     */
38     // On se connecte à l'application
39     $this->login("guichet", "guichet");
40     // On clique sur le menu "Nouveau Dossier"
41     $this->byLinkText("Nouveau Dossier")->click();
42     // On vérifie qu'il n'y ait pas d'erreur
43     $this->verifynoerrors();
44     // On vérifie le nom de l'onglet
45     $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
46     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
47     $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
48     // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
49     $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
50     // On clique pour ajouter un pétitionnaire principale
51     $this->byId("add_petitionnaire_principal")->click();
52     // On remplit le champ
53     $this->byId("particulier_nom")->value("DURAND");
54     // On remplit le champ
55     $this->byId("particulier_prenom")->value("MICKAEL");
56     // On remplit le champ
57     $this->byId("particulier_date_naissance")->value("03/01/1956");
58     // On remplit le champ
59     $this->byId("particulier_commune_naissance")->value("LILLE");
60     // On remplit le champ
61     $this->byId("particulier_departement_naissance")->value("NORD");
62     // On remplit le champ
63     $this->byId("numero")->value("12");
64     // On remplit le champ
65     $this->byId("voie")->value("RUE DE LA LOI");
66     // On remplit le champ
67     $this->byId("complement")->value("APPT 12");
68     // On remplit le champ
69     $this->byId("localite")->value("MARSEILLE");
70     // On remplit le champ
71     $this->byId("code_postal")->value("13012");
72     // On remplit le champ
73     $this->byId("telephone_fixe")->value("0404040404");
74     // On clique sur ajouter
75     $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
76     // On vérifie qu'il n'y ait pas d'erreur
77     $this->verifynoerrors();
78     // On vérifie le message
79     $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#sousform-petitionnaire .message")->text());
80     // On clique sur le bouton retour
81     $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
82     // On vérifie que le text est présent
83     $this->assertRegExp("/^[\s\S]*DURAND MICKAEL[\s\S]*$/",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
84     // On clique sur ajouter
85     $this->byXPath("//input[@value='Ajouter']")->click();
86     // On vérifie qu'il n'y ait pas d'erreur
87     $this->verifynoerrors();
88     // On vérifie le message
89     $this->assertRegExp("/^[\s\S]*Création du dossier d'autorisation n°[\s\S]*$/",$this->byCssSelector(".message")->text());
90     // Récupération du numéro de dossier
91     preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $matches);
92     $dossier_libelle = $matches[0];
93     $dossier = str_replace(' ', '', $dossier_libelle);
94     $dossier_dir = substr_replace($dossier, '.', -2, -3);
95     // On clique
96     $this->byCssSelector("a.lien")->click();sleep(5);
97     // Liste les fenêtres
98     $windows = $this->windowHandles();
99     // Change la fenêtre
100     $this->window($windows[1]);
101     // On vérifie qu'il n'y ait pas d'erreur
102     $this->verifynoerrors();
103     // On vérifie que le text est présent
104     $this->assertRegExp("/^[\s\S]*RECEPISSE DE DEPOT[\s\S]*$/",$this->source());
105     // On ferme la fenêtre
106     $this->closeWindow();
107     // On change le focus de la fenêtre
108     $this->window($windows[0]);
109     // On clique sur le bouton retour
110     $this->byLinkText("Retour")->click();
111     // On vérifie qu'il n'y ait pas d'erreur
112     $this->verifynoerrors();
113     // On vérifie que le répertoire s'est crée
114     $this->assertTrue(file_exists("../trs/numerisation/Todo/".$dossier_dir));
115     // On se déconnecte
116     $this->deconnect();
117    
118     /**
119 softime 2041 * Envoi d’un courrier de majoration de délai pour consultation ABF
120     */
121     // on se connecte à l'application
122     $this->login("instr", "instr");
123     // On clique sur le menu
124     $this->byLinkText("Recherche")->click();
125     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
126     $this->verifyNoErrors();
127 softime 2608 // On recherche le dossier crée
128     $this->byId("dossier")->value($dossier);
129     // On clique sur le bouton recherche
130     $this->byId("adv-search-submit")->click();
131     // On clique sur le résultat
132 softime 2607 $this->byLinkText($dossier_libelle)->click();
133 softime 2041 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
134     $this->verifyNoErrors();
135     // On clique sur l'onglet instruction
136     $this->byId("instruction")->click();
137     // On clique sur le + pour ajouter une instruction
138     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
139     // On choisi l'événement
140     $this->select($this->byId("evenement"))->selectOptionByLabel("ABF recours contre avis [majoration]");
141     // On clique sur le bouton ajouter
142     $this->byXPath("//input[@value='Ajouter']")->click();
143     // On vérifie que l'instruction s'est bien ajouté
144     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
145     // On clique sur le bouton retour
146     $this->byCssSelector("#sousform-instruction form a.retour")->click();
147 vpihour 2105 //On récupère le numéro de l'instruction créée
148     $this->byLinkText("ABF recours contre avis")->click();
149     $idInstrAbf = $this->byCssSelector(".form-content #instruction")->text();
150 nhaye 2419 // Finalisation du document
151     $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a")->click();
152     // On vérifie le message de validation
153     $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
154 softime 2041 // On clique sur l'onglet DI
155     $this->byId("main")->click();
156     // on rafraichis la page
157     $this->refresh();
158     // On vérifie le délai du dossier
159     $this->assertEquals("5", $this->byId('delai')->text());
160    
161     /**
162     * Envoi notification de pièces manquantes
163     */
164     // On clique sur l'onglet instruction
165     $this->byId("instruction")->click();
166     // On clique sur le + pour ajouter une instruction
167     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
168     // On choisi l'événement
169     $this->select($this->byId("evenement"))->selectOptionByLabel("Notification de pieces manquante [rejet]");
170     // On clique sur le bouton ajouter
171     $this->byXPath("//input[@value='Ajouter']")->click();
172     // On vérifie que l'instruction s'est bien ajouté
173     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
174     // On clique sur le bouton retour
175     $this->byCssSelector("#sousform-instruction form a.retour")->click();
176 vpihour 2105 //On récupère le numéro de l'instruction créée
177     $this->byLinkText("Notification de pieces manquante")->click();
178 nhaye 2418 $idInstrIncompletude = $this->byCssSelector(".form-content #instruction")->text();
179     // Finalisation du document
180     $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(3) a")->click();
181     // On vérifie le message de validation
182     $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
183 softime 2041 // On clique sur l'onglet DI
184     $this->byId("main")->click();
185     // on rafraichis la page
186     $this->refresh();
187     // On vérifie que l'état du dossier
188     $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
189     // On se deconnecte
190     $this->deconnect();
191    
192     /**
193     * Retour de l’AR incomplétude
194     */
195     // on se connecte en tant que suivi
196     $this->login("suivi", "suivi");
197     // On clique sur le menu
198     $this->byLinkText("Mise À Jour Des Dates")->click();
199     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
200     $this->verifyNoErrors();
201     // on choisit le type de mise à jour
202     $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
203     // on choisit la date
204     $this->byId("date")->value(date("d/m/Y"));
205     // on rentre le code barre
206 softime 2607 $this->byId("code_barres")->value("1100000000".$idInstrIncompletude);
207 softime 2041 // on clique sur le bouton valider
208     $this->byName("validation")->click();
209     // on vérifie que la mise à jour est pour le bon évenement
210     $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text());
211     // on clique encore sur le bouton valider
212     $this->byName("validation")->click();
213     // on vérifie que la mise à jour est faite
214     $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
215    
216     /**
217     * Retour de l’AR de majoration de délai consultation ABF
218     */
219     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
220     $this->verifyNoErrors();
221     // on choisit le type de mise à jour
222     $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
223     // on choisit la date
224     $this->byId("date")->value(date("d/m/Y"));
225     // on rentre le code barre
226 softime 2607 $this->byId("code_barres")->value("1100000000".$idInstrAbf);
227 softime 2041 // on clique sur le bouton valider
228     $this->byName("validation")->click();
229     // on vérifie que la mise à jour est pour le bon évenement
230     $this->assertEquals("ABF recours contre avis", $this->byId('evenement')->text());
231     // on clique encore sur le bouton valider
232     $this->byName("validation")->click();
233     // on vérifie que la mise à jour est faite
234     $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
235     // On se deconnecte
236     $this->deconnect();
237    
238     /**
239     * Dépôt de pièces complémentaires
240     */
241     // on se connecte à l'application
242     $this->login("instr", "instr");
243     // On clique sur le menu
244     $this->byLinkText("Recherche")->click();
245     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
246     $this->verifyNoErrors();
247     // On clique sur le dossier PC0130551200001
248 softime 2607 $this->byLinkText($dossier_libelle)->click();
249 softime 2041 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
250     $this->verifyNoErrors();
251     // On clique sur l'onglet instruction
252     $this->byId("instruction")->click();
253     // on vérifie que les instruction après AR se sont ajouté
254     $this->assertRegExp("/^[\s\S]*incomplétude après accusé de réception[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text());
255     $this->assertRegExp("/^[\s\S]*majoration délai abf[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text());
256     // On clique sur le + pour ajouter une instruction
257     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
258     // On choisi l'événement
259     $this->select($this->byId("evenement"))->selectOptionByLabel("dépôt de pièces complémentaires [retour]");
260     // On clique sur le bouton ajouter
261     $this->byXPath("//input[@value='Ajouter']")->click();
262     // On vérifie que l'instruction s'est bien ajouté
263     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
264     // On clique sur le bouton retour
265     $this->byCssSelector("#sousform-instruction form a.retour")->click();
266     // On clique sur l'onglet DI
267     $this->byId("main")->click();
268     // on rafraichis la page
269     $this->refresh();
270     // on vérifie que l'état ne soit plus à incomplet
271     $this->assertTrue($this->byId('etat')->text() != "dossier incomplet");
272     // on vérifie que le délai est à 8
273     $this->assertEquals("8", $this->byId('delai')->text());
274     // on vérifie la date de complétude
275     $this->assertEquals(date("d/m/Y"), $this->byId('date_complet')->text());
276     // on vérifie la date de limite de l'instruction
277     $date_limite = date("d/m/Y", strtotime('+8 months'));
278     $this->assertEquals($date_limite, $this->byId('date_limite')->text());
279     // On se deconnecte
280     $this->logout();
281     }
282    
283     }
284     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26