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

Annotation of /trunk/tests/testSuivi.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4467 - (hide 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 mbroquet 3730 <?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 nmeucci 4210 public function test_02_mise_a_jour_des_dates_simple_par_la_cellule_suivi() {
31     // On se connecte en tant que "admin"
32 mbroquet 3730 $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 nmeucci 4210 // 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 mbroquet 3730 // 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 nmeucci 4210 // 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 mbroquet 3730
91 jymadier 4221 // On se connecte en tant qu'admin
92     $this->login("admin", "admin");
93 nmeucci 4210 // 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 mbroquet 3730 //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