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

Annotation of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2879 - (hide annotations)
Wed Mar 26 15:19:34 2014 UTC (10 years, 10 months ago) by nmeucci
File size: 28371 byte(s)
Ajout d'un signataire dans les tests instruction et suivi.

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 softime 2605 // Liste des utilisateurs
18     var $listUtlisateurs = array(
19     array(
20     "login" => "suivi",
21     "mdp" => "suivi"
22     ),
23     array(
24     "login" => "adminfonct",
25     "mdp" => "adminfonct"
26     ),
27     );
28    
29 fmichon 1673 /**
30     * Ce test vise uniquement à vérifier que les écrans correspondant à chaque
31     * entrée de menu ne génère pas une erreur de base de données
32     */
33 softime 2605 // Fonction privé
34     private function ouvertureMenu($utilisateur) {
35     // On se connecte
36     $this->login($utilisateur["login"], $utilisateur["mdp"]);
37     // Ouvre le menu
38     $this->openMenu("Suivi", $utilisateur);
39     // On vérifie le menu "Retours De Consultation"
40     $this->byLinkText("Retours De Consultation")->click();
41     $this->assertContains("Suivi > Suivi Des Pièces > Retours De Consultation",
42     $this->byId("title")->text());
43     $this->verifyNoErrors();
44     // On vérifie le menu "Mise À Jour Des Dates"
45 nhaye 2412 $this->byLinkText("Mise À Jour Des Dates")->click();
46     $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
47 softime 2605 $this->byId("title")->text());
48 fmichon 1719 $this->verifyNoErrors();
49 softime 2605 // On vérifie le menu "Envoi Lettre RAR"
50     $this->byLinkText("Envoi Lettre RAR")->click();
51     $this->assertContains("Suivi > Suivi Des Pièces > Envoi Lettre RAR",
52     $this->byId("title")->text());
53     $this->verifyNoErrors();
54     // On vérifie le menu "Bordereaux"
55     $this->byLinkText("Bordereaux")->click();
56     $this->assertContains("Suivi > Suivi Des Pièces > Bordereaux",
57     $this->byId("title")->text());
58     $this->verifyNoErrors();
59     // On vérifie le menu "Mise À Jour Des Dates" de la catégorie
60     // "Demandes D'avis"
61     $this->byClassName("demandes_avis_mise_a_jour_des_dates-16")->click();
62     $this->assertContains("Suivi > Demande D'avis > Mise À Jour Des Dates",
63     $this->byId("title")->text());
64     $this->verifyNoErrors();
65     // On vérifie le menu "Gestion"
66 nhaye 2412 $this->byLinkText("Gestion")->click();
67     $this->assertContains("Suivi > Commissions > Gestion",
68 softime 2605 $this->byId("title")->text());
69 fmichon 1719 $this->verifyNoErrors();
70 softime 2605 // On vérifie le menu "Demandes"
71 nhaye 2412 $this->byLinkText("Demandes")->click();
72     $this->assertContains("Suivi > Commissions > Demandes",
73 softime 2605 $this->byId("title")->text());
74 fmichon 1719 $this->verifyNoErrors();
75 softime 2605 // On se déconnecte
76     $this->deconnect();
77 fmichon 1673 }
78 softime 2605 // Fonction public
79 softime 2804 public function test_01_ouverture_menu() {
80 softime 2605 // Récupération des utilisateurs
81     $utilisateurs = $this->listUtlisateurs;
82     // Pour chaque utilisateur on lance le test
83     foreach ($utilisateurs as $utilisateur) {
84     //
85     $this->ouvertureMenu($utilisateur);
86     }
87     // On vérifie la déconnexion
88     $this->verifyDeconnect();
89     }
90 nhaye 1695
91     /**
92     * XXX tous les cas d'utilisation ne sont pas testés
93     * Permet de tester la génération de feuillets pour lettre avec accusé de récéption
94     */
95 softime 2605 // Fonction privé
96     private function envoiLettreRAR($utilisateur, $dossier) {
97 nhaye 2412
98 softime 2605 // On se connecte en tant que "admin"
99 nhaye 2412 $this->login("admin", "admin");
100     // On clique sur le menu Instruction
101     $this->byLinkText("Instruction")->click();
102     // On clique sur le menu Recherche
103     $this->byLinkText("Recherche")->click();
104     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
105     $this->verifyNoErrors();
106 nhaye 2413 // On clique sur le dossier PC 013055 12 00002P
107 softime 2605 $this->byLinkText($dossier)->click();
108 nhaye 2412 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
109     $this->verifyNoErrors();
110 nhaye 2413 // liste des instructions
111 nhaye 2412 $this->byId("instruction")->click();
112     // On clique sur le + pour ajouter une instruction
113     $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
114 nmeucci 2879 // On choisit un signataire Albert Dupont
115     $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
116 nhaye 2412 // On choisi l'événement "adjoint [majoration]"
117     $this->select($this->byId("evenement"))->selectOptionByValue("81");
118     // On clique sur le bouton ajouter
119     $this->byXPath("//input[@value='Ajouter']")->click();
120     // On vérifie que l'instruction s'est bien ajouté
121     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
122     // On clique sur le bouton retour
123     $this->byCssSelector("#sousform-instruction form a.retour")->click();
124     // On clique sur l'instruction nouvellement créée
125     $this->byLinkText("accepter un dossier sans réserve")->click();
126 nhaye 2417 $idInstr = $this->byCssSelector("div.form-content > #instruction")->text();
127 nhaye 2412 // On finalise le document
128     $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(4) a")->click();
129     // On vérifie le message de validation
130     $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
131     //On se déconnecte de l'application
132     $this->deconnect();
133    
134 nhaye 2413 // Vérification du formulaire de génération des RAR
135 softime 2605 // On se connecte
136     $this->login($utilisateur["login"], $utilisateur["mdp"]);
137     // Ouvre le menu
138     $this->openMenu("Suivi", $utilisateur);
139     // On vérifie le menu "Envoi Lettre RAR"
140 nhaye 2412 $this->byLinkText("Envoi Lettre RAR")->click();
141     $this->assertContains("Suivi > Suivi Des Pièces > Envoi Lettre RAR",
142     $this->byCssSelector("#content")->text());
143 fmichon 1719 $this->verifyNoErrors();
144 fmichon 1710
145 nhaye 1695 // Vérification sans valeur saisie
146 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
147 fmichon 1721 $this->verifyNoErrors();
148 nhaye 2412 $this->assertEquals("Tous les champs doivent être remplis.",
149     $this->byCssSelector("span.text")->text());
150 fmichon 1710
151     // Vérification avec un numéro non valide
152 nhaye 2412 $this->byId('liste_code_barres_instruction')->value("a");
153     $this->byXPath("//input[@value='Valider']")->click();
154 fmichon 1721 $this->verifyNoErrors();
155 nhaye 2412 $this->assertEquals("Le code barres d'instruction a n'est pas valide.",
156     $this->byCssSelector("span.text")->text());
157 fmichon 1710
158     // Vérification avec un numéro non présent en base
159 nhaye 2412 $this->byId('liste_code_barres_instruction')->clear();
160     $this->byId('liste_code_barres_instruction')->value("123");
161     $this->byXPath("//input[@value='Valider']")->click();
162 fmichon 1721 $this->verifyNoErrors();
163 nhaye 2412 $this->assertEquals("Le numéro 123 ne correspond à aucun code barres d'instruction.",
164     $this->byCssSelector("span.text")->text());
165 fmichon 1710
166 nhaye 1695 // Vérification formulaire valide
167 nhaye 2412 $this->byId('liste_code_barres_instruction')->clear();
168 nhaye 2417 $this->byId('liste_code_barres_instruction')->value("1100000000".$idInstr);
169 nhaye 2412 $this->byXPath("//input[@value='Valider']")->click();
170 fmichon 1719 $this->verifyNoErrors();
171 nhaye 2412 $this->assertContains("Cliquez sur le lien ci-dessous pour télécharger votre document :",
172     $this->byCssSelector("span.text")->text());
173     $this->assertContains("Télécharger le document pour 1 RAR",
174     $this->byCssSelector("span.text")->text());
175 nhaye 1695 //
176 softime 2605 $this->deconnect();
177 nhaye 1695 }
178 softime 2605 // Fonction public
179 softime 2804 public function test_02_envoi_lettreRAR() {
180 softime 2605 // Récupération des utilisateurs
181     $utilisateurs = $this->listUtlisateurs;
182     // Liste des dossiers par utilisateur
183     $dossiers = array(
184     "suivi" => "PC 013055 12 00001P0",
185     "adminfonct" => "PC 013055 12 00002P0"
186     );
187     // Pour chaque utilisateur on lance le test
188     foreach ($utilisateurs as $utilisateur) {
189     //
190     $this->envoiLettreRAR($utilisateur, $dossiers[$utilisateur['login']]);
191     }
192     // On vérifie la déconnexion
193     $this->verifyDeconnect();
194     }
195 nhaye 2412
196 softime 2804 public function test_03_mise_a_jour_des_dates_simple_par_la_cellule_suivi() {
197 nhaye 2417 // On se connecte en tant que "instr"
198     $this->login("admin", "admin");
199     // On clique sur le menu Instruction
200     $this->byLinkText("Instruction")->click();
201     // On clique sur le menu Recherche
202     $this->byLinkText("Recherche")->click();
203     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
204     $this->verifyNoErrors();
205     // On clique sur le dossier PC 013055 12 00002P
206     $this->byLinkText("PC 013055 12 00002P0")->click();
207     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
208     $this->verifyNoErrors();
209     // liste des instructions
210     $this->byId("instruction")->click();
211     // On clique sur l'instruction nouvellement créée
212     $this->byLinkText("accepter un dossier sans réserve")->click();
213     $idInstr = $this->byCssSelector("div.form-content > #instruction")->text();
214     $this->deconnect();
215    
216 fmichon 1817 // On se connecte en tant que "suivi"
217     $this->login("suivi", "suivi");
218     // On clique sur le lien "Mise à jour des dates" dans le menu
219 nhaye 2412 $this->byLinkText("Mise À Jour Des Dates")->click();
220 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
221     $this->verifyNoErrors();
222     //
223     $dates = array(
224     0 => array(
225     "id" => "date_envoi_signature",
226     "label" => "date d'envoi pour signature Mairie/Préfet",
227     "date" => "10/04/2013",
228     ),
229     1 => array(
230     "id" => "date_retour_signature",
231     "label" => "date de retour de signature Mairie/Préfet",
232     "date" => "12/04/2013",
233     ),
234 fmichon 1818 2 => array(
235     "id" => "date_envoi_controle_legalite",
236     "label" => "date d'envoi au contrôle de légalite",
237     "date" => "12/04/2013",
238     ),
239     3 => array(
240     "id" => "date_retour_controle_legalite",
241     "label" => "date de retour de controle de légalite",
242     "date" => "18/04/2013",
243     ),
244 fmichon 1817 );
245     foreach($dates as $date) {
246     // On vérifie que le titre de la page est correct
247 nhaye 2412 $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
248     $this->byCssSelector("#content")->text());
249 fmichon 1817 // On saisi les informations de mise à jour de la date
250 nhaye 2412 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue(
251     $date["id"]);
252     $this->byId("date")->clear();
253     $this->byId("date")->value($date["date"]);
254 nhaye 2417 $this->byId("code_barres")->value("1100000000".$idInstr);
255 fmichon 1817 // On clique sur le bouton "Valider"
256 nhaye 2412 $this->byName("validation")->click();
257 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258     $this->verifyNoErrors();
259     // On vérifie que le les informations du dossier sont bien présentes
260 nhaye 2412 $this->assertEquals("PC 013055 12 00002P0",
261     $this->byId("dossier_libelle")->text());
262     $this->assertEquals($date["date"],
263     $this->byCssSelector("#".$date["id"])->text());
264 fmichon 1817 // On clique sur le bouton "Valider"
265 nhaye 2412 $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     // On vérifie que le message de validation est présent
269 nhaye 2412 $this->assertEquals("Saisie enregistrée",
270     $this->byCssSelector("span.text")->text());
271    
272 fmichon 1817 }
273     // On se déconnecte
274 nhaye 2412 $this->deconnect();
275 fmichon 1817
276     // On se connecte en tant que "instr"
277     $this->login("instr", "instr");
278 nhaye 2412 // On saisit le numéro de dossier "PC0130551200002P0" dans le champ de
279     // recherche du widget "accès direct" du tableau de bord qui possède le focus
280     $this->byId("dossier")->value("PC0130551200002P0");
281     // On clique sur le bouton "Rechercher" du widget "accès direct" du
282     // tableau de bord
283     $this->byName("validation")->click();
284 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
285     $this->verifyNoErrors();
286 nhaye 2412 // On vérifie que le titre de la page est correct
287     // (que nous sommes sur le bon dossier)
288     $this->assertContains("Instruction > Dossiers D'instruction > PC 013055 12 00002P0",
289     $this->byCssSelector("#content")->text());
290 fmichon 1817 // On clique sur l'onglet "Instruction"
291 nhaye 2412 $this->byId("instruction")->click();
292 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
293     $this->verifyNoErrors();
294 fmichon 2209 // On clique sur le lien de l'événement d'instruction n°11
295 nhaye 2412 $this->byLinkText("arrete")->click();
296 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
297     $this->verifyNoErrors();
298 nhaye 2412 // On vérifie que le sous-titre est correct (que nous sommes sur le bon
299     // événement d'instruction)
300 nhaye 2417 $this->assertEquals($idInstr,
301 nhaye 2412 $this->byCssSelector("div.form-content > #instruction")->text());
302     // On boucle sur chaque date pour vérifier que ces dernières sont bien
303     // présentes sur l'écran de visualisation de l'événement d'instruction
304 fmichon 1818 foreach($dates as $date) {
305     //
306 nhaye 2412 $this->assertEquals($date["date"],
307     $this->byId($date["id"])->text());
308 fmichon 1818 }
309 fmichon 1817 // On clique sur le bouton retour
310 nhaye 2412 $this->byCssSelector("#sformulaire > a.retour")->click();
311 fmichon 1817 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
312     $this->verifyNoErrors();
313 vpihour 2603
314     //{{{On rajoute une consultation avec demande d'avis
315     //On clique sur le menu "Recherche"
316     $this->byLinkText("Recherche")->click();
317     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
318     $this->verifyNoErrors();
319     //On choisit le dossier AT 013055 13 00001P0
320     $this->byLinkText("AT 013055 12 00001P0")->click();
321     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
322     $this->verifyNoErrors();
323     //On clique sur l'onglet Consultation
324     $this->byId("consultation")->click();
325     //L'assertion précédente est un chargement javascript, on attend 2 secondes
326     sleep(2);
327     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
328     $this->verifyNoErrors();
329     //On ajoute deux consultation de test
330     $consultationPourConformite = $this->addConsultation(2, "Atelier du Patrimoine");
331     $consultationAvecAvisAttendu = $this->addConsultation(13, "Régie des Tranports de Marseille - DTP/CIP");
332    
333     //On se déconnecte
334     $this->deconnect();
335     //}}}
336    
337     // On se connecte à l'application
338     $this->login("suivi", "suivi");
339     //On clique sur le menu "Mise à jour des dates" de la catégorie "Demandes d'avis"
340     $this->byClassName("demandes_avis_mise_a_jour_des_dates-16")->click();
341     //On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
342     $this->verifyNoErrors();
343     //On vérifie qu'on est dans le bon menu
344     $this->assertContains("Demande D'avis", $this->byCssSelector("#title h2")->text());
345     //On saisit un code barres et on ne saisit pas la date
346     $this->byId("code_barres")->value("123456789123");
347     //On valide
348     $this->byXPath("//input[@type='submit']")->click();sleep(1);
349     //On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
350     $this->verifyNoErrors();
351     //On vérifie le message
352     $this->assertContains("Tous les champs doivent être remplis.",
353     $this->byCssSelector(".message .text")->text());
354     //On saisit la date
355     $this->byId("date")->value(date("d/m/Y",strtotime("+1 day")));
356     //On saisit une consultation qui n'existe pas
357     $this->byId("code_barres")->clear();
358     $this->byId("code_barres")->value("123456789123");
359     //On valide
360     $this->byXPath("//input[@type='submit']")->click();sleep(1);
361     //On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
362     $this->verifyNoErrors();
363     //On vérifie le message
364     $this->assertContains("Le numéro saisi ne correspond à aucun code barres de consultation.",
365     $this->byCssSelector(".message .text")->text());
366     //On saisit une consultation qui n'est pas une demande d'avis
367     $this->byId("code_barres")->clear();
368     $this->byId("code_barres")->value("12".str_pad($consultationPourConformite, 10, "0", STR_PAD_LEFT));
369     //On valide
370     $this->byXPath("//input[@type='submit']")->click();sleep(1);
371     //On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
372     $this->verifyNoErrors();
373     //On vérifie le message
374     $this->assertContains("Cette consultation n'a pas d'avis attendu.",
375     $this->byCssSelector(".message .text")->text());
376     //On saisit une consultation qui a une demande d'avis
377     $this->byId("code_barres")->clear();
378     $this->byId("code_barres")->value("12".str_pad($consultationAvecAvisAttendu, 10, "0", STR_PAD_LEFT));
379     //On valide
380     $this->byXPath("//input[@type='submit']")->click();sleep(1);
381     //On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
382     $this->verifyNoErrors();
383     //On vérifie qu'on est sur la consultation
384     $this->assertEquals(trim($this->byId("dossier_libelle")->text()), "AT 013055 12 00001P0");
385     $this->assertEquals($this->byId("code_barres")->value(), "12".str_pad($consultationAvecAvisAttendu, 10, "0", STR_PAD_LEFT));
386     //On valide la mise à jour de la date
387     $this->byXPath("//input[@type='submit']")->click();sleep(1);
388     //On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
389     $this->verifyNoErrors();
390     //On vérifie que la saisie s'est correctement enregistrée
391     $this->assertContains("Saisie enregistrée", $this->byCssSelector(".message .text")->text());
392     //On se déconnecte
393     $this->deconnect();
394     // On se connecte en tant que "instr"
395     $this->login("instr", "instr");
396     //On clique sur le menu "Recherche"
397     $this->byLinkText("Recherche")->click();
398     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
399     $this->verifyNoErrors();
400     //On choisit le dossier AT 013055 13 00001P0
401     $this->byLinkText("AT 013055 12 00001P0")->click();
402     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
403     $this->verifyNoErrors();
404     //On clique sur l'onglet Consultation
405     $this->byId("consultation")->click();
406     //L'assertion précédente est un chargement javascript, on attend 2 secondes
407     sleep(2);
408     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
409     $this->verifyNoErrors();
410     //On clique sur la consultation
411     $this->byLinkText($consultationAvecAvisAttendu)->click();
412     //On vérifie que la date s'est bien mise à jour
413     $this->assertEquals(date("d/m/Y",strtotime("+1 day")), $this->byId("date_reception")->text());
414 fmichon 1817 // On se déconnecte
415     $this->logout();
416     }
417 vpihour 2603
418     /**
419     * Ajoute une consultation
420     * @param $serviceId L'identifiant du service à consulter
421     * @param $serviceLibelle Le libellé du service à consulter
422     * @return L'identifiant de la consultation ajoutée
423     */
424     public function addConsultation($service, $serviceLibelle){
425    
426     // On clique sur le lien "+" dans le tableau
427     $this->byClassName("add-16")->click();
428     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
429     $this->verifyNoErrors();
430     //On choisit un service dont le type d'avis est "avec avis attendu" (13)
431     $this->select($this->byId("service"))->selectOptionByValue($service);
432     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
433     $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
434     //On vérifie que la consultation s'est bien ajoutée
435     $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
436     //On clique sur retour
437     $this->byCssSelector("#sousform-consultation .retour")->click();
438     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
439     $this->verifyNoErrors();
440     //On clique sur la nouvelle consultation
441     $this->byLinkText($serviceLibelle)->click();
442     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
443     $this->verifyNoErrors();
444     //On récupère le numéro de la consultation
445     $consultation = trim($this->byCssSelector("#sousform-consultation #consultation")->text());
446     //On clique sur retour
447     $this->byCssSelector("#sousform-consultation .retour")->click();
448     //On retourne le numéro de la consultation
449     return $consultation;
450 softime 2804 }
451    
452     /**
453     * Teste les bordereaux d'envoi
454     */
455     public function test_04_bordereaux() {
456    
457     // On change l'autorité compétente du dossier pour que le test
458     // fonctionne
459     // On se connecte en tant que "instr"
460     $this->login("instr", "instr");
461     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
462     $this->verifyNoErrors();
463     // On clique sur le lien "Mes encours" dans le menu
464     $this->byLinkText("Recherche")->click();
465     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
466     $this->verifyNoErrors();
467     sleep(1);
468     // On recherche le dossier crée
469     $this->byId("dossier")->value("PC0130551200001P0");
470     // On clique sur le bouton recherche
471     $this->byId("adv-search-submit")->click();
472     // On clique sur le résultat
473     $this->byLinkText("PC 013055 12 00001P0")->click();
474     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
475     $this->verifyNoErrors();
476     // On clique sur l'onglet "Instruction"
477     $this->byId("instruction")->click();
478     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
479     $this->verifyNoErrors();
480     // On clique sur le lien d'ajout dans le tableau
481     $this->byCssSelector(".actions-max-1 a")->click();
482     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
483     $this->verifyNoErrors();
484     //On choisi l'événement "Changer l'autorité compétente 'commune état' [autorite]"
485     $this->select($this->byId("evenement"))->selectOptionByValue("94");
486     //On valide le formulaire
487     $this->byXPath("//input[@value='Ajouter']")->click();
488     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
489     $this->verifyNoErrors();
490     sleep(1);
491     // On vérifie le message de validation
492     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
493     // On se déconnecte
494     $this->deconnect();
495    
496     // On se connecte en tant que "suivi"
497     $this->login("suivi", "suivi");
498     // On clique sur le menu "Bordereaux"
499     $this->byLinkText("Bordereaux")->click();
500     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
501     $this->verifyNoErrors();
502     // On vérifie le fil d'Ariane
503     $this->assertContains("Suivi > Suivi Des Pièces > Bordereaux",
504     $this->byCssSelector("#content")->text());
505     // On clique sur le bouton valider
506     $this->byXPath("//input[@value='Valider']")->click();
507     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
508     $this->verifyNoErrors();
509     // On vérifie qu'il y a un message d'erreur
510     $this->assertEquals("Veuillez sélectionner un bordereau.",
511     $this->byCssSelector("span.text")->text());
512     // On sélectionne le bordereau "bordereau_avis_maire_prefet"
513     $this->select($this->byId("bordereau"))->selectOptionByValue(
514     "bordereau_avis_maire_prefet");
515     // On supprime la date de début
516     $this->byId("date_bordereau_debut")->clear();
517     // On clique sur "OK" dans la boite de dialogue qui apparaît
518     $this->acceptAlert();
519     sleep(1);
520     // On supprime la date de fin
521     $this->byId("date_bordereau_fin")->clear();
522     // On clique sur "OK" dans la boite de dialogue qui apparaît
523     $this->acceptAlert();
524     sleep(1);
525     // On clique sur le bouton valider
526     $this->byXPath("//input[@value='Valider']")->click();
527     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
528     $this->verifyNoErrors();
529     // On vérifie le message d'erreur
530     $this->assertEquals("Veuillez saisir une date valide.",
531     $this->byCssSelector("span.text")->text());
532     // Tableau valeurs => libelle des bordereaux
533     $bordereaux = array(
534     "bordereau_avis_maire_prefet" => "Bordereau d'envoi des avis du Maire au Préfet",
535     "bordereau_controle_legalite" => "Bordereau d'envoi des contrôles de légalité",
536     "bordereau_courriers_signature_maire" => "Bordereau d'envoi de courriers signature Maire",
537     "bordereau_decisions" => "Bordereau d'envoi des décisions",
538     );
539     // Pour chaque bordereaux
540     foreach ($bordereaux as $key => $bordereau) {
541     // Le dossier à tester
542     $dossier = "PC 013055 12 00002P0";
543     // Initialise les dates de début et de fin
544     $date_debut = date("d/m/Y", strtotime("- 1 year"));
545     $date_fin = date("d/m/Y", strtotime("+ 1 year"));
546     // Si le "Bordereau d'envoi des avis du Maire au Préfet" est testé
547     if ($key == "bordereau_avis_maire_prefet") {
548     // On teste sur le dossier "PC 013055 12 00001P0"
549     $dossier = "PC 013055 12 00001P0";
550     }
551     // On remplis les dates de début et de fin
552     $this->byId("date_bordereau_debut")->value($date_debut);
553     $this->byId("date_bordereau_fin")->value($date_fin);
554     // On sélectionne le bordereau
555     $this->select($this->byId("bordereau"))->selectOptionByValue(
556     $key);
557     // On valide le formulaire
558     $this->byXPath("//input[@value='Valider']")->click();
559     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
560     $this->verifyNoErrors();
561     // On vérifie le message de validation
562     $this->assertContains(
563     "Cliquez sur le lien ci-dessous pour télécharger votre bordereau :\n\n".$bordereau." du ".$date_debut." au ".$date_fin,
564     $this->byCssSelector("span.text")->text());
565     //
566     $this->byLinkText($bordereau." du ".$date_debut." au ".$date_fin)->click();
567     sleep(5);
568     // Liste les fenêtres
569     $windows = $this->windowHandles();
570     // Change la fenêtre
571     $this->window($windows[1]);
572     // On vérifie qu'il n'y ait pas d'erreur
573     $this->verifynoerrors();
574     // On vérifie que le texte est présent
575     $this->assertContains("Edition du ".date("d/m/Y"), $this->source());
576     $this->assertContains("Résultat du ".$date_debut." au ".$date_fin,
577     $this->source());
578     $this->assertContains($dossier, $this->source());
579     // On ferme la fenêtre
580     $this->closeWindow();
581     // On change le focus de la fenêtre
582     $this->window($windows[0]);
583     }
584    
585     //
586     $this->logout();
587     }
588 fmichon 1673 }
589    
590     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26