/[openfoncier]/branches/3.14.0-b13/tests/testArchitecteFrequent.php
ViewVC logotype

Contents of /branches/3.14.0-b13/tests/testArchitecteFrequent.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3311 - (show annotations)
Fri Feb 20 17:27:48 2015 UTC (9 years, 11 months ago) by vpihour
File size: 13109 byte(s)
Branche de la version 3.14.0-b12

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")->text());
146 //On clique sur retour
147 $this->byCssSelector("#sousform-architecte a.retour")->click();
148 sleep(3);
149 //On vérifie que l'identifiant de l'architecte choisit est bon
150 $this->assertEquals("Lefebvre James", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
151 sleep(2);
152 //On valide le formulaire de données techniques
153 $this->byXPath("//input[@value='Modifier']")->click();
154 sleep(2);
155 //On vérifie le message de validation
156 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
157 sleep(2);
158 //On clique sur retour
159 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
160 sleep(2);
161 //On clique sur "Données techniques dans le portlet d'actions"
162 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
163 //On ouvre les fieldsets Construire puis Projet construction
164 sleep(2);
165 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
166 sleep(2);
167 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
168 sleep(3);
169 //On verifie que le bon architecte s'est enregistré
170 $this->assertEquals("James Lefebvre", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
171 //On clique sur retour
172 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
173 // On se déconnecte de l'application
174 $this->logout();
175 }
176
177 /**
178 * Test de l'ajout d'un architecte aux données techniques par l'instructeur.
179 */
180 function testAjoutArchitecteDonneesTechniques(){
181
182 // On se connecte en tant que "instr"
183 $this->login("instr", "instr");
184 //On clique sur le menu "Mes encours"
185 $this->byLinkText("Mes Encours")->click();
186 //On choisit le dossier n°AZ0130551200001P0
187 $this->byLinkText("AZ 013055 12 00001P0")->click();
188 //On clique sur "Données techniques dans le portlet d'actions"
189 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
190 //On affiche le formulaire en modification
191 $this->byCssSelector("#action-sousform-donnees_techniques-modifier")->click();
192 //On ouvre les fieldsets Construire puis Projet construction
193 sleep(1);
194 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
195 sleep(1);
196 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
197 sleep(1);
198 //On clique sur "Ajouter un architecte"
199 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
200 //On essaye de valider un formulaire vide
201 $this->byCssSelector("#sousform-architecte .om-button")->click();
202 //On vérifie le message d'erreur
203 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
204 //On remplit les champs
205 $this->byCssSelector("#nom")->value("Montmorrency");
206 $this->byCssSelector("#prenom")->value("Paul Marie Édouard");
207 $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
208 $this->byCssSelector("#cp")->value("13010");
209 $this->byCssSelector("#ville")->value("Marseille");
210 $this->byCssSelector("#inscription")->value("0491855565");
211 $this->byCssSelector("#telephone")->value("0491236589");
212 $this->byCssSelector("#fax")->value("0491236585");
213 $this->byCssSelector("#email")->value("[email protected]");
214 //On valide le formulaire de l'architecte
215 $this->byCssSelector("#sousform-architecte .om-button")->click();
216 sleep(1);
217 //On vérifie le message de validation
218 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
219 //On clique sur retour²
220 $this->byCssSelector("#sousform-architecte a.retour")->click();
221 //On vérifie que l'identifiant de l'architecte choisit est remplit
222 $this->assertEquals("Montmorrency Paul Marie Édouard", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
223 //On valide le formulaire de données techniques
224 $this->byXPath("//input[@value='Modifier']")->click();
225 //On vérifie le message de validation
226 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
227 //On clique sur retour
228 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
229 //On clique sur "Données techniques dans le portlet d'actions"
230 $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
231 //On ouvre les fieldsets Construire puis Projet construction
232 sleep(1);
233 $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
234 sleep(1);
235 $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
236 sleep(1);
237 //On verifie que le bon architecte s'est enregistré
238 $this->assertEquals("Paul Marie Édouard Montmorrency", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
239 //On clique sur retour
240 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
241 // On se déconnecte de l'application
242 $this->logout();
243 }
244 }
245
246 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26