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

Diff of /trunk/tests/testConsultations.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1811 by fmichon, Thu May 2 13:48:19 2013 UTC revision 2081 by softime, Thu Jul 11 17:33:54 2013 UTC
# Line 12  require_once "base.php"; Line 12  require_once "base.php";
12  /**  /**
13   *   *
14   */   */
15  class Consultations extends BaseTestCase {  class Consultations extends Base2TestCase {
16    
17      public function test_01_ajout_consultation_simple_par_l_instructeur() {      public function test_01_ajout_consultation_simple_par_l_instructeur() {
18          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('120');  
19          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
20          $this->login("instr", "instr");          $this->login("instr", "instr");
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
21          // On clique sur le lien "Mes encours" dans le menu          // On clique sur le lien "Mes encours" dans le menu
22          $this->clickAndWait("link=mes encours");          $this->byLinkText("Mes Encours")->click();
23          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
24          $this->verifyNoErrors();          $this->verifyNoErrors();
25          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
26          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("AZ0130551200001P0")->click();
27          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
28          $this->verifyNoErrors();          $this->verifyNoErrors();
29          // On clique sur l'onglet "Consultation(s)"          // On clique sur l'onglet "Consultation(s)"
30          $this->click("id=consultation");          $this->byId("consultation")->click();
31          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
32          $this->verifyNoErrors();          $this->verifyNoErrors();
33          // On clique sur le lien "Ajouter" dans le tableau          // On clique sur le lien "Ajouter" dans le tableau
34          $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a/span");          $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a/span")->click();
35          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
36          $this->verifyNoErrors();          $this->verifyNoErrors();
37          // On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi"          // On vérifie que la date du jour est pré-remplie dans le champs "date d'envoi"
38          try {          try {
39              $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_envoi"));              $this->assertEquals(date("d/m/Y"), $this->byId("date_envoi")->value());
40          } catch (PHPUnit_Framework_AssertionFailedError $e) {          } catch (PHPUnit_Framework_AssertionFailedError $e) {
41              array_push($this->verificationErrors, $e->toString());              array_push($this->verificationErrors, $e->toString());
42          }          }
43          // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service          // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
44          $this->click("//input[@value='Ajouter']");          $this->byXPath("//input[@value='Ajouter']")->click();
45          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
46          $this->verifyNoErrors();          $this->verifyNoErrors();
47          // On vérifie que le message d'erreur est présent          // On vérifie que le message d'erreur est présent
48          $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");          $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
49          // On sélectionne le service "59.01 Direction de l'Eau et de l'Assainissement"          // On sélectionne le service "59.01 Direction de l'Eau et de l'Assainissement"
50          $this->select("id=service", "label=59.01 Direction de l'Eau et de l'Assainissement");          $this->select($this->byId("service"))->selectOptionByValue("1");
51          // On saisit une date d'envoi vide          // On saisit une date d'envoi vide
52          $this->type("id=date_envoi", "");          $this->byId("date_envoi")->clear();
53          // On valide l'alerte javascript qui nous indique que la date saisie est invalide          // On valide l'alerte javascript qui nous indique que la date saisie est invalide
54          $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());          $this->assertEquals("La date saisie n'est pas valide", $this->alertText());
55            $this->acceptAlert();
56          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
57          $this->click("//input[@value='Ajouter']");          $this->byXPath("//input[@value='Ajouter']")->click();
58          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
59          $this->verifyNoErrors();          $this->verifyNoErrors();
60          // On vérifie que le message d'erreur est présent          // On vérifie que le message d'erreur est présent
61          $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");          $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
62          // On saisit une date d'envoi vide          // On saisit une date d'envoi vide
63          $this->type("id=date_envoi", date("d/m/Y"));          $this->byId("date_envoi")->value(date("d/m/Y"));
64          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
65          $this->click("//input[@value='Ajouter']");          $this->byXPath("//input[@value='Ajouter']")->click();
66          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
67          $this->verifyNoErrors();          $this->verifyNoErrors();sleep(1);
68          // On vérifie que le message de validation est présent          // On vérifie que le message de notification de mail est présent
69          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->assertRegExp("/.*Envoi d'un mail de notification au service.*/", $this->byCssSelector("#sousform-consultation .message .text")->text());
70            // On vérifie le message de validation
71            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
72          // On clique sur le bouton retour          // On clique sur le bouton retour
73          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
74          // On vérifie que nous avons bien 1 consultation affichée          // On vérifie que nous avons bien 1 consultation affichée
75          $this->verifyTextPresent("1 - 1 enregistrement(s) sur 1");          $this->assertRegExp('/.*1 \- 1 enregistrement\(s\) sur 1*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
76          // On se déconnecte          // On se déconnecte
77          $this->logout();          $this->logout();
78      }      }
79            
80      public function test_02_ajout_consultation_multiple_par_l_instructeur() {      public function test_02_ajout_consultation_multiple_par_l_instructeur() {
81          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('120');  
82          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
83          $this->login("instr", "instr");          $this->login("instr", "instr");
84          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
85          $this->verifyNoErrors();          $this->verifyNoErrors();
86          // On clique sur le lien "Mes encours" dans le menu          // On clique sur le lien "Mes encours" dans le menu
87          $this->clickAndWait("link=mes encours");          $this->byLinkText("Mes Encours")->click();
88          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
89          $this->verifyNoErrors();          $this->verifyNoErrors();
90          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
91          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("AZ0130551200001P0")->click();
92          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
93          $this->verifyNoErrors();          $this->verifyNoErrors();
94          // On clique sur l'onglet "Consultation(s)"          // On clique sur l'onglet "Consultation(s)"
95          $this->click("id=consultation");          $this->byId("consultation")->click();
96          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
97          $this->verifyNoErrors();          $this->verifyNoErrors();
98          // On clique sur le lien "Ajouter multiples" dans le tableau          // On clique sur le lien "Ajouter multiples" dans le tableau
99          $this->click("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span");          $this->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a[2]/span")->click();
100          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
101          $this->verifyNoErrors();          $this->verifyNoErrors();
102          // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service          // On clique sur le bouton "Ajouter" du formulaire sans sélectionner de service
103          $this->click("id=button_val");          $this->byId("button_val")->click();
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
104          // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie          // On vérifie qu'une alerte javascript nous indique qu'il y a une erreur de saisie
105          $this->assertEquals("Veuillez choisir au moins un service et une date d envoi", $this->getAlert());          $this->assertEquals("Veuillez choisir au moins un service et une date d envoi", $this->alertText());
106            $this->acceptAlert();
107          // On sélectionne quatre services          // On sélectionne quatre services
108          $this->click("id=t10_572_0_");          $this->byId("t10_572_0_")->click();
109          $this->click("id=t10_575_0_");          $this->byId("t10_575_0_")->click();
110          $this->click("id=t10_584_0_");          $this->byId("t10_584_0_")->click();
111          $this->click("id=t10_542_0_");          $this->byId("t10_542_0_")->click();
112          // On les ajoute à la sélection          // On les ajoute à la sélection
113          $this->click("id=add-ser-them");          $this->byId("add-ser-them")->click();
114          // On sélectionne un des services sélectionnés          // On sélectionne un des services sélectionnés
115          $this->click("css=div[name=\"t10_542_0_\"]");          $this->byCssSelector("div[name=\"t10_542_0_\"]")->click();
116          // On l'enlève de la sélection          // On l'enlève de la sélection
117          $this->click("id=del-ser-them");          $this->byId("del-ser-them")->click();
118          // On coche la case pour la consultation papier pour un des services          // On coche la case pour la consultation papier pour un des services
119          $this->click("css=div.cell2 > div > input.t10_575_0_");          $this->byCssSelector("div.cell2 > div > input.t10_575_0_")->click();
120          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
121          $this->click("id=button_val");          $this->byId("button_val")->click();
122          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
123          $this->verifyNoErrors();          $this->verifyNoErrors();
124          // On vérifie que le message de validation est présent avec le bon nombre de consultations          // On vérifie que le message de validation est présent avec le bon nombre de consultations
125          $this->verifyTextPresent("3 service(s) sélectionné(s) dont 1 consultation(s) papier.");          $this->assertRegExp('/.*3 service\(s\) sélectionné\(s\) dont 1 consultation\(s\) papier.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
126          // On vérifie que nous avons bien 4 consultations affichées          // On vérifie que nous avons bien 4 consultations affichées
127          $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");          $this->assertRegExp('/.*1 - 4 enregistrement\(s\) sur 4*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
128          // On se déconnecte          // On se déconnecte
129          $this->logout();          $this->logout();
130      }      }
131            
132      public function test_03_reponse_a_une_consultation_par_le_service_consulte() {      public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
133          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('120');  
134          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
135          $this->login("consu", "consu");          $this->login("consu", "consu");
136          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
137          $this->verifyNoErrors();          $this->verifyNoErrors();
138          // On clique sur le lien "Demandes en cours" dans le menu          // On clique sur le lien "Demandes en cours" dans le menu
139          $this->clickAndWait("link=Demandes en cours");          $this->byLinkText("Demandes En Cours")->click();
140          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
141          $this->verifyNoErrors();          $this->verifyNoErrors();
         // On vérifie que le titre de la page est correct  
         $this->verifyTextPresent("Demandes d'avis > en cours");  
142          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
143          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("AZ0130551200001P0")->click();
144          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
145          $this->verifyNoErrors();          $this->verifyNoErrors();
146          // On clique sur le lien "Saisir un avis" dans le portlet          // On clique sur le lien "Saisir un avis" dans le portlet
147          $this->click("//div[@id='portlet-actions']/ul/li/a/span");          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
148          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
149          $this->verifyNoErrors();          $this->verifyNoErrors();
150          // On vérifie que le sous-titre de l'élément affiché est correct          // On vérifie que le sous-titre de l'élément affiché est correct
151          $this->verifyTextPresent("consultation  1");          $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());
152          // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis          // On clique sur le bouton "Modifier" du formulaire sans saisir de retour d'avis
153          $this->click("//input[@value='Modifier']");          $this->byXPath("//input[@value='Modifier']")->click();
154            sleep(1);
155          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
156          $this->verifyNoErrors();          $this->verifyNoErrors();
157          // Retour à la liste des demandes          // Retour à la liste des demandes
158          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byCssSelector("#sformulaire a.retour")->click();
159          // Accès au dossier en visualisation          // Accès au dossier en visualisation
160          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("AZ0130551200001P0")->click();
161          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
162          $this->verifyNoErrors();          $this->verifyNoErrors();
         $this->verifyTextPresent("Demandes d'avis > en cours");  
163          // Accès à l'onglet des consultations          // Accès à l'onglet des consultations
164          $this->click("//div[@id='portlet-actions']/ul/li/a/span");          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
165          $this->verifyTextPresent("consultation  1");          $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());
166          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
167          $this->verifyNoErrors();          $this->verifyNoErrors();
168          // Saisie de valeurs          // Saisie de valeurs
169          $this->select("id=avis_consultation", "label=Defavorable");          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Defavorable");
170          $this->type("id=motivation", "Pas motivé");          $this->byId("motivation")->value("Pas motivé");
171          // Upload de fichier          // Upload de fichier
172          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
173          // Validation sans saisie de fichier          // Validation sans saisie de fichier
174          $this->click("name=submit");          $this->byName("submit")->click();
175          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
176          $this->verifyNoErrors();          $this->verifyNoErrors();
177          //          //
178          $this->verifyTextPresent("Vous devez sélectionner un fichier.");          $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
179          // Saisie de fichier          // Saisie de fichier
180          $this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf");          $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
181          $this->click("name=submit");          $this->byName("submit")->click();
182          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
183          $this->verifyNoErrors();          $this->verifyNoErrors();
184          // Validation de la modification de la demande d'avis          // Validation de la modification de la demande d'avis
185          $this->click("//input[@value='Modifier']");          $this->byXPath("//input[@value='Modifier']")->click();
186          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
187          $this->verifyNoErrors();          $this->verifyNoErrors();
188          // On vérifie que le message de validation est présent          // On vérifie que le message de validation est présent
189          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sformulaire .message .text")->text());
190          // On clique sur le lien retour          // On clique sur le lien retour
191          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byCssSelector("#sformulaire a.retour")->click();
192          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
193          $this->verifyNoErrors();          $this->verifyNoErrors();
194          // Vérification que la demande d'avis n'est plus presente          // Vérification que la demande d'avis n'est plus presente
195          $this->assertTextNotPresent("link=AZ0130551200001P0");          try {
196                $el = $this->byLinkText("AZ0130551200001P0");
197                $this->fail('Cet élément ne devrait pas exister.');
198            } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
199                $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
200            }
201          // On se déconnecte          // On se déconnecte
202          $this->logout();          $this->logout();
203      }      }
204            
205            
206      public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {      public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {
207          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('120');  
208          // On se connecte en tant que "suivi"          // On se connecte en tant que "suivi"
209          $this->login("suivi", "suivi");          $this->login("suivi", "suivi");
210          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
211          $this->verifyNoErrors();          $this->verifyNoErrors();
212          //          //
213          $this->clickAndWait("link=retours de consultation");          $this->byLinkText("Retours De Consultation")->click();
214          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
215          $this->verifyNoErrors();          $this->verifyNoErrors();
216          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
217          $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");          $this->assertRegExp('/.*Retours De Consultation.*/', $this->byCssSelector("#title h2")->text());
218          // On clique sur le bouton "Valider" sans saisir de code barres          // On clique sur le bouton "Valider" sans saisir de code barres
219          $this->clickAndWait("//input[@value='Valider']");          $this->byXPath("//input[@value='Valider']")->click();
220          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
221          $this->verifyNoErrors();          $this->verifyNoErrors();
222          //          //
223          $this->verifyTextPresent("Veuiller saisir un code barres de consultation.");          $this->assertRegExp('/.*Veuiller saisir un code barres de consultation.*/', $this->byCssSelector(".message .text")->text());    
       
224          //          //
225          $this->type("id=code_barres", "aze");          $this->byId("code_barres")->value("aze");
226          $this->clickAndWait("//input[@value='Valider']");          $this->byXPath("//input[@value='Valider']")->click();
227          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
228          $this->verifyNoErrors();          $this->verifyNoErrors();
229          $this->verifyTextPresent("Cette consultation n'existe pas.");          $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());    
       
230          // XXX Aller plus loin dans les cas d'utilisation lors de la saisie          // XXX Aller plus loin dans les cas d'utilisation lors de la saisie
231          $this->type("id=code_barres", "120000000002");          $this->byId("code_barres")->value("120000000004");
232          $this->clickAndWait("//input[@value='Valider']");          $this->byXPath("//input[@value='Valider']")->click();
233          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
234          $this->verifyNoErrors();          $this->verifyNoErrors();
235          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
236          $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation >  2");          $this->assertEquals("4", $this->byId("consultation")->value());
237          $this->verifyTextPresent("AZ0130551200001P0");          $this->assertEquals("AZ0130551200001P0", $this->byId("dossier")->value());
238          $this->select("id=avis_consultation", "label=Favorable");          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
239          $this->type("id=motivation", "blablabla");          $this->byId("motivation")->value("blablabla");
         // Ajout d'un fichier  
         // Test l'affichage d'un fichier si le champ est vide  
         $this->click("css=span.ui-icon.ui-icon-newwin");  
         //  
         $this->assertEquals("zone vide", $this->getAlert());  
         $this->click("css=span.ui-icon.ui-icon-closethick");  
240          // Upload de fichier          // Upload de fichier
241          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
242          // Validation sans saisie de fichier          // Validation sans saisie de fichier
243          $this->click("name=submit");          $this->byName("submit")->click();
244          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
245          $this->verifyNoErrors();          $this->verifyNoErrors();
246          $this->verifyTextPresent("Vous devez sélectionner un fichier.");          $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
247          // Saisie de fichier          // Saisie de fichier
248          $this->type("name=userfile[]", dirname(__FILE__)."/binaire/lettre_rar16042013124515.pdf");          $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
249          $this->click("name=submit");          $this->byName("submit")->click();
250          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
251          $this->verifyNoErrors();          $this->verifyNoErrors();
252          // Visualisation du fichier          // Visualisation du fichier
253          $this->click("css=span.ui-icon.ui-icon-newwin");          $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
254          $this->verifyTextPresent("Voir > [ lettre_rar16042013124515.pdf ]");          $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->value());
         $this->click("css=span.ui-icon.ui-icon-closethick");  
255          //          //
256          $this->clickAndWait("//input[@value='Modifier']");          $this->byXPath("//input[@value='Modifier']")->click();
257          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
258          $this->verifyNoErrors();          $this->verifyNoErrors();
259          // On vérifie que le message de validation est présent          // On vérifie que le message de validation est présent
260          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
261          // On clique sur le lien retour          // On clique sur le lien retour
262          $this->clickAndWait("link=Retour");          $this->byLinkText("Retour")->click();
263          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
264          $this->verifyNoErrors();          $this->verifyNoErrors();
265          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
266          $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");          $this->assertStringEndsWith('app/suivi_retours_de_consultation.php', $this->url());
267          // On se déconnecte          // On se déconnecte
268          $this->logout();          $this->logout();
269      }      }
270    
271      public function test_05_gestion_de_la_consultation_par_l_instructeur() {      public function test_05_gestion_de_la_consultation_par_l_instructeur() {
272          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('120');  
273          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
274          $this->login("instr", "instr");          $this->login("instr", "instr");
275          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
276          $this->verifyNoErrors();          $this->verifyNoErrors();
277          // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur          // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
278          $this->verifyTextPresent("Vous avez 2 consultations pour lesquelles un avis a été rendu.");          $this->assertEquals("2",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
279          // On clique sur le lien "Mes retours" dans le menu          // On clique sur le lien "Mes retours" dans le menu
280          $this->clickAndWait("link=Mes retours");          $this->byLinkText("Mes Retours")->click();
281          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
282          $this->verifyNoErrors();          $this->verifyNoErrors();
283          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
284          $this->verifyTextPresent("Instruction > consultations > mes retours");          $this->assertEquals("Consultation_mes_retours", $this->byXPath("//a[@href='#tabs-1']")->text());
285          // On vérifie que les deux consultations sont présentes dans le tableau          // On vérifie que les deux consultations sont présentes dans le tableau
286          $this->verifyTextPresent("1 - 2 enregistrement(s) sur 2");          $this->assertEquals("1 - 2 enregistrement(s) sur 2", $this->byClassName("pagination-text")->text());
287          // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau          // On clique sur le lien "59.01 Direction de l'Eau et de l'Assainissement" dans le tableau
288          $this->clickAndWait("link=59.01 Direction de l'Eau et de l'Assainissement");          $this->byLinkText("59.01 Direction de l'Eau et de l'Assainissement")->click();
289          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
290          $this->verifyNoErrors();          $this->verifyNoErrors();
291          // On vérifie que le formulaire de la consultation s'est bien ouvert          // On vérifie que le formulaire de la consultation s'est bien ouvert
292          $this->verifyTextPresent("consultation  1");          $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());
293          // On clique sur le lien "Marquer comme lu" dans le portlet          // On clique sur le lien "Marquer comme lu" dans le portlet
294          $this->click("link=Marquer comme lu");          $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();
295          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
296          $this->verifyNoErrors();          $this->verifyNoErrors();
297          // On vérifie que le message de validation est présent avec le bon nombre de consultations          // On vérifie que le message de validation est présent avec le bon nombre de consultations
298          $this->verifyTextPresent("Mise a jour effectue avec succes");          $this->assertRegExp('/.*Mise a jour effectue avec succes.*/', $this->byCssSelector(".message .text")->text());
299          // On clique sur le lien retour          // On clique sur le lien retour
300          $this->click("css=#sousform-consultation > #sformulaire > div.formControls > a.retour");          $this->byCssSelector("#sousform-consultation > #sformulaire > div.formControls > a.retour")->click();
301          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
302          $this->verifyNoErrors();          $this->verifyNoErrors();
303          // On vérifie que le nombre de consultations est le bon          // On vérifie que le nombre de consultations est le bon
304          $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");          $this->assertEquals("1 - 4 enregistrement(s) sur 4", $this->byClassName("pagination-text")->text());
305          // On clique sur le lien "Tableau de bord" dans le menu          // On clique sur le lien "Tableau de bord" dans le menu
306          $this->clickAndWait("link=Tableau de bord");          $this->byLinkText("Tableau de bord")->click();
307          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
308          $this->verifyNoErrors();          $this->verifyNoErrors();
309          // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur          // On vérifie que les consultations apparaissent bien sur le tableau de bord de l'instructeur
310          $this->verifyTextPresent("Vous avez 1 consultation pour laquelle un avis a été rendu.");          $this->assertEquals("1",$this->byCssSelector("#widget_3 .widget-content-wrapper .message .text .bold")->text());
311          // On se déconnecte          // On se déconnecte
312          $this->logout();          $this->logout();
313      }      }
   
314  }  }
315    
316  ?>  ?>

Legend:
Removed from v.1811  
changed lines
  Added in v.2081

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26