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

Annotation of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2417 - (hide annotations)
Thu Oct 17 17:31:33 2013 UTC (11 years, 3 months ago) by nhaye
File size: 14116 byte(s)
Correction du test en recupérant le numéro d'instruction

1 fmichon 1673 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8    
9     //
10 fmichon 1677 require_once "base.php";
11 fmichon 1673
12     /**
13     *
14     */
15 nhaye 2412 class Suivi extends Base2TestCase {
16 fmichon 1673
17     /**
18     * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
19     * entrée de menu ne génère pas une erreur de base de données
20 fmichon 1690 *
21     * Ce test est temporaire, il permet d'effectuer un test grossier sur chacun
22     * des écrans en attendant que l'intégralité des cas d'utilisation soient
23     * testés
24 fmichon 1673 */
25     public function testGeneral() {
26     //
27 fmichon 1727 $this->login("suivi", "suivi");
28 fmichon 1690
29 fmichon 1673 //
30 nhaye 2412 $this->byLinkText("Mise À Jour Des Dates")->click();
31     $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
32     $this->byCssSelector("#content")->text());
33 fmichon 1719 $this->verifyNoErrors();
34 fmichon 1673 //
35 nhaye 2412 $this->byLinkText("Gestion")->click();
36     $this->assertContains("Suivi > Commissions > Gestion",
37     $this->byCssSelector("#content")->text());
38 fmichon 1719 $this->verifyNoErrors();
39 fmichon 1673 //
40 nhaye 2412 $this->byLinkText("Demandes")->click();
41     $this->assertContains("Suivi > Commissions > Demandes",
42     $this->byCssSelector("#content")->text());
43 fmichon 1719 $this->verifyNoErrors();
44 fmichon 1690
45 fmichon 1673 //
46     $this->logout();
47     }
48 nhaye 1695
49     /**
50     * XXX tous les cas d'utilisation ne sont pas testés
51     * Permet de tester la génération de feuillets pour lettre avec accusé de récéption
52     */
53     public function testEnvoiLettreRAR() {
54 nhaye 2412
55     // On se connecte en tant que "instr"
56     $this->login("admin", "admin");
57     // On clique sur le menu Instruction
58     $this->byLinkText("Instruction")->click();
59     // On clique sur le menu Recherche
60     $this->byLinkText("Recherche")->click();
61     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
62     $this->verifyNoErrors();
63 nhaye 2413 // On clique sur le dossier PC 013055 12 00002P
64 nhaye 2412 $this->byLinkText("PC 013055 12 00002P0")->click();
65     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
66     $this->verifyNoErrors();
67 nhaye 2413 // liste des instructions
68 nhaye 2412 $this->byId("instruction")->click();
69     // On clique sur le + pour ajouter une instruction
70     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
71     // On choisi l'événement "adjoint [majoration]"
72     $this->select($this->byId("evenement"))->selectOptionByValue("81");
73     // On clique sur le bouton ajouter
74     $this->byXPath("//input[@value='Ajouter']")->click();
75     // On vérifie que l'instruction s'est bien ajouté
76     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
77     // On clique sur le bouton retour
78     $this->byCssSelector("#sousform-instruction form a.retour")->click();
79     // On clique sur l'instruction nouvellement créée
80     $this->byLinkText("accepter un dossier sans réserve")->click();
81 nhaye 2417 $idInstr = $this->byCssSelector("div.form-content > #instruction")->text();
82 nhaye 2412 // On finalise le document
83     $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(4) a")->click();
84     // On vérifie le message de validation
85     $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
86     //On se déconnecte de l'application
87     $this->deconnect();
88    
89 nhaye 2413 // Vérification du formulaire de génération des RAR
90 nhaye 1695 //
91 fmichon 1727 $this->login("suivi", "suivi");
92 nhaye 1695
93 nhaye 2412 $this->byLinkText("Envoi Lettre RAR")->click();
94     $this->assertContains("Suivi > Suivi Des Pièces > Envoi Lettre RAR",
95     $this->byCssSelector("#content")->text());
96 fmichon 1719 $this->verifyNoErrors();
97 fmichon 1710
98 nhaye 1695 // Vérification sans valeur saisie
99 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
100 fmichon 1721 $this->verifyNoErrors();
101 nhaye 2412 $this->assertEquals("Tous les champs doivent être remplis.",
102     $this->byCssSelector("span.text")->text());
103 fmichon 1710
104     // Vérification avec un numéro non valide
105 nhaye 2412 $this->byId('liste_code_barres_instruction')->value("a");
106     $this->byXPath("//input[@value='Valider']")->click();
107 fmichon 1721 $this->verifyNoErrors();
108 nhaye 2412 $this->assertEquals("Le code barres d'instruction a n'est pas valide.",
109     $this->byCssSelector("span.text")->text());
110 fmichon 1710
111     // Vérification avec un numéro non présent en base
112 nhaye 2412 $this->byId('liste_code_barres_instruction')->clear();
113     $this->byId('liste_code_barres_instruction')->value("123");
114     $this->byXPath("//input[@value='Valider']")->click();
115 fmichon 1721 $this->verifyNoErrors();
116 nhaye 2412 $this->assertEquals("Le numéro 123 ne correspond à aucun code barres d'instruction.",
117     $this->byCssSelector("span.text")->text());
118 fmichon 1710
119 nhaye 1695 // Vérification formulaire valide
120 nhaye 2412 $this->byId('liste_code_barres_instruction')->clear();
121 nhaye 2417 $this->byId('liste_code_barres_instruction')->value("1100000000".$idInstr);
122 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
123 fmichon 1719 $this->verifyNoErrors();
124 nhaye 2412 $this->assertContains("Cliquez sur le lien ci-dessous pour télécharger votre document :",
125     $this->byCssSelector("span.text")->text());
126     $this->assertContains("Télécharger le document pour 1 RAR",
127     $this->byCssSelector("span.text")->text());
128 nhaye 1695 //
129     $this->logout();
130     }
131 fmichon 1690
132     /**
133     *
134     */
135     public function testBordereaux() {
136 fmichon 1685 //
137 fmichon 1727 $this->login("suivi", "suivi");
138 fmichon 1710
139 fmichon 1690 //
140 nhaye 2412 $this->byLinkText("Bordereaux")->click();
141 fmichon 1721 $this->verifyNoErrors();
142 nhaye 2412 $this->assertContains("Suivi > Suivi Des Pièces > Bordereaux",
143     $this->byCssSelector("#content")->text());
144 fmichon 1690 //
145 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
146 fmichon 1719 $this->verifyNoErrors();
147 nhaye 2412 $this->assertEquals("Veuillez sélectionner un bordereau.",
148     $this->byCssSelector("span.text")->text());
149 fmichon 1690
150     //
151 nhaye 2412 $this->select($this->byId("bordereau"))->selectOptionByValue("bordereau_avis_maire_prefet");
152     $this->byId("date_bordereau")->clear();
153     // On clique sur "OK" dans la boite de dialogue qui apparaît
154     $this->acceptAlert();sleep(1);
155     $this->byId("bordereau")->click();
156     $this->byXPath("//input[@value='Valider']")->click();
157 fmichon 1719 $this->verifyNoErrors();
158 nhaye 2412 $this->assertEquals("Veuillez saisir une date valide.",
159     $this->byCssSelector("span.text")->text());
160 fmichon 1710
161 fmichon 1690 //
162     $bordereaux = array(
163 nhaye 2412 "bordereau_avis_maire_prefet" => "Bordereau d'envoi des avis du Maire au Préfet",
164     "bordereau_controle_legalite" => "Bordereau d'envoi des contrôles de légalité",
165     "bordereau_courriers_signature_maire" => "Bordereau d'envoi de courriers signature Maire",
166     "bordereau_decisions" => "Bordereau d'envoi des décisions",
167 fmichon 1690 );
168 nhaye 2412 foreach ($bordereaux as $key => $bordereau) {
169 fmichon 1690 //
170 nhaye 2412 $this->select($this->byId("bordereau"))->selectOptionByValue(
171     $key);
172    
173     $this->byXPath("//input[@value='Valider']")->click();
174     $this->assertContains(
175     "Cliquez sur le lien ci-dessous pour télécharger votre bordereau :\n\n".$bordereau." au ".date("d/m/Y"),
176     $this->byCssSelector("span.text")->text());
177 fmichon 1690 //
178 nhaye 2412 $this->byLinkText($bordereau." au ".date("d/m/Y"))->click();
179 fmichon 1690 sleep(5);
180 nhaye 2412 // Liste les fenêtres
181     $windows = $this->windowHandles();
182     // Change la fenêtre
183     $this->window($windows[1]);
184     // On vérifie qu'il n'y ait pas d'erreur
185     $this->verifynoerrors();
186     // On vérifie que le text est présent
187     $this->assertContains("Edition du ".date("d/m/Y"), $this->source());
188     // On ferme la fenêtre
189     $this->closeWindow();
190     // On change le focus de la fenêtre
191     $this->window($windows[0]);
192 fmichon 1690 }
193 fmichon 1710
194 fmichon 1690 //
195 fmichon 1685 $this->logout();
196     }
197    
198 fmichon 1818 public function test_20_mise_a_jour_des_dates_simple_par_la_cellule_suivi() {
199 nhaye 2417 // On se connecte en tant que "instr"
200     $this->login("admin", "admin");
201     // On clique sur le menu Instruction
202     $this->byLinkText("Instruction")->click();
203     // On clique sur le menu Recherche
204     $this->byLinkText("Recherche")->click();
205     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
206     $this->verifyNoErrors();
207     // On clique sur le dossier PC 013055 12 00002P
208     $this->byLinkText("PC 013055 12 00002P0")->click();
209     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
210     $this->verifyNoErrors();
211     // liste des instructions
212     $this->byId("instruction")->click();
213     // On clique sur l'instruction nouvellement créée
214     $this->byLinkText("accepter un dossier sans réserve")->click();
215     $idInstr = $this->byCssSelector("div.form-content > #instruction")->text();
216     $this->deconnect();
217    
218 fmichon 1817 // On se connecte en tant que "suivi"
219     $this->login("suivi", "suivi");
220     // On clique sur le lien "Mise à jour des dates" dans le menu
221 nhaye 2412 $this->byLinkText("Mise À Jour Des Dates")->click();
222 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
223     $this->verifyNoErrors();
224     //
225     $dates = array(
226     0 => array(
227     "id" => "date_envoi_signature",
228     "label" => "date d'envoi pour signature Mairie/Préfet",
229     "date" => "10/04/2013",
230     ),
231     1 => array(
232     "id" => "date_retour_signature",
233     "label" => "date de retour de signature Mairie/Préfet",
234     "date" => "12/04/2013",
235     ),
236 fmichon 1818 2 => array(
237     "id" => "date_envoi_controle_legalite",
238     "label" => "date d'envoi au contrôle de légalite",
239     "date" => "12/04/2013",
240     ),
241     3 => array(
242     "id" => "date_retour_controle_legalite",
243     "label" => "date de retour de controle de légalite",
244     "date" => "18/04/2013",
245     ),
246 fmichon 1817 );
247     foreach($dates as $date) {
248     // On vérifie que le titre de la page est correct
249 nhaye 2412 $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
250     $this->byCssSelector("#content")->text());
251 fmichon 1817 // On saisi les informations de mise à jour de la date
252 nhaye 2412 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue(
253     $date["id"]);
254     $this->byId("date")->clear();
255     $this->byId("date")->value($date["date"]);
256 nhaye 2417 $this->byId("code_barres")->value("1100000000".$idInstr);
257 fmichon 1817 // On clique sur le bouton "Valider"
258 nhaye 2412 $this->byName("validation")->click();
259 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
260     $this->verifyNoErrors();
261     // On vérifie que le les informations du dossier sont bien présentes
262 nhaye 2412 $this->assertEquals("PC 013055 12 00002P0",
263     $this->byId("dossier_libelle")->text());
264     $this->assertEquals($date["date"],
265     $this->byCssSelector("#".$date["id"])->text());
266 fmichon 1817 // On clique sur le bouton "Valider"
267 nhaye 2412 $this->byName("validation")->click();
268 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
269     $this->verifyNoErrors();
270     // On vérifie que le message de validation est présent
271 nhaye 2412 $this->assertEquals("Saisie enregistrée",
272     $this->byCssSelector("span.text")->text());
273    
274 fmichon 1817 }
275     // On se déconnecte
276 nhaye 2412 $this->deconnect();
277 fmichon 1817
278     // On se connecte en tant que "instr"
279     $this->login("instr", "instr");
280 nhaye 2412 // On saisit le numéro de dossier "PC0130551200002P0" dans le champ de
281     // recherche du widget "accès direct" du tableau de bord qui possède le focus
282     $this->byId("dossier")->value("PC0130551200002P0");
283     // On clique sur le bouton "Rechercher" du widget "accès direct" du
284     // tableau de bord
285     $this->byName("validation")->click();
286 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
287     $this->verifyNoErrors();
288 nhaye 2412 // On vérifie que le titre de la page est correct
289     // (que nous sommes sur le bon dossier)
290     $this->assertContains("Instruction > Dossiers D'instruction > PC 013055 12 00002P0",
291     $this->byCssSelector("#content")->text());
292 fmichon 1817 // On clique sur l'onglet "Instruction"
293 nhaye 2412 $this->byId("instruction")->click();
294 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
295     $this->verifyNoErrors();
296 fmichon 2209 // On clique sur le lien de l'événement d'instruction n°11
297 nhaye 2412 $this->byLinkText("arrete")->click();
298 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
299     $this->verifyNoErrors();
300 nhaye 2412 // On vérifie que le sous-titre est correct (que nous sommes sur le bon
301     // événement d'instruction)
302 nhaye 2417 $this->assertEquals($idInstr,
303 nhaye 2412 $this->byCssSelector("div.form-content > #instruction")->text());
304     // On boucle sur chaque date pour vérifier que ces dernières sont bien
305     // présentes sur l'écran de visualisation de l'événement d'instruction
306 fmichon 1818 foreach($dates as $date) {
307     //
308 nhaye 2412 $this->assertEquals($date["date"],
309     $this->byId($date["id"])->text());
310 fmichon 1818 }
311 fmichon 1817 // On clique sur le bouton retour
312 nhaye 2412 $this->byCssSelector("#sformulaire > a.retour")->click();
313 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
314     $this->verifyNoErrors();
315     // On se déconnecte
316     $this->logout();
317     }
318 fmichon 1673 }
319    
320     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26