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

Annotation of /trunk/tests/testArchitecteFrequent.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2199 - (hide annotations)
Fri Aug 30 10:50:14 2013 UTC (11 years, 5 months ago) by fmichon
File size: 12782 byte(s)
Modification des test pour remplacer les sélecteur xpath par des sélecteurs css et ajout de temporisation aux endroits délicats pour les latences javascript.

1 vpihour 2108 <?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 vpihour 2113 //On clique sur le menu iinstruction
30     $this->byLinkText("Instruction")->click();
31 vpihour 2108 //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 vpihour 2113 $this->assertEquals("Architecte Fréquent", $this->byXPath("//a[@href=\"#tabs-1\"]")->text());
39 vpihour 2108 //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 vpihour 2113 $this->byXPath("//input[@value='Ajouter']")->click();
45 vpihour 2108 //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 vpihour 2113 $this->byXPath("//input[@value='Ajouter']")->click();
59 vpihour 2108 //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 fmichon 2183 $this->logout();
71 vpihour 2108 }
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 softime 2112 $this->byLinkText("PC 013055 12 00002P0")->click();
87 fmichon 2199 //On clique sur "Données techniques dans le portlet d'actions"
88     $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
89 vpihour 2113 //On affiche le formulaire en modification
90 fmichon 2199 $this->byCssSelector("#action-sousform-donnees_techniques-modifier")->click();
91 softime 2128 //On ouvre les fieldsets Construire puis Projet construction
92 fmichon 2199 sleep(1);
93     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
94     sleep(1);
95     $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
96     sleep(1);
97 vpihour 2108 //On clique sur "Ajouter un architecte"
98 vpihour 2113 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
99 vpihour 2108 //On essaye de valider un formulaire vide
100     $this->byCssSelector("#sousform-architecte .om-button")->click();
101     //On vérifie le message d'erreur
102     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
103     //On écrit le nom d'un architecte qui ne retournera aucun résultat
104     $this->byCssSelector("#sousform-architecte #nom")->value("zzz");
105     //On lance la recherche
106 vpihour 2113 $this->byCssSelector(".search-frequent-16")->click();
107 vpihour 2108 //On vérifie le message de l'overlay
108     $this->assertRegExp('/.*Aucune correspondance trouvée.*/', $this->byCssSelector("#dialog")->text());
109     //On clique sur valider
110     $this->byCssSelector(".ui-dialog .ui-dialog-buttonset .ui-button-text-only")->click();
111 vpihour 2113 //On vide le champ
112     $this->byCssSelector("#sousform-architecte #nom")->clear();
113 vpihour 2108 //on écrit le nom d'un architecte qui existe existe en plusieurs fois
114     $this->byCssSelector("#sousform-architecte #nom")->value("Mercier");
115 vpihour 2113 //On lance la recherche
116     $this->byCssSelector(".search-frequent-16")->click();
117 vpihour 2108 //On vérifie qu'on a deux résultats
118 vpihour 2113 $this->assertEquals(2, count($this->byCssSelector('#dialog select')->elements($this->using('css selector')->value('option'))));
119 fmichon 2199 sleep(1);
120 vpihour 2113 //On clique sur fermer
121 fmichon 2192 $this->byXPath("//div[10]/div/a/span")->click();
122 vpihour 2108 //On écrit le nom d'un architecte qui existe qu'une fois
123 vpihour 2113 $this->byCssSelector("#sousform-architecte #nom")->clear();
124 vpihour 2108 $this->byCssSelector("#sousform-architecte #nom")->value("Lefebvre");
125     //On lance la recherche
126 vpihour 2113 $this->byCssSelector(".search-frequent-16")->click();
127 vpihour 2108 //On vérifie qu'on a qu'un seul résultat
128 vpihour 2113 $this->assertEquals(1, count($this->byCssSelector('#dialog select')->elements($this->using('css selector')->value('option'))));
129 vpihour 2108 //On valide
130 fmichon 2192 $this->byXPath("//div[10]/div[11]/div/button/span")->click();
131 vpihour 2113 sleep(1);
132     //On vérifie que le prenom de l'architecte choisit est bon
133     $this->assertEquals("James", $this->byCssSelector("#sousform-architecte #prenom")->text());
134 vpihour 2108 //On clique sur retour
135 vpihour 2113 $this->byCssSelector("#sousform-architecte a.retour")->click();
136 vpihour 2108 //On vérifie que l'identifiant de l'architecte choisit est bon
137 vpihour 2113 $this->assertEquals("Lefebvre James", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
138 vpihour 2108 //On valide le formulaire de données techniques
139 vpihour 2113 $this->byXPath("//input[@value='Modifier']")->click();
140 vpihour 2108 //On vérifie le message de validation
141     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
142     //On clique sur retour
143 vpihour 2113 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
144 fmichon 2199 //On clique sur "Données techniques dans le portlet d'actions"
145     $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
146 softime 2128 //On ouvre les fieldsets Construire puis Projet construction
147 fmichon 2199 sleep(1);
148     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
149     sleep(1);
150     $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
151     sleep(1);
152 vpihour 2108 //On verifie que le bon architecte s'est enregistré
153 vpihour 2113 $this->assertEquals("James Lefebvre", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
154     //On clique sur retour
155     $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
156 vpihour 2108 // On se déconnecte de l'application
157 fmichon 2183 $this->logout();
158 vpihour 2108 }
159    
160     /**
161     * Test de l'ajout d'un architecte aux données techniques par l'instructeur.
162     */
163     function testAjoutArchitecteDonneesTechniques(){
164    
165     // On se connecte en tant que "instr"
166     $this->login("instr", "instr");
167     //On clique sur le menu "Mes encours"
168     $this->byLinkText("Mes Encours")->click();
169     //On choisit le dossier n°AZ0130551200001P0
170 vpihour 2113 $this->byLinkText("AZ 013055 12 00001P0")->click();
171 fmichon 2199 //On clique sur "Données techniques dans le portlet d'actions"
172     $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
173 vpihour 2113 //On affiche le formulaire en modification
174 fmichon 2199 $this->byCssSelector("#action-sousform-donnees_techniques-modifier")->click();
175 softime 2128 //On ouvre les fieldsets Construire puis Projet construction
176 fmichon 2199 sleep(1);
177     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
178     sleep(1);
179     $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
180     sleep(1);
181 vpihour 2108 //On clique sur "Ajouter un architecte"
182 vpihour 2113 $this->byCssSelector("#sousform-donnees_techniques .field-type-manage_with_popup .form-content span")->click();
183 vpihour 2108 //On essaye de valider un formulaire vide
184     $this->byCssSelector("#sousform-architecte .om-button")->click();
185     //On vérifie le message d'erreur
186     $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
187     //On remplit les champs
188     $this->byCssSelector("#nom")->value("Montmorrency");
189     $this->byCssSelector("#prenom")->value("Paul Marie Édouard");
190     $this->byCssSelector("#adresse1")->value("113 boulevard de pont de vivaux");
191     $this->byCssSelector("#cp")->value("13010");
192     $this->byCssSelector("#ville")->value("Marseille");
193     $this->byCssSelector("#inscription")->value("0491855565");
194     $this->byCssSelector("#telephone")->value("0491236589");
195     $this->byCssSelector("#fax")->value("0491236585");
196     $this->byCssSelector("#email")->value("[email protected]");
197     //On valide le formulaire de l'architecte
198     $this->byCssSelector("#sousform-architecte .om-button")->click();
199 vpihour 2113 sleep(1);
200 vpihour 2108 //On vérifie le message de validation
201     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-architecte .message .text")->text());
202 softime 2128 //On clique sur retour²
203 vpihour 2113 $this->byCssSelector("#sousform-architecte a.retour")->click();
204 vpihour 2108 //On vérifie que l'identifiant de l'architecte choisit est remplit
205 vpihour 2113 $this->assertEquals("Montmorrency Paul Marie Édouard", $this->byCssSelector(".field-type-manage_with_popup .edit-16")->text());
206 vpihour 2108 //On valide le formulaire de données techniques
207 vpihour 2113 $this->byXPath("//input[@value='Modifier']")->click();
208 vpihour 2108 //On vérifie le message de validation
209     $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-donnees_techniques .message .text")->text());
210     //On clique sur retour
211 vpihour 2113 $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
212 fmichon 2199 //On clique sur "Données techniques dans le portlet d'actions"
213     $this->byCssSelector("#action-form-dossier_instruction_mes_encours-donnees_techniques")->click();
214 softime 2128 //On ouvre les fieldsets Construire puis Projet construction
215 fmichon 2199 sleep(1);
216     $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
217     sleep(1);
218     $this->byCssSelector("#fieldset-sousform-donnees_techniques-projet-construction legend")->click();
219     sleep(1);
220 vpihour 2108 //On verifie que le bon architecte s'est enregistré
221 vpihour 2113 $this->assertEquals("Paul Marie Édouard Montmorrency", $this->byCssSelector("#sousform-donnees_techniques #architecte")->text());
222     //On clique sur retour
223     $this->byCssSelector("#sousform-donnees_techniques a.retour")->click();
224 vpihour 2108 // On se déconnecte de l'application
225 fmichon 2183 $this->logout();
226 vpihour 2108 }
227     }
228    
229 vpihour 2113 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26