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

Annotation of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1817 - (hide annotations)
Thu May 2 15:08:36 2013 UTC (11 years, 9 months ago) by fmichon
File size: 9031 byte(s)
Ajout d'un test sur les mise à jour des dates par la cellule 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     class Suivi extends BaseTestCase {
16    
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     $this->clickAndWait("link=Mise à jour des dates");
31 fmichon 1681 $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
32 fmichon 1719 $this->verifyNoErrors();
33 fmichon 1673 //
34     $this->clickAndWait("link=gestion");
35     $this->verifyTextPresent("suivi > commissions > gestion");
36 fmichon 1719 $this->verifyNoErrors();
37 fmichon 1673 //
38     $this->clickAndWait("link=demandes");
39     $this->verifyTextPresent("suivi > commissions > demandes");
40 fmichon 1719 $this->verifyNoErrors();
41 fmichon 1690
42 fmichon 1673 //
43     $this->logout();
44     }
45 nhaye 1695
46     /**
47     * XXX tous les cas d'utilisation ne sont pas testés
48     * Permet de tester la génération de feuillets pour lettre avec accusé de récéption
49     */
50     public function testEnvoiLettreRAR() {
51     //
52 fmichon 1727 $this->login("suivi", "suivi");
53 nhaye 1695
54     //
55     $this->clickAndWait("link=envoi lettre RAR");
56     $this->verifyTextPresent("suivi > suivi des pièces > envoi lettre RAR");
57 fmichon 1719 $this->verifyNoErrors();
58 fmichon 1710
59 nhaye 1695 // Vérification sans valeur saisie
60     $this->clickAndWait("//input[@value='Valider']");
61 fmichon 1721 $this->verifyNoErrors();
62 nhaye 1695 $this->verifyTextPresent("Tous les champs doivent être remplis.");
63 fmichon 1710
64     // Vérification avec un numéro non valide
65 vpihour 1796 $this->type("id=liste_code_barres_instruction", "a");
66 nhaye 1695 $this->clickAndWait("//input[@value='Valider']");
67 fmichon 1721 $this->verifyNoErrors();
68 vpihour 1796 $this->verifyTextPresent("Le code barres d'instruction a n'est pas valide.");
69 fmichon 1710
70     // Vérification avec un numéro non présent en base
71 vpihour 1796 $this->type("id=liste_code_barres_instruction", "123");
72 fmichon 1710 $this->clickAndWait("//input[@value='Valider']");
73 fmichon 1721 $this->verifyNoErrors();
74 vpihour 1796 $this->verifyTextPresent("Le numéro 123 ne correspond à aucun code barres d'instruction.");
75 fmichon 1710
76 nhaye 1695 // Vérification formulaire valide
77 vpihour 1796 $this->type("id=liste_code_barres_instruction", "110000000001");
78 nhaye 1695 $this->clickAndWait("//input[@value='Valider']");
79 fmichon 1719 $this->verifyNoErrors();
80 fmichon 1710 $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre document :");
81     $this->verifyTextPresent("Télécharger le document pour 1 RAR");
82 nhaye 1695 //
83     $this->logout();
84     }
85 fmichon 1690
86     /**
87     *
88     */
89     public function testBordereaux() {
90 fmichon 1685 //
91 fmichon 1727 $this->login("suivi", "suivi");
92 fmichon 1710
93 fmichon 1690 //
94     $this->clickAndWait("link=Bordereaux");
95 fmichon 1721 $this->verifyNoErrors();
96 fmichon 1690 $this->verifyTextPresent("suivi > suivi des pièces > bordereaux");
97 fmichon 1710
98 fmichon 1690 //
99     $this->clickAndWait("//input[@value='Valider']");
100 fmichon 1719 $this->verifyNoErrors();
101 fmichon 1690 $this->verifyTextPresent("Veuillez sélectionner un bordereau.");
102    
103     //
104     $this->select("id=bordereau", "label=Bordereau d'envoi des avis du Maire au Préfet");
105     $this->click("id=date_bordereau");
106     $this->type("id=date_bordereau", "");
107     $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());
108     $this->clickAndWait("//input[@value='Valider']");
109 fmichon 1719 $this->verifyNoErrors();
110 fmichon 1690 $this->verifyTextPresent("Veuillez saisir une date valide.");
111 fmichon 1710
112 fmichon 1690 //
113     $bordereaux = array(
114     "Bordereau d'envoi des avis du Maire au Préfet",
115     "Bordereau d'envoi des contrôles de légalité",
116     "Bordereau d'envoi de courriers signature Maire",
117     "Bordereau d'envoi des décisions",
118     );
119     foreach ($bordereaux as $bordereau) {
120     //
121     $this->select("id=bordereau", "label=".$bordereau."");
122     $this->clickAndWait("//input[@value='Valider']");
123     $this->verifyTextPresent("Cliquez sur le lien ci-dessous pour télécharger votre bordereau : \n\n".$bordereau." au ".date("d/m/Y"));
124     //
125     $this->click("link=".$bordereau." au ".date("d/m/Y"));
126     $this->waitForPopUp("", "30000");
127     $this->selectPopUp();
128     sleep(5);
129 fmichon 1719 $this->verifyNoErrors();
130 fmichon 1690 $this->verifyTextPresent("Edition du ".date("d/m/Y"));
131     $this->close();
132     $this->selectWindow();
133     }
134 fmichon 1710
135 fmichon 1690 //
136 fmichon 1685 $this->logout();
137     }
138    
139 fmichon 1817 public function test_20_mise_a_jour_des_dates_par_la_cellule_suivi() {
140     // On se connecte en tant que "suivi"
141     $this->login("suivi", "suivi");
142     // On clique sur le lien "Mise à jour des dates" dans le menu
143     $this->clickAndWait("link=Mise à jour des dates");
144     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145     $this->verifyNoErrors();
146     //
147     $dates = array(
148     //
149     0 => array(
150     "id" => "date_envoi_signature",
151     "label" => "date d'envoi pour signature Mairie/Préfet",
152     "date" => "10/04/2013",
153     ),
154     1 => array(
155     "id" => "date_retour_signature",
156     "label" => "date de retour de signature Mairie/Préfet",
157     "date" => "12/04/2013",
158     ),
159     );
160     //
161     foreach($dates as $date) {
162     // On vérifie que le titre de la page est correct
163     $this->verifyTextPresent("suivi > suivi des pièces > mise à jour des dates");
164     // On saisi les informations de mise à jour de la date
165     $this->select("id=type_mise_a_jour", "label=".$date["label"]."");
166     $this->type("id=date", $date["date"]);
167     $this->type("id=code_barres", "110000000009");
168     // On clique sur le bouton "Valider"
169     $this->clickAndWait("name=validation");
170     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
171     $this->verifyNoErrors();
172     // On vérifie que le les informations du dossier sont bien présentes
173     $this->verifyText("id=dossier", "AZ0130551200001P0");
174     $this->verifyText("id=".$date["id"]."", $date["date"]);
175     // On clique sur le bouton "Valider"
176     $this->clickAndWait("name=validation");
177     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
178     $this->verifyNoErrors();
179     // On vérifie que le message de validation est présent
180     $this->verifyTextPresent("Saisie enregistrée");
181     }
182     // On clique sur le logo pour revenir au tableau de bord
183     $this->click("css=span.logo");
184     // On se déconnecte
185     $this->logout();
186    
187     // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement
188     $this->setSpeed('120');
189     // On se connecte en tant que "instr"
190     $this->login("instr", "instr");
191     // On saisit le numéro de dossier "AZ0130551200001P0" dans le champ de recherche du widget "accès direct" du tableau de bord qui possède le focus
192     $this->type("id=dossier", "AZ0130551200001P0");
193     // On clique sur le bouton "Rechercher" du widget "accès direct" du tableau de bord
194     $this->clickAndWait("name=validation");
195     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
196     $this->verifyNoErrors();
197     // On vérifie que le titre de la page est correct (que nous sommes sur le bon dossier)
198     $this->verifyTextPresent("Instruction > dossiers d'instruction > AZ0130551200001P0");
199     // On clique sur l'onglet "Instruction"
200     $this->click("id=instruction");
201     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
202     $this->verifyNoErrors();
203     // On clique sur le lien de l'événement d'instruction n°9
204     $this->click("link=arrete");
205     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
206     $this->verifyNoErrors();
207     // On vérifie que le sous-titre est correct (que nous sommes sur le bon événement d'instruction)
208     $this->verifyTextPresent("Instruction 9");
209     //
210     $this->verifyText("id=date_envoi_signature", "10/04/2013");
211     $this->verifyText("id=date_retour_signature", "12/04/2013");
212     // On clique sur le bouton retour
213     $this->click("css=#sformulaire > a.retour");
214     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
215     $this->verifyNoErrors();
216     // On clique sur le logo pour revenir au tableau de bord
217     $this->click("css=span.logo");
218     // On se déconnecte
219     $this->logout();
220     }
221    
222 fmichon 1673 }
223    
224     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26