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

Annotation of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2413 - (hide annotations)
Wed Oct 16 17:46:50 2013 UTC (11 years, 3 months ago) by nhaye
File size: 13088 byte(s)
Maj des commentaires

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     // On finalise le document
82     $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(4) a")->click();
83     // On vérifie le message de validation
84     $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
85     //On se déconnecte de l'application
86     $this->deconnect();
87    
88 nhaye 2413 // Vérification du formulaire de génération des RAR
89 nhaye 1695 //
90 fmichon 1727 $this->login("suivi", "suivi");
91 nhaye 1695
92 nhaye 2412 $this->byLinkText("Envoi Lettre RAR")->click();
93     $this->assertContains("Suivi > Suivi Des Pièces > Envoi Lettre RAR",
94     $this->byCssSelector("#content")->text());
95 fmichon 1719 $this->verifyNoErrors();
96 fmichon 1710
97 nhaye 1695 // Vérification sans valeur saisie
98 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
99 fmichon 1721 $this->verifyNoErrors();
100 nhaye 2412 $this->assertEquals("Tous les champs doivent être remplis.",
101     $this->byCssSelector("span.text")->text());
102 fmichon 1710
103     // Vérification avec un numéro non valide
104 nhaye 2412 $this->byId('liste_code_barres_instruction')->value("a");
105     $this->byXPath("//input[@value='Valider']")->click();
106 fmichon 1721 $this->verifyNoErrors();
107 nhaye 2412 $this->assertEquals("Le code barres d'instruction a n'est pas valide.",
108     $this->byCssSelector("span.text")->text());
109 fmichon 1710
110     // Vérification avec un numéro non présent en base
111 nhaye 2412 $this->byId('liste_code_barres_instruction')->clear();
112     $this->byId('liste_code_barres_instruction')->value("123");
113     $this->byXPath("//input[@value='Valider']")->click();
114 fmichon 1721 $this->verifyNoErrors();
115 nhaye 2412 $this->assertEquals("Le numéro 123 ne correspond à aucun code barres d'instruction.",
116     $this->byCssSelector("span.text")->text());
117 fmichon 1710
118 nhaye 1695 // Vérification formulaire valide
119 nhaye 2412 $this->byId('liste_code_barres_instruction')->clear();
120     $this->byId('liste_code_barres_instruction')->value("110000000013");
121     $this->byXPath("//input[@value='Valider']")->click();
122 fmichon 1719 $this->verifyNoErrors();
123 nhaye 2412 $this->assertContains("Cliquez sur le lien ci-dessous pour télécharger votre document :",
124     $this->byCssSelector("span.text")->text());
125     $this->assertContains("Télécharger le document pour 1 RAR",
126     $this->byCssSelector("span.text")->text());
127 nhaye 1695 //
128     $this->logout();
129     }
130 fmichon 1690
131     /**
132     *
133     */
134     public function testBordereaux() {
135 fmichon 1685 //
136 fmichon 1727 $this->login("suivi", "suivi");
137 fmichon 1710
138 fmichon 1690 //
139 nhaye 2412 $this->byLinkText("Bordereaux")->click();
140 fmichon 1721 $this->verifyNoErrors();
141 nhaye 2412 $this->assertContains("Suivi > Suivi Des Pièces > Bordereaux",
142     $this->byCssSelector("#content")->text());
143 fmichon 1690 //
144 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
145 fmichon 1719 $this->verifyNoErrors();
146 nhaye 2412 $this->assertEquals("Veuillez sélectionner un bordereau.",
147     $this->byCssSelector("span.text")->text());
148 fmichon 1690
149     //
150 nhaye 2412 $this->select($this->byId("bordereau"))->selectOptionByValue("bordereau_avis_maire_prefet");
151     $this->byId("date_bordereau")->clear();
152     // On clique sur "OK" dans la boite de dialogue qui apparaît
153     $this->acceptAlert();sleep(1);
154     $this->byId("bordereau")->click();
155     $this->byXPath("//input[@value='Valider']")->click();
156 fmichon 1719 $this->verifyNoErrors();
157 nhaye 2412 $this->assertEquals("Veuillez saisir une date valide.",
158     $this->byCssSelector("span.text")->text());
159 fmichon 1710
160 fmichon 1690 //
161     $bordereaux = array(
162 nhaye 2412 "bordereau_avis_maire_prefet" => "Bordereau d'envoi des avis du Maire au Préfet",
163     "bordereau_controle_legalite" => "Bordereau d'envoi des contrôles de légalité",
164     "bordereau_courriers_signature_maire" => "Bordereau d'envoi de courriers signature Maire",
165     "bordereau_decisions" => "Bordereau d'envoi des décisions",
166 fmichon 1690 );
167 nhaye 2412 foreach ($bordereaux as $key => $bordereau) {
168 fmichon 1690 //
169 nhaye 2412 $this->select($this->byId("bordereau"))->selectOptionByValue(
170     $key);
171    
172     $this->byXPath("//input[@value='Valider']")->click();
173     $this->assertContains(
174     "Cliquez sur le lien ci-dessous pour télécharger votre bordereau :\n\n".$bordereau." au ".date("d/m/Y"),
175     $this->byCssSelector("span.text")->text());
176 fmichon 1690 //
177 nhaye 2412 $this->byLinkText($bordereau." au ".date("d/m/Y"))->click();
178 fmichon 1690 sleep(5);
179 nhaye 2412 // Liste les fenêtres
180     $windows = $this->windowHandles();
181     // Change la fenêtre
182     $this->window($windows[1]);
183     // On vérifie qu'il n'y ait pas d'erreur
184     $this->verifynoerrors();
185     // On vérifie que le text est présent
186     $this->assertContains("Edition du ".date("d/m/Y"), $this->source());
187     // On ferme la fenêtre
188     $this->closeWindow();
189     // On change le focus de la fenêtre
190     $this->window($windows[0]);
191 fmichon 1690 }
192 fmichon 1710
193 fmichon 1690 //
194 fmichon 1685 $this->logout();
195     }
196    
197 fmichon 1818 public function test_20_mise_a_jour_des_dates_simple_par_la_cellule_suivi() {
198 fmichon 1817 // On se connecte en tant que "suivi"
199     $this->login("suivi", "suivi");
200     // On clique sur le lien "Mise à jour des dates" dans le menu
201 nhaye 2412 $this->byLinkText("Mise À Jour Des Dates")->click();
202 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
203     $this->verifyNoErrors();
204     //
205     $dates = array(
206     0 => array(
207     "id" => "date_envoi_signature",
208     "label" => "date d'envoi pour signature Mairie/Préfet",
209     "date" => "10/04/2013",
210     ),
211     1 => array(
212     "id" => "date_retour_signature",
213     "label" => "date de retour de signature Mairie/Préfet",
214     "date" => "12/04/2013",
215     ),
216 fmichon 1818 2 => array(
217     "id" => "date_envoi_controle_legalite",
218     "label" => "date d'envoi au contrôle de légalite",
219     "date" => "12/04/2013",
220     ),
221     3 => array(
222     "id" => "date_retour_controle_legalite",
223     "label" => "date de retour de controle de légalite",
224     "date" => "18/04/2013",
225     ),
226 fmichon 1817 );
227     foreach($dates as $date) {
228     // On vérifie que le titre de la page est correct
229 nhaye 2412 $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
230     $this->byCssSelector("#content")->text());
231 fmichon 1817 // On saisi les informations de mise à jour de la date
232 nhaye 2412 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue(
233     $date["id"]);
234     $this->byId("date")->clear();
235     $this->byId("date")->value($date["date"]);
236     $this->byId("code_barres")->value("110000000013");
237 fmichon 1817 // On clique sur le bouton "Valider"
238 nhaye 2412 $this->byName("validation")->click();
239 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
240     $this->verifyNoErrors();
241     // On vérifie que le les informations du dossier sont bien présentes
242 nhaye 2412 $this->assertEquals("PC 013055 12 00002P0",
243     $this->byId("dossier_libelle")->text());
244     $this->assertEquals($date["date"],
245     $this->byCssSelector("#".$date["id"])->text());
246 fmichon 1817 // On clique sur le bouton "Valider"
247 nhaye 2412 $this->byName("validation")->click();
248 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
249     $this->verifyNoErrors();
250     // On vérifie que le message de validation est présent
251 nhaye 2412 $this->assertEquals("Saisie enregistrée",
252     $this->byCssSelector("span.text")->text());
253    
254 fmichon 1817 }
255     // On se déconnecte
256 nhaye 2412 $this->deconnect();
257 fmichon 1817
258     // On se connecte en tant que "instr"
259     $this->login("instr", "instr");
260 nhaye 2412 // On saisit le numéro de dossier "PC0130551200002P0" dans le champ de
261     // recherche du widget "accès direct" du tableau de bord qui possède le focus
262     $this->byId("dossier")->value("PC0130551200002P0");
263     // On clique sur le bouton "Rechercher" du widget "accès direct" du
264     // tableau de bord
265     $this->byName("validation")->click();
266 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
267     $this->verifyNoErrors();
268 nhaye 2412 // On vérifie que le titre de la page est correct
269     // (que nous sommes sur le bon dossier)
270     $this->assertContains("Instruction > Dossiers D'instruction > PC 013055 12 00002P0",
271     $this->byCssSelector("#content")->text());
272 fmichon 1817 // On clique sur l'onglet "Instruction"
273 nhaye 2412 $this->byId("instruction")->click();
274 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
275     $this->verifyNoErrors();
276 fmichon 2209 // On clique sur le lien de l'événement d'instruction n°11
277 nhaye 2412 $this->byLinkText("arrete")->click();
278 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
279     $this->verifyNoErrors();
280 nhaye 2412 // On vérifie que le sous-titre est correct (que nous sommes sur le bon
281     // événement d'instruction)
282     $this->assertEquals("13",
283     $this->byCssSelector("div.form-content > #instruction")->text());
284     // On boucle sur chaque date pour vérifier que ces dernières sont bien
285     // présentes sur l'écran de visualisation de l'événement d'instruction
286 fmichon 1818 foreach($dates as $date) {
287     //
288 nhaye 2412 $this->assertEquals($date["date"],
289     $this->byId($date["id"])->text());
290 fmichon 1818 }
291 fmichon 1817 // On clique sur le bouton retour
292 nhaye 2412 $this->byCssSelector("#sformulaire > a.retour")->click();
293 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
294     $this->verifyNoErrors();
295     // On se déconnecte
296     $this->logout();
297     }
298    
299 fmichon 1673 }
300    
301     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26