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

Diff of /branches/3.14.x/tests/testConsultations.php

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

trunk/tests/testConsultations.php revision 1987 by vpihour, Wed Jun 5 15:51:54 2013 UTC branches/3.14.x/tests/testConsultations.php revision 3635 by nmeucci, Wed Sep 2 14:20:14 2015 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('300');  
19          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
20          $this->login("instr", "instr");          $this->login("instr", "instr");
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("AZ 013055 12 00001P0")->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->byId("action-soustab-consultation-corner-ajouter")->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 {          $this->assertEquals(date("d/m/Y"), $this->byId("date_envoi")->attribute('value'));
             $this->assertEquals(date("d/m/Y"), $this->getValue("id=date_envoi"));  
         } catch (PHPUnit_Framework_AssertionFailedError $e) {  
             array_push($this->verificationErrors, $e->toString());  
         }  
39          // 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
40          $this->click("//input[@value='Ajouter']");          $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
41          // 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é
42          $this->verifyNoErrors();          $this->verifyNoErrors();
43          // On vérifie que le message d'erreur est présent          // On vérifie que le message d'erreur est présent
44          $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");          $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
45          // 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"
46          $this->select("id=service", "label=59.01 Direction de l'Eau et de l'Assainissement");          $this->select($this->byId("service"))->selectOptionByValue("1");
47          // On saisit une date d'envoi vide          // On saisit une date d'envoi vide
48          $this->type("id=date_envoi", "");          $this->byId("date_envoi")->clear();
         // On valide l'alerte javascript qui nous indique que la date saisie est invalide  
         $this->assertEquals("La date saisie n'est pas valide", $this->getAlert());  
49          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
50          $this->click("//input[@value='Ajouter']");          $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
51          // 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é
52          $this->verifyNoErrors();          $this->verifyNoErrors();
53          // On vérifie que le message d'erreur est présent          // On vérifie que le message d'erreur est présent
54          $this->verifyTextPresent("SAISIE NON ENREGISTRÉE");          $this->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(2);
55          // On saisit une date d'envoi vide          // On saisit une date d'envoi vide
56          $this->type("id=date_envoi", date("d/m/Y"));          $this->byId("date_envoi")->value("20/".date("m/Y"));sleep(1);
57            // On ouvre le calendrier
58            /*$this->byCssSelector(".ui-datepicker-trigger")->click();sleep(2);
59            // On clique sur le "20" du mois encours
60            $this->byLinkText("20")->click();sleep(2);*/
61          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
62          $this->click("//input[@value='Ajouter']");          $this->byXPath("//input[@value='Ajouter']")->click();sleep(5);
63          // 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é
64          $this->verifyNoErrors();          $this->verifyNoErrors();sleep(1);
65          // On vérifie que le message de validation est présent          // On vérifie que le message de notification de mail est présent
66          $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());
67            // On vérifie le message de validation
68            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());
69          // On clique sur le bouton retour          // On clique sur le bouton retour
70          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
71          // On vérifie que nous avons bien 1 consultation affichée          // On vérifie que nous avons bien 1 consultation affichée
72          $this->verifyTextPresent("1 - 1 enregistrement(s) sur 1");          $this->assertRegExp('/.*1 \- 2 enregistrement\(s\) sur 2*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
73          // On se déconnecte          // On se déconnecte
74          $this->logout();          $this->logout();
75      }      }
76            
77      public function test_02_ajout_consultation_multiple_par_l_instructeur() {      public function test_02_ajout_consultation_multiple_par_l_instructeur() {
78          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('300');  
79          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
80          $this->login("instr", "instr");          $this->login("instr", "instr");
81          // 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é
82          $this->verifyNoErrors();          $this->verifyNoErrors();
83          // On clique sur le lien "Mes encours" dans le menu          // On clique sur le lien "Mes encours" dans le menu
84          $this->clickAndWait("link=mes encours");          $this->byLinkText("Mes Encours")->click();
85          // 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é
86          $this->verifyNoErrors();          $this->verifyNoErrors();
87          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
88          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("AZ 013055 12 00001P0")->click();
89          // 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é
90          $this->verifyNoErrors();          $this->verifyNoErrors();
91          // On clique sur l'onglet "Consultation(s)"          // On clique sur l'onglet "Consultation(s)"
92          $this->click("id=consultation");          $this->byId("consultation")->click();
93          // 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é
94          $this->verifyNoErrors();          $this->verifyNoErrors();
95          // On clique sur le lien "Ajouter multiples" dans le tableau          // On clique sur le lien "Ajouter multiples" dans le tableau
96          $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();
97          // 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é
98          $this->verifyNoErrors();          $this->verifyNoErrors();
99          // 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
100          $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();  
101          // 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
102          $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());
103            $this->acceptAlert();
104          // On sélectionne quatre services          // On sélectionne quatre services
105          $this->click("id=t10_572_0_");          $this->byId("t10_572_0_")->click();
106          $this->click("id=t10_575_0_");          $this->byId("t10_575_0_")->click();
107          $this->click("id=t10_584_0_");          $this->byId("t2_13_0_")->click();
108          $this->click("id=t10_542_0_");          $this->byId("t10_542_0_")->click();
109          // On les ajoute à la sélection          // On les ajoute à la sélection
110          $this->click("id=add-ser-them");          $this->byId("add-ser-them")->click();
111          // On sélectionne un des services sélectionnés          // On sélectionne un des services sélectionnés
112          $this->click("css=div[name=\"t10_542_0_\"]");          $this->byCssSelector("div[name=\"t10_542_0_\"]")->click();
113          // On l'enlève de la sélection          // On l'enlève de la sélection
114          $this->click("id=del-ser-them");          $this->byId("del-ser-them")->click();
115          // On coche la case pour la consultation papier pour un des services          // On coche la case pour la consultation papier pour un des services
116          $this->click("css=div.cell2 > div > input.t10_575_0_");          $this->byCssSelector("div.cell2 > div > input.t10_575_0_")->click();
117          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
118          $this->click("id=button_val");          $this->byId("button_val")->click();
119          // 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é
120          $this->verifyNoErrors();          $this->verifyNoErrors();
121          // 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
122          $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());
123          // On vérifie que nous avons bien 4 consultations affichées          // On vérifie que nous avons bien 4 consultations affichées
124          $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");          $this->assertRegExp('/.*1 - 5 enregistrement\(s\) sur 5*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());
125          // On se déconnecte          // On se déconnecte
126          $this->logout();          $this->logout();
127      }      }
128            
129      public function test_03_reponse_a_une_consultation_par_le_service_consulte() {      public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
130          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
131          $this->setSpeed('300');          // On se connecte en tant que "consu"
132          // On se connecte en tant que "instr"          // !!! Attention on n'utilise pas la méthode login standard car
133          $this->login("consu", "consu");          // l'utilisateur est redirigé automatiquement vers un autre écran
134            // sans voir le message de connexion !!!
135            // On se connecte
136            $this->connect("consu", "consu");
137            // Allonge le temps d'attente lors de la recherche d'élément
138            $this->timeouts()->implicitWait(10000);
139            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
140            $this->verifynoerrors();
141            // On temporise pour laisser le temps au javascript de redirection
142            // de faire son travail
143            sleep(1);
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();
         // On clique sur le lien "Demandes en cours" dans le menu  
         $this->clickAndWait("link=Demandes en cours");  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
         // On vérifie que le titre de la page est correct  
         $this->verifyTextPresent("Demandes d'avis > en cours");  
146          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
147          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("59.13")->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 clique sur le lien "Saisir un avis" dans le portlet          // On clique sur le lien "Saisir un avis" dans le portlet
151          $this->click("//div[@id='portlet-actions']/ul/li/a/span");          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
152          // 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é
153          $this->verifyNoErrors();          $this->verifyNoErrors();
154          // 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
155          $this->verifyTextPresent("consultation  3");          $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
156          // 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
157          $this->click("//input[@value='Modifier']");          $this->byXPath("//input[@value='Modifier']")->click();
158          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          sleep(1);
159          $this->verifyNoErrors();          // On vérifie qu'il manque l'avis
160            $this->assertRegExp("/^[\s\S]*La sélection d'un avis est obligatoire\.[\s\S]*$/",$this->byCssSelector("#sousform-consultation .message .text")->text());
161            // Fermerture de l'overlay
162            $this->byCssSelector("#sformulaire a.retour")->click();
163          // Retour à la liste des demandes          // Retour à la liste des demandes
164          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byLinkText("Retour")->click();
165            // On vérifie que la surface est affichée
166            $this->assertEquals("1099", $this->byCssSelector("#formulaire tbody .col-6 a")->text());        
167          // Accès au dossier en visualisation          // Accès au dossier en visualisation
168          $this->clickAndWait("link=AZ0130551200001P0");          $this->byLinkText("AZ 013055 12 00001P0")->click();
169          // 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é
170          $this->verifyNoErrors();          $this->verifyNoErrors();
         $this->verifyTextPresent("Demandes d'avis > en cours");  
171          // Accès à l'onglet des consultations          // Accès à l'onglet des consultations
172          $this->click("//div[@id='portlet-actions']/ul/li/a/span");          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
173          $this->verifyTextPresent("consultation  3");          $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
174          // 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é
175          $this->verifyNoErrors();          $this->verifyNoErrors();
176          // Saisie de valeurs          // Saisie de valeurs
177          $this->select("id=avis_consultation", "label=Defavorable");          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Defavorable");
178          $this->type("id=motivation", "Pas motivé");          $this->byId("motivation")->value("Pas motivé");
179          // Upload de fichier          // Upload de fichier
180          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
181          // Validation sans saisie de fichier          // Validation sans saisie de fichier
182          $this->click("name=submit");          $this->byName("submit")->click();
183          // 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é
184          $this->verifyNoErrors();          $this->verifyNoErrors();
185          //          //
186          $this->verifyTextPresent("Vous devez sélectionner un fichier.");          $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
187          // Saisie de fichier          // Saisie de fichier
188          $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");          $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
189          $this->click("name=submit");          $this->byName("submit")->click();
190          // 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é
191          $this->verifyNoErrors();          $this->verifyNoErrors();
192          // Validation de la modification de la demande d'avis          // Validation de la modification de la demande d'avis
193          $this->click("//input[@value='Modifier']");          $this->byXPath("//input[@value='Modifier']")->click();
194          // 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é
195          $this->verifyNoErrors();          $this->verifyNoErrors();
196          // On vérifie que le message de validation est présent          // On vérifie que le message de validation est présent
197          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sformulaire .message .text")->text());
198          // On clique sur le lien retour          // On clique sur le lien retour
199          $this->click("css=form[name=\"f2\"] > div.formControls > a.retour");          $this->byCssSelector("#sformulaire a.retour")->click();
200          // 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é
201          $this->verifyNoErrors();          $this->verifyNoErrors();
202          // Vérification que la demande d'avis n'est plus presente          // Vérification que la demande d'avis n'est plus presente
203          $this->assertTextNotPresent("link=AZ0130551200001P0");          try {
204                $el = $this->byLinkText("59.13");
205                $this->fail('Cet élément ne devrait pas exister.');
206            } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
207                $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
208            }
209          // On se déconnecte          // On se déconnecte
210          $this->logout();          $this->logout();
211      }      }
212            
213            
214      public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {      public function test_04_reponse_a_une_consultation_par_la_cellule_suivi() {
215          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('300');  
216          // On se connecte en tant que "suivi"          // On se connecte en tant que "suivi"
217          $this->login("suivi", "suivi");          $this->login("suivi", "suivi");
218          // 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é
219          $this->verifyNoErrors();          $this->verifyNoErrors();
220          //          //
221          $this->clickAndWait("link=retours de consultation");          $this->byLinkText("Retours De Consultation")->click();
222          // 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é
223          $this->verifyNoErrors();          $this->verifyNoErrors();
224          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
225          $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");          $this->assertRegExp('/.*Retours De Consultation.*/', $this->byCssSelector("#title h2")->text());
226          // On clique sur le bouton "Valider" sans saisir de code barres          // On clique sur le bouton "Valider" sans saisir de code barres
227          $this->clickAndWait("//input[@value='Valider']");          $this->byXPath("//input[@value='Valider']")->click();
228          // 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é
229          $this->verifyNoErrors();          $this->verifyNoErrors();
230          //          //
231          $this->verifyTextPresent("Veuiller saisir un code barres de consultation.");          $this->assertRegExp('/.*Veuiller saisir un code barres de consultation.*/', $this->byCssSelector(".message .text")->text());    
       
232          //          //
233          $this->type("css=#code_barres", "aze");          $this->byId("code_barres")->value("aze");
234          $this->clickAndWait("//input[@value='Valider']");          $this->byXPath("//input[@value='Valider']")->click();
235          // 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é
236          $this->verifyNoErrors();          $this->verifyNoErrors();
237          $this->verifyTextPresent("Cette consultation n'existe pas.");          $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());    
       
238          // 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
239          $this->type("css=#code_barres:focus", "120000000004");          $this->byId("code_barres")->value("120000000006");
240          $this->clickAndWait("//input[@value='Valider']");          $this->byXPath("//input[@value='Valider']")->click();
241          // 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é
242          $this->verifyNoErrors();          $this->verifyNoErrors();
243          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
244          $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation >  4");          $this->assertEquals("6", $this->byId("consultation")->attribute('value'));
245          $this->verifyTextPresent("AZ0130551200001P0");          $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->attribute('value'));
246          $this->select("id=avis_consultation", "label=Favorable");          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
247          $this->type("id=motivation", "blablabla");          $this->byId("motivation")->value("blablabla");
248          // Upload de fichier          // Upload de fichier
249          $this->click("css=span.ui-icon.ui-icon-arrowthickstop-1-s");          $this->byCssSelector("span.ui-icon.ui-icon-arrowthickstop-1-s")->click();
250          // Validation sans saisie de fichier          // Validation sans saisie de fichier
251          $this->click("name=submit");          $this->byName("submit")->click();
252          // 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é
253          $this->verifyNoErrors();          $this->verifyNoErrors();
254          $this->verifyTextPresent("Vous devez sélectionner un fichier.");          $this->assertRegExp('/.*Vous devez sélectionner un fichier.*/', $this->byCssSelector("#upload-container .message .text")->text());
255          // Saisie de fichier          // Saisie de fichier
256          $this->type("name=userfile[]", dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");          $this->byName("userfile[]")->value(dirname(__FILE__)."/binary_files/lettre_rar16042013124515.pdf");
257          $this->click("name=submit");          $this->byName("submit")->click();
258          // 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é
259          $this->verifyNoErrors();          $this->verifyNoErrors();
260          // Visualisation du fichier          // Visualisation du fichier
261          $this->click("css=span.ui-icon.ui-icon-newwin");          $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
262          $this->verifyTextPresent("Voir > [ lettre_rar16042013124515.pdf ]");          $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->attribute('value'));
263          $this->click("css=.ui-dialog-titlebar a.ui-dialog-titlebar-close");          //On ferme l'overlay
264            $this->byCssSelector(".ui-dialog .ui-icon-closethick")->click();
265          //          //
266          $this->clickAndWait("//input[@value='Modifier']");          $this->byXPath("//input[@value='Modifier']")->click();
267          // 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é
268          $this->verifyNoErrors();          $this->verifyNoErrors();
269          // On vérifie que le message de validation est présent          // On vérifie que le message de validation est présent
270          $this->verifyTextPresent("Vos modifications ont bien été enregistrées.");          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector(".message .text")->text());
271          // On clique sur le lien retour          // On clique sur le lien retour
272          $this->clickAndWait("link=Retour");          $this->byLinkText("Retour")->click();
273          // 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é
274          $this->verifyNoErrors();          $this->verifyNoErrors();
275          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
276          $this->verifyTextPresent("suivi > suivi des pièces > retours de consultation");          $this->assertStringEndsWith('app/suivi_retours_de_consultation.php', $this->url());
277          // On se déconnecte          // On se déconnecte
278          $this->logout();          $this->logout();
279      }      }
280    
281      public function test_05_gestion_de_la_consultation_par_l_instructeur() {      public function test_05_gestion_de_la_consultation_par_l_instructeur() {
282          // On positionne une vitesse pour que les requêtes ajax puissent s'exécuter correctement          
         $this->setSpeed('300');  
283          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
284          $this->login("instr", "instr");          $this->login("instr", "instr");
285          // 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é
286          $this->verifyNoErrors();          $this->verifyNoErrors();
287          // 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
288          $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());
289          // On clique sur le lien "Mes retours" dans le menu          // On clique sur le lien "Mes retours" dans le menu
290          $this->clickAndWait("link=Mes retours");          $this->byLinkText("Mes Retours")->click();
291          // 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é
292          $this->verifyNoErrors();          $this->verifyNoErrors();
293          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
294          $this->verifyTextPresent("Instruction > consultations > mes retours");          $this->assertEquals("Consultation_mes_retours", $this->byXPath("//a[@href='#tabs-1']")->text());
295          // 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
296          $this->verifyTextPresent("1 - 2 enregistrement(s) sur 2");          $this->assertEquals("1 - 2 enregistrement(s) sur 2", $this->byClassName("pagination-text")->text());
297          // 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
298          $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();
299            // On temporise pour laisser un peu de temps à l'onglet de se charger
300            // (accès direct)
301            sleep(2);
302          // 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é
303          $this->verifyNoErrors();          $this->verifyNoErrors();
304          // 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
305          $this->verifyTextPresent("consultation  3");          $this->assertEquals("6", $this->byCssSelector("#sousform-consultation #consultation")->text());
306          // On clique sur le lien "Marquer comme lu" dans le portlet          // On clique sur le lien "Marquer comme lu" dans le portlet
307          $this->click("xpath=(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]");          $this->byId("action-sousform-consultation-lu")->click();
308          // 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é
309          $this->verifyNoErrors();          $this->verifyNoErrors();
310          // 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
311          $this->verifyTextPresent("Mise a jour effectue avec succes");          $this->assertRegExp('/.*Mise a jour effectue avec succes.*/', $this->byCssSelector(".message .text")->text());
312          // On clique sur le lien retour          // On clique sur le lien retour
313          $this->click("css=#sousform-consultation > #sformulaire > div.formControls > a.retour");          $this->byCssSelector("#sousform-consultation #sformulaire div.formControls a.retour")->click();
314          // 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é
315          $this->verifyNoErrors();          $this->verifyNoErrors();
316          // On vérifie que le nombre de consultations est le bon          // On vérifie que le nombre de consultations est le bon
317          $this->verifyTextPresent("1 - 4 enregistrement(s) sur 4");          $this->assertEquals("1 - 5 enregistrement(s) sur 5", $this->byClassName("pagination-text")->text());
318          // On clique sur le lien "Tableau de bord" dans le menu          // On clique sur le lien "Tableau de bord" dans le menu
319          $this->clickAndWait("link=Tableau de bord");          $this->byLinkText("Tableau de bord")->click();
320          // 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é
321          $this->verifyNoErrors();          $this->verifyNoErrors();
322          // 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
323          $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());
324            // On se déconnecte
325            $this->logout();
326        }
327    
328        /*
329         * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
330         * de consultation
331         */
332        public function test_06_envoi_de_message_erp(){
333            
334            // On se connecte en tant que "admin"
335            $this->login("admin", "admin");
336            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
337            $this->verifyNoErrors();
338            
339            //{{{ On ajoute trois services
340            //On clique sur Paramétrage
341            $this->byLinkText("Paramétrage")->click();
342            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
343            $this->verifyNoErrors();
344            //On clique sur Service
345            $this->byLinkText("Service")->click();
346            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
347            $this->verifyNoErrors();
348            //Initialisation de la variable
349            $services = array();
350            //On ajoute trois services
351            for ($i = 1 ; $i < 4 ; $i++){
352                $services[] = $this->addService("test_erp_".$i, "test_service_erp_".$i);
353            }
354            //}}}
355            
356            //{{{ On change trois variables erp_service_accessibilite,
357            // erp_service_securite et erp_service_conformite
358            //Retour sur le tableau de bord
359            $this->byLinkText("Tableau de bord")->click();
360            //On clique sur Administration
361            $this->byLinkText("Administration")->click();
362            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
363            $this->verifyNoErrors();
364            //On clique sur Paramètre
365            $this->byLinkText("Paramètre")->click();
366            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
367            $this->verifyNoErrors();
368            $erp_service_accessibilite = $this->changeParametreServiceErp("erp_service_accessibilite", $services[0]);
369            $erp_service_securite = $this->changeParametreServiceErp("erp_service_securite", $services[1]);
370            $erp_service_conformite = $this->changeParametreServiceErp("erp_service_conformite", $services[2]);
371            
372            ///}}}
373            
374            // On se déconnecte
375            $this->deconnect();
376            
377            // On se connecte en tant que "instr"
378            $this->login("guichet", "guichet");
379            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
380            $this->verifyNoErrors();
381            //{{{On ajoute un dossier d'instruction
382            //On clique sur Nouveau Dossier
383            $this->byLinkText("Nouveau Dossier")->click();
384            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
385            $this->verifyNoErrors();
386            //On choisit le type détaillé de dossier d'autorisation
387            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
388            //On choisit le type de demande - Dépôt initial
389            $this->select($this->byName("demande_type"))->selectOptionByValue("1");
390            //On clique sur "Saisir le pétitionnaire principal"
391            $this->byId("add_petitionnaire_principal")->click();
392            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
393            $this->verifyNoErrors();
394            // On remplit le champ
395            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
396            //On saisie le nom du pétitionnaire principal
397            $this->byId("particulier_nom")->value("test");
398            // On clique sur ajouter
399            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
400            // On vérifie qu'il n'y ait pas d'erreur
401            $this->verifynoerrors();
402            //On vérifie que le pétitionnaire s'est bien ajouté
403            // On vérifie le message
404            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
405            // On clique sur le bouton retour
406            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
407            // On vérifie que le text est présent
408            $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
409            // On clique sur ajouter
410            $this->byXPath("//input[@value='Ajouter']")->click();
411            // On vérifie qu'il n'y ait pas d'erreur
412            $this->verifynoerrors();
413            // On vérifie le message
414            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
415            //On récupère le numéro de dossier d'instruction créé
416            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
417            //On récupère le numéro de dossier
418            $dossier = $dossier[0];
419            
420            //}}}
421            // On se déconnecte
422            $this->deconnect();
423            
424            // On se connecte en tant que "instr"
425            $this->login("instr", "instr");
426            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
427            $this->verifyNoErrors();
428            //{{{ On ajoute trois consultation
429            //On clique sur Nouveau Dossier
430            $this->byLinkText("Recherche")->click();
431            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
432            $this->verifyNoErrors();
433            //On cherche le dossier d'instruction
434            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
435            // On valide la recherche
436            $this->byId("advanced-form")->submit();
437            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
438            $this->verifyNoErrors();
439            //On clique sur le dossier d'instruction
440            $this->byLinkText($dossier)->click();
441            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
442            $this->verifyNoErrors();
443            //On clique sur Modifier
444            $this->byClassName("edit-16")->click();
445            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
446            $this->verifyNoErrors();
447            //On clique sur erp
448            $this->byId("erp")->click();
449            //On valide le formulaire
450            $this->byName("f1")->submit();
451            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
452            $this->verifyNoErrors();
453            // On vérifie le message
454            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
455            //On clique sur l'onglet Consulation
456            $this->byId("consultation")->click();
457            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
458            $this->verifyNoErrors();
459            //On ajoute trois consultations
460            foreach ($services as $value) {
461                $this->addConsultation($value);
462            }
463            
464            //}}}
465            
466          // On se déconnecte          // On se déconnecte
467            $this->deconnect();
468            
469            // On se connecte en tant que "admin"
470            $this->login("admin", "admin");
471            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
472            $this->verifyNoErrors();
473            //{{{ On remet les valeurs par défaut des paramètres
474            //On clique sur Administration
475            $this->byLinkText("Administration")->click();
476            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
477            $this->verifyNoErrors();
478            //On clique sur Paramètre
479            $this->byLinkText("Paramètre")->click();
480            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
481            $this->verifyNoErrors();
482            $this->changeParametreServiceErp("erp_service_accessibilite", $erp_service_accessibilite);
483            $this->changeParametreServiceErp("erp_service_securite", $erp_service_securite);
484            $this->changeParametreServiceErp("erp_service_conformite", $erp_service_conformite);
485            //}}}
486            
487            //On se déconnecte
488          $this->logout();          $this->logout();
489      }      }
490    
491        public function test_07_reponse_a_une_consultation_par_linstructeur() {
492            
493            // On se connecte en tant que "instr"
494            $this->login("guichet", "guichet");
495            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496            $this->verifyNoErrors();
497            //{{{On ajoute un dossier d'instruction
498            //On clique sur Nouveau Dossier
499            $this->byLinkText("Nouveau Dossier")->click();
500            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
501            $this->verifyNoErrors();
502            //On choisit le type détaillé de dossier d'autorisation
503            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
504            //On choisit le type de demande - Dépôt initial
505            $this->select($this->byName("demande_type"))->selectOptionByValue("1");
506            //On clique sur "Saisir le pétitionnaire principal"
507            $this->byId("add_petitionnaire_principal")->click();
508            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
509            $this->verifyNoErrors();
510            // On remplit le champ
511            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
512            //On saisie le nom du pétitionnaire principal
513            $this->byId("particulier_nom")->value("test consultation instr");
514            // On clique sur ajouter
515            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
516            // On vérifie qu'il n'y ait pas d'erreur
517            $this->verifynoerrors();
518            //On vérifie que le pétitionnaire s'est bien ajouté
519            // On vérifie le message
520            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
521            // On clique sur le bouton retour
522            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
523            // On vérifie que le text est présent
524            $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
525            // On clique sur ajouter
526            $this->byXPath("//input[@value='Ajouter']")->click();
527            // On vérifie qu'il n'y ait pas d'erreur
528            $this->verifynoerrors();
529            // On vérifie le message
530            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
531            //On récupère le numéro de dossier d'instruction créé
532            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
533            //On récupère le numéro de dossier
534            $dossier = $dossier[0];
535            
536            //}}}
537            // On se déconnecte
538            $this->deconnect();
539            
540            // On se connecte en tant que "instr"
541            $this->login("instr", "instr");
542            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
543            $this->verifyNoErrors();
544            //{{{ On ajoute trois consultation
545            //On clique sur Nouveau Dossier
546            $this->byLinkText("Recherche")->click();
547            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
548            $this->verifyNoErrors();
549            //On cherche le dossier d'instruction
550            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
551            // On valide la recherche
552            $this->byId("advanced-form")->submit();
553            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
554            $this->verifyNoErrors();
555            //On clique sur le dossier d'instruction
556            $this->byLinkText($dossier)->click();
557            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
558            $this->verifyNoErrors();
559            //On clique sur Modifier
560            $this->byClassName("edit-16")->click();
561            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
562            $this->verifyNoErrors();
563            //On clique sur l'onglet Consulation
564            $this->byId("consultation")->click();
565            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
566            $this->verifyNoErrors();
567            //On ajoute une consultation
568            $this->addConsultation("1", false);
569            // On y accede
570            $this->byLinkText("Direction de l'Eau et de l'Assainissement")->click();
571            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
572            $this->verifyNoErrors();
573            // On rend l'avis
574            $this->byId("action-sousform-consultation-modifier")->click();
575            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
576            $this->verifyNoErrors();
577            $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Defavorable");
578            $this->byId("motivation")->value("Pas motivé");
579            // Validation de la modification de la demande d'avis
580            //On valide le formulaire
581            $this->byName("f2")->submit();
582            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
583            $this->verifyNoErrors();
584            // On vérifie que le message de validation est présent
585            $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sformulaire .message .text")->text());
586            //On se déconnecte
587            $this->logout();
588        }
589        /*
590         * Ajoute un service
591         * @param string $abrege le nom abrege du service
592         * @param string $libelle le libelle du service
593         *
594         * @return int l'identifiant du service crée
595         */
596        private function addService($abrege, $libelle){
597            
598            //On clique sur le + du tableau
599            $this->byClassName("add-16")->click();
600            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
601            $this->verifyNoErrors();
602            //On remplit les champs obligatoires
603            $this->byId("abrege")->value($abrege);
604            $this->byId("libelle")->value($libelle);
605            //Consultation - Demande d'avis
606            $this->select($this->byId("edition"))->selectOptionByValue("9");
607            //On valide le formulaire
608            $this->byName('f1')->submit();
609            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
610            $this->verifyNoErrors();
611            // On vérifie que le message de validation est présent
612            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
613            //On clique sur le bouton retour
614            $this->byLinkText("Retour")->click();
615            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
616            $this->verifyNoErrors();
617            //On saisie le nom du service dans la recherche simple
618            $this->byClassName("champFormulaire")->value($libelle);
619            //On valide la recherche
620            $this->byName('s1')->submit();
621            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
622            $this->verifyNoErrors();
623            //On clique sur le service
624            $this->byLinkText($libelle)->click();
625            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
626            $this->verifyNoErrors();
627            //On récupère l'identifiant
628            $serviceId = trim($this->byId("service")->text());
629            //On clique sur le bouton Retour
630            $this->byLinkText("Retour")->click();
631            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
632            $this->verifyNoErrors();
633            //On retourne l'identifiant
634            return $serviceId;
635        }
636        
637        /*
638         * Modifie la valeur du paramètre du numéro de service pour le message ERP
639         * @param string $parametre le libelle du paramètre
640         * @param string $valeur la valeur à renseigner
641         *
642         * @return string la valeur précédente du paramètre
643         */
644        private function changeParametreServiceErp($parametre, $valeur){
645            
646            //On vide le champ
647            $this->byClassName("champFormulaire")->clear();
648            //On saisie le nom de la variable dans la recherche simple
649            $this->byClassName("champFormulaire")->value($parametre);
650            //On valide la recherche
651            $this->byName('s1')->submit();
652            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
653            $this->verifyNoErrors();
654            //On clique sur le service
655            $this->byLinkText($parametre)->click();
656            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
657            $this->verifyNoErrors();
658            //On clique sur modifier dans le portail d'action
659            $this->byClassName("edit-16")->click();
660            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
661            $this->verifyNoErrors();
662            //On récupère la valeur actuelle du paramètre
663            $parametre = trim($this->byId("valeur")->attribute('value'));
664            //On vide le champ
665            $this->byId("valeur")->clear();
666            //On change la valeur du paramètre
667            $this->byId("valeur")->value($valeur);
668            //On valide le formulaire
669            $this->byName('f1')->submit();
670            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
671            $this->verifyNoErrors();
672            // On vérifie que le message de validation est présent
673            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
674            //On clique sur le bouton retour
675            $this->byLinkText("Retour")->click();
676            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
677            $this->verifyNoErrors();
678            //On clique sur le bouton retour
679            $this->byLinkText("Retour")->click();
680            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
681            $this->verifyNoErrors();
682            //On retourne la valeur
683            return $parametre;
684        }
685    
686        /*
687         * Ajoute une consultation
688         * @param int $service l'identifiant du service
689         */
690        private function addConsultation($service, $erp = true){
691            //On clique sur le + du tableau
692            $this->byId("action-soustab-consultation-corner-ajouter")->click();
693            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
694            $this->verifyNoErrors();
695            //On choisit le service
696            $this->select($this->byId("service"))->selectOptionByValue($service);
697            //On valide le formulaire
698            $this->byName("f2")->submit();
699            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
700            $this->verifyNoErrors();
701            // On vérifie que le message de validation est présent
702            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
703            // On vérifie que le message d'envoi est présent
704            if( $erp === true ) {
705                $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-consultation .message .text")->text());
706            }
707            //On clique sur le bouton retour
708            $this->byLinkText("Retour")->click();
709            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
710            $this->verifyNoErrors();
711        }
712  }  }
713    
714  ?>  ?>

Legend:
Removed from v.1987  
changed lines
  Added in v.3635

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26