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

Annotation of /trunk/tests/testGestionIncompletude.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2771 - (hide annotations)
Tue Feb 25 14:56:56 2014 UTC (10 years, 11 months ago) by softime
File size: 14561 byte(s)
Optimisation de la fonction moisDate pour le calcul de date : est devenu mois_date et permet aussi de faire des soustractions désormais + modification des tests pour vérifier les dates avec cette même fonction.

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26