/[openfoncier]/branches/3.14.x/tests/testArchitecteFrequent.php
ViewVC logotype

Contents of /branches/3.14.x/tests/testArchitecteFrequent.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3538 - (show annotations)
Mon Jul 6 14:53:08 2015 UTC (9 years, 7 months ago) by nhaye
File size: 16444 byte(s)
Correction des tests suite à la modification des droits sur instructeur

1 <?php
2 /**
3 * Classe de test des architectes.
4 *
5 * @package openads
6 * @version SVN : $Id: testArchitecteFrequent.php
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Test de l'ajout et de l'utilisation dans les formulaires des architectes fréquents
14 * Données utilisées :
15 * - le dossier d'instruction n° PC0130551200002P0 ;
16 * - le dossier d'instruction n° AZ0130551200001P0 ;
17 * - l'architecte nommé Paul Mercier et
18 * - l'architecte nommé Jean Mercier.
19 */
20 class ArchitecteFrequent extends Base2TestCase {
21
22 /**
23 * Test de l'ajout d'un architecte fréquent par l'administrateur technique.
24 */
25 function testAjoutArchitecteFrequent(){
26
27 // On se connecte en tant que "instr"
28 $this->login("admin", "admin");
29 //On clique sur le menu iinstruction
30 $this->byLinkText("Instruction")->click();
31 //On clique sur le menu des architectes fréquents
32 $this->byLinkText("Architecte Fréquent")->click();
33 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
34 $this->verifyNoErrors();
35 //On vérifie qu'on est sur le bon tableau
36 $this->assertEquals("Architecte Fréquent", $this->byXPath("//a[@href=\"#tabs-1\"]")->text());
37 //On clique sur le "+" du tableau d'architectes fréquents
38 $this->byCssSelector(".add-16")->click();
39 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
40 $this->verifyNoErrors();
41 //On essaye de valider le formulaire sans remplir de champ
42 $this->byXPath("//input[@value='Ajouter']")->click();
43 //On vérifie qu'il y a un message d'erreur
44 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector(".message .text")->text());
45 //On remplit les champs
46 $this->byCssSelector("#nom")->value("Lefebvre");
47 $this->byCssSelector("#prenom")->value("James");
48 $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
49 $this->byCssSelector("#cp")->value("13010");
50 $this->byCssSelector("#ville")->value("Marseille");
51 $this->byCssSelector("#inscription")->value("0491855565");
52 $this->byCssSelector("#telephone")->value("0491236589");
53 $this->byCssSelector("#fax")->value("0491236585");
54 $this->byCssSelector("#email")->value("[email protected]");
55 //On valide le formulaire
56 $this->byXPath("//input[@value='Ajouter']")->click();
57 //On vérifie le message de validation
58 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
59 //On clique sur le bouton de retour
60 $this->byLinkText("Retour")->click();
61 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
62 $this->verifyNoErrors();
63 //On vérifie que l'architecte fréquent s'est bien ajouté en cliquant dessus
64 $this->byLinkText("James Lefebvre")->click();
65 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
66 $this->verifyNoErrors();
67 // On se déconnecte de l'application
68 $this->logout();
69 }
70
71 /**
72 * Test de l'ajout d'un architecte fréquent aux données techniques par l'instructeur.
73 * - Utilisation de l'architecte fréquent rajouté par l'administrateur
74 */
75 function testAjoutArchitecteFrequentDonneesTechniques(){
76
77 // On se connecte en tant que "instr"
78 $this->login("instr", "instr");
79 //On clique sur le menu "Mes encours"
80 $this->byLinkText("Mes Encours")->click();
81 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
82 $this->verifyNoErrors();
83 //On choisit le dossier n°PC0130551200002P0
84 $this->byLinkText("PC 013055 12 00002P0")->click();
85 //On clique sur "Données techniques dans le portlet d'actions"
86 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
87 //On affiche le formulaire en modification
88 $this->byCssSelector("#action-sousform-donnees_techniques-modifier")->click();
89 //On ouvre les fieldsets Construire puis Projet construction
90 sleep(1);
91 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
92 sleep(1);
93 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
94 sleep(1);
95 //On clique sur "Ajouter un architecte"
96 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
97 sleep(2);
98 //On essaye de valider un formulaire vide
99 $this->byCssSelector("#sousform-architecte .om-button")->click();
100 sleep(2);
101 //On vérifie le message d'erreur
102 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
103 sleep(2);
104 //On écrit le nom d'un architecte qui ne retournera aucun résultat
105 $this->byCssSelector("#sousform-architecte #nom")->value("zzz");
106 sleep(2);
107 //On lance la recherche
108 $this->byCssSelector(".search-frequent-16")->click();
109 sleep(2);
110 //On vérifie le message de l'overlay
111 $this->assertRegExp('/.*Aucune correspondance trouvée.*/', $this->byCssSelector("#dialog")->text());
112 sleep(2);
113 //On clique sur valider
114 $this->byCssSelector(".ui-dialog .ui-dialog-buttonset .ui-button-text-only")->click();
115 sleep(2);
116 //On vide le champ
117 $this->byCssSelector("#sousform-architecte #nom")->clear();
118 sleep(2);
119 //on écrit le nom d'un architecte qui existe existe en plusieurs fois
120 $this->byCssSelector("#sousform-architecte #nom")->value("Mercier");
121 sleep(2);
122 //On lance la recherche
123 $this->byCssSelector(".search-frequent-16")->click();
124 sleep(2);
125 //On vérifie qu'on a deux résultats
126 $this->assertEquals(2, count($this->byCssSelector('#dialog select')->elements($this->using('css selector')->value('option'))));
127 sleep(2);
128 //On clique sur fermer
129 $this->byCssSelector("div.dialog-search-frequent-architecte a.ui-dialog-titlebar-close")->click();
130 sleep(2);
131 //On écrit le nom d'un architecte qui existe qu'une fois
132 $this->byCssSelector("#sousform-architecte #nom")->clear();
133 $this->byCssSelector("#sousform-architecte #nom")->value("Lefebvre");
134 sleep(2);
135 //On lance la recherche
136 $this->byCssSelector(".search-frequent-16")->click();
137 sleep(2);
138 //On vérifie qu'on a qu'un seul résultat
139 $this->assertEquals(1, count($this->byCssSelector('#dialog select')->elements($this->using('css selector')->value('option'))));
140 sleep(2);
141 //On valide
142 $this->byCssSelector("div.dialog-search-frequent-architecte div.ui-dialog-buttonset button")->click();
143 sleep(2);
144 //On vérifie que le prenom de l'architecte choisit est bon
145 $this->assertEquals("James", $this->byCssSelector("#sousform-architecte #prenom")->value());
146 sleep(2);
147 //On clique sur retour
148 $this->byCssSelector("#sousform-architecte a.retour")->click();
149 sleep(3);
150 //On vérifie que l'identifiant de l'architecte choisit est bon
151 $this->assertEquals("Lefebvre James", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
152 sleep(2);
153 //On valide le formulaire de données techniques
154 $this->byXPath("//input[@value='Modifier']")->click();
155 sleep(2);
156 //On vérifie le message de validation
157 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
158 sleep(2);
159 //On clique sur retour
160 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
161 sleep(2);
162 //On clique sur "Données techniques dans le portlet d'actions"
163 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
164 //On ouvre les fieldsets Construire puis Projet construction
165 sleep(2);
166 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
167 sleep(2);
168 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
169 sleep(3);
170 //On verifie que le bon architecte s'est enregistré
171 $this->assertEquals("James Lefebvre", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
172 //On clique sur retour
173 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
174 // On se déconnecte de l'application
175 $this->logout();
176 }
177
178 /**
179 * Test de l'ajout d'un architecte aux données techniques par l'instructeur.
180 */
181 function testAjoutArchitecteDonneesTechniques(){
182
183 // On se connecte en tant que "instr"
184 $this->login("instr", "instr");
185 //On clique sur le menu "Mes encours"
186 $this->byLinkText("Mes Encours")->click();
187 //On choisit le dossier n°AZ0130551200001P0
188 $this->byLinkText("AZ 013055 12 00001P0")->click();
189 //On clique sur "Données techniques dans le portlet d'actions"
190 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
191 //On affiche le formulaire en modification
192 $this->byCssSelector("#action-sousform-donnees_techniques-modifier")->click();
193 //On ouvre les fieldsets Construire puis Projet construction
194 sleep(1);
195 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
196 sleep(1);
197 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
198 sleep(1);
199 //On clique sur "Ajouter un architecte"
200 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
201 //On essaye de valider un formulaire vide
202 $this->byCssSelector("#sousform-architecte .om-button")->click();
203 //On vérifie le message d'erreur
204 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
205 //On remplit les champs
206 $this->byCssSelector("#nom")->value("Montmorrency");
207 $this->byCssSelector("#prenom")->value("Paul Marie Édouard");
208 $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
209 $this->byCssSelector("#cp")->value("13010");
210 $this->byCssSelector("#ville")->value("Marseille");
211 $this->byCssSelector("#inscription")->value("0491855565");
212 $this->byCssSelector("#telephone")->value("0491236589");
213 $this->byCssSelector("#fax")->value("0491236585");
214 $this->byCssSelector("#email")->value("[email protected]");
215 //On valide le formulaire de l'architecte
216 $this->byCssSelector("#sousform-architecte .om-button")->click();
217 sleep(1);
218 //On vérifie le message de validation
219 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
220 //On clique sur retour²
221 $this->byCssSelector("#sousform-architecte a.retour")->click();
222 //On vérifie que l'identifiant de l'architecte choisit est remplit
223 $this->assertEquals("Montmorrency Paul Marie Édouard", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
224 //On valide le formulaire de données techniques
225 $this->byXPath("//input[@value='Modifier']")->click();
226 //On vérifie le message de validation
227 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
228 //On clique sur retour
229 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
230 //On clique sur "Données techniques dans le portlet d'actions"
231 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
232 //On ouvre les fieldsets Construire puis Projet construction
233 sleep(1);
234 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
235 sleep(1);
236 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
237 sleep(1);
238 //On verifie que le bon architecte s'est enregistré
239 $this->assertEquals("Paul Marie Édouard Montmorrency", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
240 //On clique sur retour
241 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
242 // On se déconnecte de l'application
243 $this->logout();
244 }
245
246 /**
247 * Test de l'ajout d'un architecte fréquent par l'administrateur technique.
248 */
249 function testMarquerArchitecteFrequentNonFrequent(){
250
251 // On se connecte en tant que "instr"
252 $this->login("admin", "admin");
253 //On clique sur le menu iinstruction
254 $this->byLinkText("Instruction")->click();
255 //On clique sur le menu des architectes fréquents
256 $this->byLinkText("Architecte Fréquent")->click();
257 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258 $this->verifyNoErrors();
259 //On vérifie qu'on est sur le bon tableau
260 $this->assertEquals("Architecte Fréquent", $this->byXPath("//a[@href=\"#tabs-1\"]")->text());
261 //On clique sur le "+" du tableau d'architectes fréquents
262 $this->byCssSelector(".add-16")->click();
263 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
264 $this->verifyNoErrors();
265 //On essaye de valider le formulaire sans remplir de champ
266 $this->byXPath("//input[@value='Ajouter']")->click();
267 //On vérifie qu'il y a un message d'erreur
268 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector(".message .text")->text());
269 //On remplit les champs
270 $this->byCssSelector("#nom")->value("Paul");
271 $this->byCssSelector("#prenom")->value("James");
272 $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
273 $this->byCssSelector("#cp")->value("13010");
274 $this->byCssSelector("#ville")->value("Marseille");
275 $this->byCssSelector("#inscription")->value("0491855565");
276 $this->byCssSelector("#telephone")->value("0491236589");
277 $this->byCssSelector("#fax")->value("0491236585");
278 $this->byCssSelector("#email")->value("[email protected]");
279 //On valide le formulaire
280 $this->byXPath("//input[@value='Ajouter']")->click();
281 //On vérifie le message de validation
282 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
283 //On clique sur le bouton de retour
284 $this->byLinkText("Retour")->click();
285 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286 $this->verifyNoErrors();
287 //On vérifie que l'architecte fréquent s'est bien ajouté en cliquant dessus
288 $this->byLinkText("James Paul")->click();
289 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
290 $this->verifyNoErrors();
291 // On marque l'architecte comme non fréquent
292 $this->byId("action-form-architecte_frequent-frequent")->click();
293 //On vérifie le message
294 $this->assertRegExp("/^[\s\S]*Mise à jour effectuée avec succès[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
295 // On clique sur le bouton "Retour"
296 $this->byLinkText("Retour")->click();
297 // On vérifie qu'il n'y ait pas d'erreur
298 $this->verifynoerrors();
299 // On vérifie que le text est présent
300 $this->assertRegExp("/^[\s\S]*Architecte Fréquent[\s\S]*$/",$this->byId("formulaire")->text());
301 $this->assertNotContains('James Paul', $this->source());
302 // On se déconnecte
303 $this->logout();
304 }
305 }
306
307 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26