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

Contents of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4467 - (show annotations)
Fri Jun 10 06:00:40 2016 UTC (8 years, 7 months ago) by fmichon
File size: 13142 byte(s)
* Tests : Réécriture d'un TestCase PHPUnitSelenium concernant la rubrique Suivi en RobotFramework.

1 <?php
2 /**
3 *
4 *
5 * @package openfoncier
6 * @version SVN : $Id: testSuivi.php 5857 2016-02-03 11:48:28Z nmeucci $
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 *
14 */
15 class Suivi extends Base2TestCase {
16
17 /**
18 * Fonction lancée en debut de chaque test
19 */
20 public function setUp() {
21 parent::setUp();
22 echo ' = '.get_class().'.'.str_replace('test_', '', $this->getName())."\r\n";
23 }
24
25 public function onNotSuccessfulTest(Exception $e){
26 echo 'Line '.$e->getLine().' : '.$e->getMessage()."\r\n";
27 parent::onNotSuccessfulTest($e);
28 }
29
30 public function test_02_mise_a_jour_des_dates_simple_par_la_cellule_suivi() {
31 // On se connecte en tant que "admin"
32 $this->login("admin", "admin");
33 // On clique sur le menu Instruction
34 $this->byLinkText("Instruction")->click();
35 // On clique sur le menu Recherche
36 $this->byLinkText("Recherche")->click();
37 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
38 $this->verifyNoErrors();
39 // On clique sur le dossier PC 013055 12 00002P
40 $this->byLinkText("PC 013055 12 00002P0")->click();
41 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
42 $this->verifyNoErrors();
43 // liste des instructions
44 $this->byId("instruction")->click();
45 // On clique sur le + pour ajouter une instruction
46 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
47 // On choisit un signataire Albert Dupont
48 $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
49 // On choisi l'événement "adjoint [majoration]"
50 $this->select($this->byId("evenement"))->selectOptionByValue("81");
51 // On clique sur le bouton ajouter
52 $this->byXPath("//input[@value='Ajouter']")->click();
53 // On vérifie que l'instruction s'est bien ajouté
54 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
55 // On clique sur le bouton retour
56 $this->byCssSelector("#sousform-instruction form a.retour")->click();
57 // On clique sur l'instruction nouvellement créée
58 $this->byLinkText("accepter un dossier sans réserve")->click();
59 $idInstr = $this->byCssSelector("div.form-content > #instruction")->text();
60 // On finalise le document
61 $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(4) a")->click();
62 // On vérifie le message de validation
63 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
64 sleep(1);
65 //On clique sur le bouton retour
66 $this->byLinkText("Retour")->click();
67 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
68 $this->verifyNoErrors();
69 // On clique sur le + pour ajouter une instruction
70 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
71 // On choisit un signataire Albert Dupont
72 $this->select($this->byId("signataire_arrete"))->selectOptionByValue("1");
73 // On choisi l'événement "adjoint [majoration]"
74 $this->select($this->byId("evenement"))->selectOptionByValue("29");
75 // On clique sur le bouton ajouter
76 $this->byXPath("//input[@value='Ajouter']")->click();
77 // On vérifie que l'instruction s'est bien ajouté
78 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
79 // On clique sur le bouton retour
80 $this->byCssSelector("#sousform-instruction form a.retour")->click();
81 // On clique sur l'instruction nouvellement créée
82 $this->byLinkText("retrait apres decision")->click();
83 $idInstr2 = $this->byCssSelector("div.form-content > #instruction")->text();
84 // On finalise le document
85 $this->byCssSelector("#sousform-instruction .portlet-list li:nth-child(4) a")->click();
86 // On vérifie le message de validation
87 $this->assertEquals('La finalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-instruction .message .text")->text());
88 //On se déconnecte de l'application
89 $this->deconnect();
90
91 // On se connecte en tant qu'admin
92 $this->login("admin", "admin");
93 // On clique sur le menu Instruction
94 $this->byLinkText("Instruction")->click();
95 // On clique sur le menu Recherche
96 $this->byLinkText("Recherche")->click();
97 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
98 $this->verifyNoErrors();
99 // On clique sur le dossier PC 013055 12 00002P
100 $this->byLinkText("PC 013055 12 00002P0")->click();
101 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
102 $this->verifyNoErrors();
103 // liste des instructions
104 $this->byId("instruction")->click();
105 // On clique sur l'instruction nouvellement créée
106 $this->byLinkText("accepter un dossier sans réserve")->click();
107 $idInstr = $this->byCssSelector("div.form-content > #instruction")->text();
108
109 //On clique sur le bouton retour
110 $this->byLinkText("Retour")->click();
111 sleep(1);
112 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
113 $this->verifyNoErrors();
114 // On clique sur l'instruction nouvellement créée
115 $this->byLinkText("retrait apres decision")->click();
116 $idInstr2 = $this->byCssSelector("div.form-content > #instruction")->text();
117 $this->deconnect();
118
119 // On se connecte en tant que "suivi"
120 $this->login("suivi", "suivi");
121 // On clique sur le lien "Mise à jour des dates" dans le menu
122 $this->byLinkText("Mise À Jour Des Dates")->click();
123 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
124 $this->verifyNoErrors();
125 //
126 $dates = array(
127 0 => array(
128 "id" => "date_envoi_signature",
129 "label" => "date d'envoi pour signature Mairie/Préfet",
130 "date" => date("d/m/Y", strtotime("- 6 day")),
131 ),
132 1 => array(
133 "id" => "date_retour_signature",
134 "label" => "date de retour de signature Mairie/Préfet",
135 "date" => date("d/m/Y", strtotime("- 4 day")),
136 ),
137 2 => array(
138 "id" => "date_envoi_controle_legalite",
139 "label" => "date d'envoi au contrôle de légalite",
140 "date" => date("d/m/Y", strtotime("- 4 day")),
141 ),
142 3 => array(
143 "id" => "date_retour_controle_legalite",
144 "label" => "date de retour de controle de légalite",
145 "date" => date("d/m/Y"),
146 ),
147 );
148 foreach($dates as $date) {
149 // On vérifie que le titre de la page est correct
150 $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
151 $this->byCssSelector("#content")->text());
152 // On saisi les informations de mise à jour de la date
153 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue(
154 $date["id"]);
155 $this->byId("date")->clear();
156 $this->byId("date")->value($date["date"]);
157 $this->byId("code_barres")->value("1100000000".$idInstr);
158 // On clique sur le bouton "Valider"
159 $this->byName("validation")->click();
160 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
161 $this->verifyNoErrors();
162 // On vérifie que le les informations du dossier sont bien présentes
163 $this->assertEquals("PC 013055 12 00002P0",
164 $this->byId("dossier_libelle")->text());
165 $this->assertEquals($date["date"],
166 $this->byCssSelector("#".$date["id"])->text());
167 // On clique sur le bouton "Valider"
168 $this->byName("validation")->click();
169 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
170 $this->verifyNoErrors();
171 // On vérifie que le message de validation est présent
172 $this->assertEquals("Saisie enregistrée",
173 $this->byCssSelector("span.text")->text());
174
175 }
176 foreach($dates as $date) {
177 // On vérifie que le titre de la page est correct
178 $this->assertContains("Suivi > Suivi Des Pièces > Mise À Jour Des Dates",
179 $this->byCssSelector("#content")->text());
180 // On saisi les informations de mise à jour de la date
181 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue(
182 $date["id"]);
183 $this->byId("date")->clear();
184 $this->byId("date")->value($date["date"]);
185 $this->byId("code_barres")->value("1100000000".$idInstr2);
186 // On clique sur le bouton "Valider"
187 $this->byName("validation")->click();
188 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
189 $this->verifyNoErrors();
190 // On vérifie que le les informations du dossier sont bien présentes
191 $this->assertEquals("PC 013055 12 00002P0",
192 $this->byId("dossier_libelle")->text());
193 $this->assertEquals($date["date"],
194 $this->byCssSelector("#".$date["id"])->text());
195 // On clique sur le bouton "Valider"
196 $this->byName("validation")->click();
197 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
198 $this->verifyNoErrors();
199 // On vérifie que le message de validation est présent
200 $this->assertEquals("Saisie enregistrée",
201 $this->byCssSelector("span.text")->text());
202
203 }
204 // On se déconnecte
205 $this->deconnect();
206
207 // On se connecte en tant que "instr"
208 $this->login("instr", "instr");
209 // On saisit le numéro de dossier "PC0130551200002P0" dans le champ de
210 // recherche du widget "accès direct" du tableau de bord qui possède le focus
211 $this->byId("dossier")->value("PC0130551200002P0");
212 // On clique sur le bouton "Rechercher" du widget "accès direct" du
213 // tableau de bord
214 $this->byName("validation")->click();
215 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
216 $this->verifyNoErrors();
217 // On vérifie que le titre de la page est correct
218 // (que nous sommes sur le bon dossier)
219 $this->assertContains("Instruction > Dossiers D'instruction > PC 013055 12 00002P0",
220 $this->byCssSelector("#content")->text());
221 // On clique sur l'onglet "Instruction"
222 $this->byId("instruction")->click();
223 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
224 $this->verifyNoErrors();
225 // On clique sur le lien de l'événement d'instruction n°11
226 $this->byLinkText("arrete")->click();
227 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228 $this->verifyNoErrors();
229 // On vérifie que le sous-titre est correct (que nous sommes sur le bon
230 // événement d'instruction)
231 $this->assertEquals($idInstr,
232 $this->byCssSelector("div.form-content > #instruction")->text());
233 // On boucle sur chaque date pour vérifier que ces dernières sont bien
234 // présentes sur l'écran de visualisation de l'événement d'instruction
235 foreach($dates as $date) {
236 //
237 $this->assertEquals($date["date"],
238 $this->byId($date["id"])->text());
239 }
240 // On clique sur le bouton retour
241 $this->byCssSelector("#sformulaire a.retour")->click();
242 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
243 $this->verifyNoErrors();
244 // On clique sur le lien de l'événement d'instruction n°11
245 $this->byLinkText("retrait apres decision")->click();
246 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
247 $this->verifyNoErrors();
248 // On vérifie que le sous-titre est correct (que nous sommes sur le bon
249 // événement d'instruction)
250 $this->assertEquals($idInstr2,
251 $this->byCssSelector("div.form-content > #instruction")->text());
252 // On boucle sur chaque date pour vérifier que ces dernières sont bien
253 // présentes sur l'écran de visualisation de l'événement d'instruction
254 foreach($dates as $date) {
255 //
256 $this->assertEquals($date["date"],
257 $this->byId($date["id"])->text());
258 }
259 //On clique sur le bouton retour
260 $this->byLinkText("Retour")->click();
261 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
262 $this->verifyNoErrors();
263
264 }
265
266 }
267
268 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26