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

Contents of /trunk/tests/testArchitecteFrequent.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2192 - (show annotations)
Thu Aug 29 17:51:28 2013 UTC (11 years, 5 months ago) by fmichon
File size: 12394 byte(s)
Mise à jour du test des architectes fréquents pour qu'il fonctionne.

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'il n'y a pas d'erreur sur l'élément affiché
36 $this->verifyNoErrors();
37 //On vérifie qu'on est sur le bon tableau
38 $this->assertEquals("Architecte Fréquent", $this->byXPath("//a[@href=\"#tabs-1\"]")->text());
39 //On clique sur le "+" du tableau d'architectes fréquents
40 $this->byCssSelector(".add-16")->click();
41 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
42 $this->verifyNoErrors();
43 //On essaye de valider le formulaire sans remplir de champ
44 $this->byXPath("//input[@value='Ajouter']")->click();
45 //On vérifie qu'il y a un message d'erreur
46 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector(".message .text")->text());
47 //On remplit les champs
48 $this->byCssSelector("#nom")->value("Lefebvre");
49 $this->byCssSelector("#prenom")->value("James");
50 $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
51 $this->byCssSelector("#cp")->value("13010");
52 $this->byCssSelector("#ville")->value("Marseille");
53 $this->byCssSelector("#inscription")->value("0491855565");
54 $this->byCssSelector("#telephone")->value("0491236589");
55 $this->byCssSelector("#fax")->value("0491236585");
56 $this->byCssSelector("#email")->value("[email protected]");
57 //On valide le formulaire
58 $this->byXPath("//input[@value='Ajouter']")->click();
59 //On vérifie le message de validation
60 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
61 //On clique sur le bouton de retour
62 $this->byLinkText("Retour")->click();
63 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
64 $this->verifyNoErrors();
65 //On vérifie que l'architecte fréquent s'est bien ajouté en cliquant dessus
66 $this->byLinkText("James Lefebvre")->click();
67 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
68 $this->verifyNoErrors();
69 // On se déconnecte de l'application
70 $this->logout();
71 }
72
73 /**
74 * Test de l'ajout d'un architecte fréquent aux données techniques par l'instructeur.
75 * - Utilisation de l'architecte fréquent rajouté par l'administrateur
76 */
77 function testAjoutArchitecteFrequentDonneesTechniques(){
78
79 // On se connecte en tant que "instr"
80 $this->login("instr", "instr");
81 //On clique sur le menu "Mes encours"
82 $this->byLinkText("Mes Encours")->click();
83 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
84 $this->verifyNoErrors();
85 //On choisit le dossier n°PC0130551200002P0
86 $this->byLinkText("PC 013055 12 00002P0")->click();
87 //On clique sur "Données techniques dans le portail d'action"
88 $this->byXPath("//span[@title='Données techniques']")->click();
89 //On affiche le formulaire en modification
90 $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
91 //On ouvre les fieldsets Construire puis Projet construction
92 $this->byXPath("//div[5]/div[2]/div[2]/form/div/div/div[7]/fieldset/legend")->click();
93 $this->byXPath("//div[5]/div[2]/div[2]/form/div/div/div[7]/fieldset/div/div/fieldset/legend")->click();
94 //On clique sur "Ajouter un architecte"
95 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
96 //On essaye de valider un formulaire vide
97 $this->byCssSelector("#sousform-architecte .om-button")->click();
98 //On vérifie le message d'erreur
99 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
100 //On écrit le nom d'un architecte qui ne retournera aucun résultat
101 $this->byCssSelector("#sousform-architecte #nom")->value("zzz");
102 //On lance la recherche
103 $this->byCssSelector(".search-frequent-16")->click();
104 //On vérifie le message de l'overlay
105 $this->assertRegExp('/.*Aucune correspondance trouvée.*/', $this->byCssSelector("#dialog")->text());
106 //On clique sur valider
107 $this->byCssSelector(".ui-dialog .ui-dialog-buttonset .ui-button-text-only")->click();
108 //On vide le champ
109 $this->byCssSelector("#sousform-architecte #nom")->clear();
110 //on écrit le nom d'un architecte qui existe existe en plusieurs fois
111 $this->byCssSelector("#sousform-architecte #nom")->value("Mercier");
112 //On lance la recherche
113 $this->byCssSelector(".search-frequent-16")->click();
114 //On vérifie qu'on a deux résultats
115 $this->assertEquals(2, count($this->byCssSelector('#dialog select')->elements($this->using('css selector')->value('option'))));
116 //On clique sur fermer
117 $this->byXPath("//div[10]/div/a/span")->click();
118 //On écrit le nom d'un architecte qui existe qu'une fois
119 $this->byCssSelector("#sousform-architecte #nom")->clear();
120 $this->byCssSelector("#sousform-architecte #nom")->value("Lefebvre");
121 //On lance la recherche
122 $this->byCssSelector(".search-frequent-16")->click();
123 //On vérifie qu'on a qu'un seul résultat
124 $this->assertEquals(1, count($this->byCssSelector('#dialog select')->elements($this->using('css selector')->value('option'))));
125 //On valide
126 $this->byXPath("//div[10]/div[11]/div/button/span")->click();
127 sleep(1);
128 //On vérifie que le prenom de l'architecte choisit est bon
129 $this->assertEquals("James", $this->byCssSelector("#sousform-architecte #prenom")->text());
130 //On clique sur retour
131 $this->byCssSelector("#sousform-architecte a.retour")->click();
132 //On vérifie que l'identifiant de l'architecte choisit est bon
133 $this->assertEquals("Lefebvre James", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
134 //On valide le formulaire de données techniques
135 $this->byXPath("//input[@value='Modifier']")->click();
136 //On vérifie le message de validation
137 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
138 //On clique sur retour
139 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
140 //On clique sur données techniques dans le portail d'action
141 $this->byXPath("//span[@title='Données techniques']")->click();
142 //On ouvre les fieldsets Construire puis Projet construction
143 $this->byXPath("//div[6]/div[2]/div[2]/div/div[2]/div[7]/fieldset/legend")->click();
144 $this->byXPath("//div[6]/div[2]/div[2]/div/div[2]/div[7]/fieldset/div/div/fieldset/legend")->click();
145 //On verifie que le bon architecte s'est enregistré
146 $this->assertEquals("James Lefebvre", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
147 //On clique sur retour
148 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
149 // On se déconnecte de l'application
150 $this->logout();
151 }
152
153 /**
154 * Test de l'ajout d'un architecte aux données techniques par l'instructeur.
155 */
156 function testAjoutArchitecteDonneesTechniques(){
157
158 // On se connecte en tant que "instr"
159 $this->login("instr", "instr");
160 //On clique sur le menu "Mes encours"
161 $this->byLinkText("Mes Encours")->click();
162 //On choisit le dossier n°AZ0130551200001P0
163 $this->byLinkText("AZ 013055 12 00001P0")->click();
164 //On clique sur "Données techniques dans le portail d'action"
165 $this->byXPath("//span[@title='Données techniques']")->click();
166 //On affiche le formulaire en modification
167 $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
168 //On ouvre les fieldsets Construire puis Projet construction
169 $this->byXPath("//div[5]/div[2]/div[2]/form/div/div/div[7]/fieldset/legend")->click();
170 $this->byXPath("//div[5]/div[2]/div[2]/form/div/div/div[7]/fieldset/div/div/fieldset/legend")->click();
171 //On clique sur "Ajouter un architecte"
172 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
173 //On essaye de valider un formulaire vide
174 $this->byCssSelector("#sousform-architecte .om-button")->click();
175 //On vérifie le message d'erreur
176 $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
177 //On remplit les champs
178 $this->byCssSelector("#nom")->value("Montmorrency");
179 $this->byCssSelector("#prenom")->value("Paul Marie Édouard");
180 $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
181 $this->byCssSelector("#cp")->value("13010");
182 $this->byCssSelector("#ville")->value("Marseille");
183 $this->byCssSelector("#inscription")->value("0491855565");
184 $this->byCssSelector("#telephone")->value("0491236589");
185 $this->byCssSelector("#fax")->value("0491236585");
186 $this->byCssSelector("#email")->value("[email protected]");
187 //On valide le formulaire de l'architecte
188 $this->byCssSelector("#sousform-architecte .om-button")->click();
189 sleep(1);
190 //On vérifie le message de validation
191 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
192 //On clique sur retour²
193 $this->byCssSelector("#sousform-architecte a.retour")->click();
194 //On vérifie que l'identifiant de l'architecte choisit est remplit
195 $this->assertEquals("Montmorrency Paul Marie Édouard", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
196 //On valide le formulaire de données techniques
197 $this->byXPath("//input[@value='Modifier']")->click();
198 //On vérifie le message de validation
199 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
200 //On clique sur retour
201 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
202 //On clique sur données techniques dans le portail d'action
203 $this->byXPath("//span[@title='Données techniques']")->click();
204 //On ouvre les fieldsets Construire puis Projet construction
205 $this->byXPath("//div[6]/div[2]/div[2]/div/div[2]/div[7]/fieldset/legend")->click();
206 $this->byXPath("//div[6]/div[2]/div[2]/div/div[2]/div[7]/fieldset/div/div/fieldset/legend")->click();
207 //On verifie que le bon architecte s'est enregistré
208 $this->assertEquals("Paul Marie Édouard Montmorrency", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
209 //On clique sur retour
210 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
211 // On se déconnecte de l'application
212 $this->logout();
213 }
214 }
215
216 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26