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

Annotation of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2120 - (hide annotations)
Thu Aug 1 14:26:30 2013 UTC (11 years, 6 months ago) by softime
File size: 17731 byte(s)
- Tous les nouveaux profil on été ajoutés : QUALIFICATEUR, DIVISIONNAIRE, CHEF DE SERVICE, SERVICE 
  CONSULTÉ INTERNE, VISUALISATION DA et DI, et VISUALISATION DA.

- Modification des droits d'accès et d'actions des profils : INSTRUCTEUR, CELLULE SUIVI, SERVICE CONSULTÉ,
  GUICHET UNIQUE.

- Création de /sql/pgsql/dossier_autorisation_avis.inc.php pour l'affichage des DA pour le profil SERVICE CONSULTE

- Création de /sql/pgsql/dossier_autorisation_qualifier.inc.php pour l'affichage des DA pour le profil QUALIFICATEUR

- Création du widget app/widget_infos_profil.php générique à tous les profil

- Création du widget app/widget_redirection.php pour rediriger le Tableau de bord

- Traductions

1 fmichon 1735 <?php
2     /**
3     *
4     *
5     * @package openfoncier
6     * @version SVN : $Id$
7     */
8    
9     //
10     require_once "base.php";
11    
12     /**
13     *
14     */
15 vpihour 2077 class Consultations extends Base2TestCase {
16 fmichon 1735
17     public function test_01_ajout_consultation_simple_par_l_instructeur() {
18 vpihour 2077
19 fmichon 1735 // On se connecte en tant que "instr"
20     $this->login("instr", "instr");
21     // On clique sur le lien "Mes encours" dans le menu
22 vpihour 2077 $this->byLinkText("Mes Encours")->click();
23 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
24     $this->verifyNoErrors();
25     // On clique sur le lien "AZ0130551200001P0" dans le tableau
26 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
27 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
28     $this->verifyNoErrors();
29     // On clique sur l'onglet "Consultation(s)"
30 vpihour 2077 $this->byId("consultation")->click();
31 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
32     $this->verifyNoErrors();
33     // On clique sur le lien "Ajouter" dans le tableau
34 vpihour 2077 $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a/span")->click();
35 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
36     $this->verifyNoErrors();
37     // On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi"
38     try {
39 vpihour 2077 $this->assertEquals(date("d/m/Y"), $this->byId("date_envoi")->value());
40 fmichon 1735 } catch (PHPUnit_Framework_AssertionFailedError $e) {
41     array_push($this->verificationErrors, $e->toString());
42     }
43     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
44 vpihour 2077 $this->byXPath("//input[@value='Ajouter']")->click();
45 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
46     $this->verifyNoErrors();
47     // On vérifie que le message d'erreur est présent
48 vpihour 2077 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
49 fmichon 1736 // On sélectionne le service "59.01 Direction de l'Eau et de l'Assainissement"
50 vpihour 2077 $this->select($this->byId("service"))->selectOptionByValue("1");
51 fmichon 1735 // On saisit une date d'envoi vide
52 vpihour 2077 $this->byId("date_envoi")->clear();
53 fmichon 1735 // On valide l'alerte javascript qui nous indique que la date saisie est invalide
54 vpihour 2077 $this->assertEquals("La date saisie n'est pas valide", $this->alertText());
55     $this->acceptAlert();
56 fmichon 1735 // On clique sur le bouton "Ajouter" du formulaire
57 vpihour 2077 $this->byXPath("//input[@value='Ajouter']")->click();
58 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
59     $this->verifyNoErrors();
60     // On vérifie que le message d'erreur est présent
61 vpihour 2077 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
62 fmichon 1735 // On saisit une date d'envoi vide
63 vpihour 2077 $this->byId("date_envoi")->value(date("d/m/Y"));
64 fmichon 1735 // On clique sur le bouton "Ajouter" du formulaire
65 vpihour 2077 $this->byXPath("//input[@value='Ajouter']")->click();
66 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
67 softime 2081 $this->verifyNoErrors();sleep(1);
68     // On vérifie que le message de notification de mail est présent
69     $this->assertRegExp("/.*Envoi d'un mail de notification au service.*/", $this->byCssSelector("#sousform-consultation .message .text")->text());
70     // On vérifie le message de validation
71 vpihour 2077 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
72 fmichon 1735 // On clique sur le bouton retour
73 vpihour 2077 $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
74 fmichon 1735 // On vérifie que nous avons bien 1 consultation affichée
75 vpihour 2077 $this->assertRegExp('/.*1 \- 1 enregistrement\(s\) sur 1*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
76 fmichon 1735 // On se déconnecte
77     $this->logout();
78     }
79 fmichon 1753
80 fmichon 1735 public function test_02_ajout_consultation_multiple_par_l_instructeur() {
81 vpihour 2077
82 fmichon 1735 // On se connecte en tant que "instr"
83     $this->login("instr", "instr");
84 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85     $this->verifyNoErrors();
86 fmichon 1735 // On clique sur le lien "Mes encours" dans le menu
87 vpihour 2077 $this->byLinkText("Mes Encours")->click();
88 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
89     $this->verifyNoErrors();
90     // On clique sur le lien "AZ0130551200001P0" dans le tableau
91 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
92 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
93     $this->verifyNoErrors();
94     // On clique sur l'onglet "Consultation(s)"
95 vpihour 2077 $this->byId("consultation")->click();
96 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
97     $this->verifyNoErrors();
98     // On clique sur le lien "Ajouter multiples" dans le tableau
99 vpihour 2077 $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span")->click();
100 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
101     $this->verifyNoErrors();
102     // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
103 vpihour 2077 $this->byId("button_val")->click();
104 fmichon 1811 // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
105 vpihour 2077 $this->assertEquals("Veuillez choisir au moins un service et une date d envoi", $this->alertText());
106     $this->acceptAlert();
107 fmichon 1735 // On sélectionne quatre services
108 vpihour 2077 $this->byId("t10_572_0_")->click();
109     $this->byId("t10_575_0_")->click();
110     $this->byId("t10_584_0_")->click();
111     $this->byId("t10_542_0_")->click();
112 fmichon 1735 // On les ajoute à la sélection
113 vpihour 2077 $this->byId("add-ser-them")->click();
114 fmichon 1735 // On sélectionne un des services sélectionnés
115 vpihour 2077 $this->byCssSelector("div[name=\"t10_542_0_\"]")->click();
116 fmichon 1735 // On l'enlève de la sélection
117 vpihour 2077 $this->byId("del-ser-them")->click();
118 fmichon 1735 // On coche la case pour la consultation papier pour un des services
119 vpihour 2077 $this->byCssSelector("div.cell2 > div > input.t10_575_0_")->click();
120 fmichon 1735 // On clique sur le bouton "Ajouter" du formulaire
121 vpihour 2077 $this->byId("button_val")->click();
122 fmichon 1735 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123     $this->verifyNoErrors();
124     // On vérifie que le message de validation est présent avec le bon nombre de consultations
125 vpihour 2077 $this->assertRegExp('/.*3 service\(s\) sélectionné\(s\) dont 1 consultation\(s\) papier.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
126 fmichon 1735 // On vérifie que nous avons bien 4 consultations affichées
127 vpihour 2077 $this->assertRegExp('/.*1 - 4 enregistrement\(s\) sur 4*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
128 fmichon 1735 // On se déconnecte
129     $this->logout();
130     }
131 fmichon 1753
132 fmichon 1736 public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
133 vpihour 2077
134 fmichon 1736 // On se connecte en tant que "instr"
135     $this->login("consu", "consu");
136 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137     $this->verifyNoErrors();
138 fmichon 1736 // On clique sur le lien "AZ0130551200001P0" dans le tableau
139 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
140 fmichon 1736 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
141     $this->verifyNoErrors();
142 fmichon 1811 // On clique sur le lien "Saisir un avis" dans le portlet
143 vpihour 2077 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
144 fmichon 1736 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145     $this->verifyNoErrors();
146 fmichon 1811 // On vérifie que le sous-titre de l'élément affiché est correct
147 vpihour 2077 $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());
148 fmichon 1811 // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis
149 vpihour 2077 $this->byXPath("//input[@value='Modifier']")->click();
150     sleep(1);
151 fmichon 1736 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
152     $this->verifyNoErrors();
153     // Retour à la liste des demandes
154 vpihour 2077 $this->byCssSelector("#sformulaire a.retour")->click();
155 fmichon 1736 // Accès au dossier en visualisation
156 softime 2112 $this->byLinkText("AZ 013055 12 00001P0")->click();
157 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
158 fmichon 1736 $this->verifyNoErrors();
159     // Accès à l'onglet des consultations
160 vpihour 2077 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
161     $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());
162 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
163 fmichon 1736 $this->verifyNoErrors();
164     // Saisie de valeurs
165 vpihour 2077 $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Defavorable");
166     $this->byId("motivation")->value("Pas motivé");
167 fmichon 1736 // Upload de fichier
168 vpihour 2077 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
169 fmichon 1736 // Validation sans saisie de fichier
170 vpihour 2077 $this->byName("submit")->click();
171 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
172 fmichon 1736 $this->verifyNoErrors();
173 fmichon 1811 //
174 vpihour 2077 $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
175 fmichon 1736 // Saisie de fichier
176 vpihour 2077 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
177     $this->byName("submit")->click();
178 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
179 fmichon 1736 $this->verifyNoErrors();
180     // Validation de la modification de la demande d'avis
181 vpihour 2077 $this->byXPath("//input[@value='Modifier']")->click();
182 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
183 fmichon 1736 $this->verifyNoErrors();
184 fmichon 1811 // On vérifie que le message de validation est présent
185 vpihour 2077 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sformulaire .message .text")->text());
186 fmichon 1811 // On clique sur le lien retour
187 vpihour 2077 $this->byCssSelector("#sformulaire a.retour")->click();
188 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
189 fmichon 1736 $this->verifyNoErrors();
190     // Vérification que la demande d'avis n'est plus presente
191 vpihour 2077 try {
192 softime 2112 $el = $this->byLinkText("AZ 013055 12 00001P0");
193 vpihour 2077 $this->fail('Cet élément ne devrait pas exister.');
194     } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
195     $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
196     }
197 fmichon 1811 // On se déconnecte
198 fmichon 1736 $this->logout();
199     }
200 fmichon 1753
201    
202 fmichon 1736 public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {
203 vpihour 2077
204 fmichon 1736 // On se connecte en tant que "suivi"
205     $this->login("suivi", "suivi");
206 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
207     $this->verifyNoErrors();
208 fmichon 1736 //
209 vpihour 2077 $this->byLinkText("Retours De Consultation")->click();
210 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211 fmichon 1736 $this->verifyNoErrors();
212 fmichon 1811 // On vérifie que le titre de la page est correct
213 vpihour 2077 $this->assertRegExp('/.*Retours De Consultation.*/', $this->byCssSelector("#title h2")->text());
214 fmichon 1811 // On clique sur le bouton "Valider" sans saisir de code barres
215 vpihour 2077 $this->byXPath("//input[@value='Valider']")->click();
216 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
217 fmichon 1736 $this->verifyNoErrors();
218 fmichon 1811 //
219 vpihour 2077 $this->assertRegExp('/.*Veuiller saisir un code barres de consultation.*/', $this->byCssSelector(".message .text")->text());
220 fmichon 1736 //
221 vpihour 2077 $this->byId("code_barres")->value("aze");
222     $this->byXPath("//input[@value='Valider']")->click();
223 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
224 fmichon 1736 $this->verifyNoErrors();
225 vpihour 2077 $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());
226 fmichon 1736 // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
227 vpihour 2077 $this->byId("code_barres")->value("120000000004");
228     $this->byXPath("//input[@value='Valider']")->click();
229 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
230 fmichon 1736 $this->verifyNoErrors();
231 fmichon 1811 // On vérifie que le titre de la page est correct
232 vpihour 2077 $this->assertEquals("4", $this->byId("consultation")->value());
233 softime 2112 $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->value());
234 vpihour 2077 $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
235     $this->byId("motivation")->value("blablabla");
236 fmichon 1736 // Upload de fichier
237 vpihour 2077 $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
238 fmichon 1736 // Validation sans saisie de fichier
239 vpihour 2077 $this->byName("submit")->click();
240 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
241 fmichon 1736 $this->verifyNoErrors();
242 vpihour 2077 $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
243 fmichon 1736 // Saisie de fichier
244 vpihour 2077 $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
245     $this->byName("submit")->click();
246 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
247 fmichon 1736 $this->verifyNoErrors();
248     // Visualisation du fichier
249 vpihour 2077 $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
250     $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->value());
251 fmichon 1736 //
252 vpihour 2077 $this->byXPath("//input[@value='Modifier']")->click();
253 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
254 fmichon 1736 $this->verifyNoErrors();
255 fmichon 1811 // On vérifie que le message de validation est présent
256 vpihour 2077 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
257 fmichon 1811 // On clique sur le lien retour
258 vpihour 2077 $this->byLinkText("Retour")->click();
259 fmichon 1811 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
260 fmichon 1736 $this->verifyNoErrors();
261 fmichon 1811 // On vérifie que le titre de la page est correct
262 vpihour 2077 $this->assertStringEndsWith('app/suivi_retours_de_consultation.php', $this->url());
263 fmichon 1811 // On se déconnecte
264 fmichon 1736 $this->logout();
265     }
266 fmichon 1738
267     public function test_05_gestion_de_la_consultation_par_l_instructeur() {
268 vpihour 2077
269 fmichon 1738 // On se connecte en tant que "instr"
270     $this->login("instr", "instr");
271     // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
272     $this->verifyNoErrors();
273     // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
274 vpihour 2077 $this->assertEquals("2",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
275 fmichon 1738 // On clique sur le lien "Mes retours" dans le menu
276 vpihour 2077 $this->byLinkText("Mes Retours")->click();
277 fmichon 1738 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
278     $this->verifyNoErrors();
279 fmichon 1811 // On vérifie que le titre de la page est correct
280 vpihour 2077 $this->assertEquals("Consultation_mes_retours", $this->byXPath("//a[@href='#tabs-1']")->text());
281 fmichon 1738 // On vérifie que les deux consultations sont présentes dans le tableau
282 vpihour 2077 $this->assertEquals("1 - 2 enregistrement(s) sur 2", $this->byClassName("pagination-text")->text());
283 fmichon 1745 // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
284 vpihour 2077 $this->byLinkText("59.01 Direction de l'Eau et de l'Assainissement")->click();
285 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286     $this->verifyNoErrors();
287     // On vérifie que le formulaire de la consultation s'est bien ouvert
288 vpihour 2077 $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());
289 fmichon 1745 // On clique sur le lien "Marquer comme lu" dans le portlet
290 vpihour 2077 $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
291 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
292     $this->verifyNoErrors();
293     // On vérifie que le message de validation est présent avec le bon nombre de consultations
294 vpihour 2077 $this->assertRegExp('/.*Mise a jour effectue avec succes.*/', $this->byCssSelector(".message .text")->text());
295 fmichon 1745 // On clique sur le lien retour
296 vpihour 2077 $this->byCssSelector("#sousform-consultation > #sformulaire > div.formControls > a.retour")->click();
297 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
298     $this->verifyNoErrors();
299     // On vérifie que le nombre de consultations est le bon
300 vpihour 2077 $this->assertEquals("1 - 4 enregistrement(s) sur 4", $this->byClassName("pagination-text")->text());
301 fmichon 1745 // On clique sur le lien "Tableau de bord" dans le menu
302 vpihour 2077 $this->byLinkText("Tableau de bord")->click();
303 fmichon 1745 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
304     $this->verifyNoErrors();
305     // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
306 vpihour 2077 $this->assertEquals("1",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
307 fmichon 1738 // On se déconnecte
308     $this->logout();
309     }
310 fmichon 1735 }
311    
312     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26