/[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

revision 2112 by softime, Wed Jul 24 17:08:32 2013 UTC revision 3325 by vpihour, Wed Mar 4 13:38:04 2015 UTC
# Line 31  class Consultations extends Base2TestCas Line 31  class Consultations extends Base2TestCas
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->byXPath("//div[@id='sousform-consultation']/table/thead/tr/th/a/span")->click();          $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->byId("date_envoi")->value());  
         } 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->byXPath("//input[@value='Ajouter']")->click();          $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
# Line 50  class Consultations extends Base2TestCas Line 46  class Consultations extends Base2TestCas
46          $this->select($this->byId("service"))->selectOptionByValue("1");          $this->select($this->byId("service"))->selectOptionByValue("1");
47          // On saisit une date d'envoi vide          // On saisit une date d'envoi vide
48          $this->byId("date_envoi")->clear();          $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->alertText());  
         $this->acceptAlert();  
49          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
50          $this->byXPath("//input[@value='Ajouter']")->click();          $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->assertRegExp('/.*SAISIE NON ENREGISTRÉE.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());          $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->byId("date_envoi")->value(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->byXPath("//input[@value='Ajouter']")->click();          $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();sleep(1);          $this->verifyNoErrors();sleep(1);
65          // On vérifie que le message de notification de mail est présent          // On vérifie que le message de notification de mail est présent
# Line 72  class Consultations extends Base2TestCas Line 69  class Consultations extends Base2TestCas
69          // On clique sur le bouton retour          // On clique sur le bouton retour
70          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();          $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->assertRegExp('/.*1 \- 1 enregistrement\(s\) sur 1*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());          $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      }      }
# Line 107  class Consultations extends Base2TestCas Line 104  class Consultations extends Base2TestCas
104          // On sélectionne quatre services          // On sélectionne quatre services
105          $this->byId("t10_572_0_")->click();          $this->byId("t10_572_0_")->click();
106          $this->byId("t10_575_0_")->click();          $this->byId("t10_575_0_")->click();
107          $this->byId("t10_584_0_")->click();          $this->byId("t2_13_0_")->click();
108          $this->byId("t10_542_0_")->click();          $this->byId("t10_542_0_")->click();
109          // On les ajoute à la sélection          // On les ajoute à la sélection
110          $this->byId("add-ser-them")->click();          $this->byId("add-ser-them")->click();
# Line 124  class Consultations extends Base2TestCas Line 121  class Consultations extends Base2TestCas
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->assertRegExp('/.*3 service\(s\) sélectionné\(s\) dont 1 consultation\(s\) papier.*/', $this->byCssSelector("#sousform-consultation .message .text")->text());          $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->assertRegExp('/.*1 - 4 enregistrement\(s\) sur 4*/', $this->byCssSelector("#sousform-consultation .pagination-text")->text());          $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                    
131          // On se connecte en tant que "instr"          // On se connecte en tant que "consu"
132          $this->login("consu", "consu");          // !!! Attention on n'utilise pas la méthode login standard car
133          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // l'utilisateur est redirigé automatiquement vers un autre écran
134          $this->verifyNoErrors();          // sans voir le message de connexion !!!
135          // On clique sur le lien "Demandes en cours" dans le menu          // On se connecte
136          $this->byLinkText("Demandes En Cours")->click();          $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();
146          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
147          $this->byLinkText("AZ 013055 12 00001P0")->click();          $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
# Line 148  class Consultations extends Base2TestCas Line 152  class Consultations extends Base2TestCas
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->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());          $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->byXPath("//input[@value='Modifier']")->click();          $this->byXPath("//input[@value='Modifier']")->click();
158          sleep(1);          sleep(1);
# Line 162  class Consultations extends Base2TestCas Line 166  class Consultations extends Base2TestCas
166          $this->verifyNoErrors();          $this->verifyNoErrors();
167          // Accès à l'onglet des consultations          // Accès à l'onglet des consultations
168          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
169          $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());          $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
170          // 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é
171          $this->verifyNoErrors();          $this->verifyNoErrors();
172          // Saisie de valeurs          // Saisie de valeurs
# Line 193  class Consultations extends Base2TestCas Line 197  class Consultations extends Base2TestCas
197          $this->verifyNoErrors();          $this->verifyNoErrors();
198          // Vérification que la demande d'avis n'est plus presente          // Vérification que la demande d'avis n'est plus presente
199          try {          try {
200              $el = $this->byLinkText("AZ 013055 12 00001P0");              $el = $this->byLinkText("59.13");
201              $this->fail('Cet élément ne devrait pas exister.');              $this->fail('Cet élément ne devrait pas exister.');
202          } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {          } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
203              $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());              $this->assertEquals(PHPUnit_Extensions_Selenium2TestCase_WebDriverException::NoSuchElement, $e->getCode());
# Line 228  class Consultations extends Base2TestCas Line 232  class Consultations extends Base2TestCas
232          $this->verifyNoErrors();          $this->verifyNoErrors();
233          $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());              $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());    
234          // 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
235          $this->byId("code_barres")->value("120000000004");          $this->byId("code_barres")->value("120000000006");
236          $this->byXPath("//input[@value='Valider']")->click();          $this->byXPath("//input[@value='Valider']")->click();
237          // 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é
238          $this->verifyNoErrors();          $this->verifyNoErrors();
239          // On vérifie que le titre de la page est correct          // On vérifie que le titre de la page est correct
240          $this->assertEquals("4", $this->byId("consultation")->value());          $this->assertEquals("6", $this->byId("consultation")->attribute('value'));
241          $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->value());          $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->attribute('value'));
242          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
243          $this->byId("motivation")->value("blablabla");          $this->byId("motivation")->value("blablabla");
244          // Upload de fichier          // Upload de fichier
# Line 251  class Consultations extends Base2TestCas Line 255  class Consultations extends Base2TestCas
255          $this->verifyNoErrors();          $this->verifyNoErrors();
256          // Visualisation du fichier          // Visualisation du fichier
257          $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();          $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
258          $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->value());          $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->attribute('value'));
259            //On ferme l'overlay
260            $this->byCssSelector(".ui-dialog .ui-icon-closethick")->click();
261          //          //
262          $this->byXPath("//input[@value='Modifier']")->click();          $this->byXPath("//input[@value='Modifier']")->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é
# Line 286  class Consultations extends Base2TestCas Line 292  class Consultations extends Base2TestCas
292          $this->assertEquals("1 - 2 enregistrement(s) sur 2", $this->byClassName("pagination-text")->text());          $this->assertEquals("1 - 2 enregistrement(s) sur 2", $this->byClassName("pagination-text")->text());
293          // 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
294          $this->byLinkText("59.01 Direction de l'Eau et de l'Assainissement")->click();          $this->byLinkText("59.01 Direction de l'Eau et de l'Assainissement")->click();
295            // On temporise pour laisser un peu de temps à l'onglet de se charger
296            // (accès direct)
297            sleep(2);
298          // 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é
299          $this->verifyNoErrors();          $this->verifyNoErrors();
300          // 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
301          $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());          $this->assertEquals("6", $this->byCssSelector("#sousform-consultation #consultation")->text());
302          // On clique sur le lien "Marquer comme lu" dans le portlet          // On clique sur le lien "Marquer comme lu" dans le portlet
303          $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();          $this->byId("action-sousform-consultation-lu")->click();
304          // 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é
305          $this->verifyNoErrors();          $this->verifyNoErrors();
306          // 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
307          $this->assertRegExp('/.*Mise a jour effectue avec succes.*/', $this->byCssSelector(".message .text")->text());          $this->assertRegExp('/.*Mise a jour effectue avec succes.*/', $this->byCssSelector(".message .text")->text());
308          // On clique sur le lien retour          // On clique sur le lien retour
309          $this->byCssSelector("#sousform-consultation > #sformulaire > div.formControls > a.retour")->click();          $this->byCssSelector("#sousform-consultation #sformulaire div.formControls a.retour")->click();
310          // 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é
311          $this->verifyNoErrors();          $this->verifyNoErrors();
312          // On vérifie que le nombre de consultations est le bon          // On vérifie que le nombre de consultations est le bon
313          $this->assertEquals("1 - 4 enregistrement(s) sur 4", $this->byClassName("pagination-text")->text());          $this->assertEquals("1 - 5 enregistrement(s) sur 5", $this->byClassName("pagination-text")->text());
314          // On clique sur le lien "Tableau de bord" dans le menu          // On clique sur le lien "Tableau de bord" dans le menu
315          $this->byLinkText("Tableau de bord")->click();          $this->byLinkText("Tableau de bord")->click();
316          // 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é
# Line 311  class Consultations extends Base2TestCas Line 320  class Consultations extends Base2TestCas
320          // On se déconnecte          // On se déconnecte
321          $this->logout();          $this->logout();
322      }      }
323    
324        /*
325         * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
326         * de consultation
327         */
328        public function test_06_envoi_de_message_erp(){
329            
330            // On se connecte en tant que "admin"
331            $this->login("admin", "admin");
332            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
333            $this->verifyNoErrors();
334            
335            //{{{ On ajoute trois services
336            //On clique sur Paramétrage
337            $this->byLinkText("Paramétrage")->click();
338            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
339            $this->verifyNoErrors();
340            //On clique sur Service
341            $this->byLinkText("Service")->click();
342            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
343            $this->verifyNoErrors();
344            //Initialisation de la variable
345            $services = array();
346            //On ajoute trois services
347            for ($i = 1 ; $i < 4 ; $i++){
348                $services[] = $this->addService("test_erp_".$i, "test_service_erp_".$i);
349            }
350            //}}}
351            
352            //{{{ On change trois variables erp_service_accessibilite,
353            // erp_service_securite et erp_service_conformite
354            //Retour sur le tableau de bord
355            $this->byLinkText("Tableau de bord")->click();
356            //On clique sur Administration
357            $this->byLinkText("Administration")->click();
358            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
359            $this->verifyNoErrors();
360            //On clique sur Paramètre
361            $this->byLinkText("Paramètre")->click();
362            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
363            $this->verifyNoErrors();
364            $erp_service_accessibilite = $this->changeParametreServiceErp("erp_service_accessibilite", $services[0]);
365            $erp_service_securite = $this->changeParametreServiceErp("erp_service_securite", $services[1]);
366            $erp_service_conformite = $this->changeParametreServiceErp("erp_service_conformite", $services[2]);
367            
368            ///}}}
369            
370            // On se déconnecte
371            $this->deconnect();
372            
373            // On se connecte en tant que "instr"
374            $this->login("guichet", "guichet");
375            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
376            $this->verifyNoErrors();
377            //{{{On ajoute un dossier d'instruction
378            //On clique sur Nouveau Dossier
379            $this->byLinkText("Nouveau Dossier")->click();
380            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
381            $this->verifyNoErrors();
382            //On choisit le type détaillé de dossier d'autorisation
383            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
384            //On choisit le type de demande - Dépôt initial
385            $this->select($this->byName("demande_type"))->selectOptionByValue("1");
386            //On clique sur "Saisir le pétitionnaire principal"
387            $this->byId("add_petitionnaire_principal")->click();
388            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
389            $this->verifyNoErrors();
390            //On saisie le nom du pétitionnaire principal
391            $this->byId("particulier_nom")->value("test");
392            // On clique sur ajouter
393            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
394            // On vérifie qu'il n'y ait pas d'erreur
395            $this->verifynoerrors();
396            //On vérifie que le pétitionnaire s'est bien ajouté
397            // On vérifie le message
398            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
399            // On clique sur le bouton retour
400            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
401            // On vérifie que le text est présent
402            $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
403            // On clique sur ajouter
404            $this->byXPath("//input[@value='Ajouter']")->click();
405            // On vérifie qu'il n'y ait pas d'erreur
406            $this->verifynoerrors();
407            // On vérifie le message
408            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
409            //On récupère le numéro de dossier d'instruction créé
410            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
411            //On récupère le numéro de dossier
412            $dossier = $dossier[0];
413            
414            //}}}
415            // On se déconnecte
416            $this->deconnect();
417            
418            // On se connecte en tant que "instr"
419            $this->login("instr", "instr");
420            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
421            $this->verifyNoErrors();
422            //{{{ On ajoute trois consultation
423            //On clique sur Nouveau Dossier
424            $this->byLinkText("Recherche")->click();
425            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
426            $this->verifyNoErrors();
427            //On cherche le dossier d'instruction
428            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
429            // On valide la recherche
430            $this->byId("advanced-form")->submit();
431            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
432            $this->verifyNoErrors();
433            //On clique sur le dossier d'instruction
434            $this->byLinkText($dossier)->click();
435            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
436            $this->verifyNoErrors();
437            //On clique sur Modifier
438            $this->byClassName("edit-16")->click();
439            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
440            $this->verifyNoErrors();
441            //On clique sur erp
442            $this->byId("erp")->click();
443            //On valide le formulaire
444            $this->byName("f1")->submit();
445            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
446            $this->verifyNoErrors();
447            // On vérifie le message
448            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
449            //On clique sur l'onglet Consulation
450            $this->byId("consultation")->click();
451            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
452            $this->verifyNoErrors();
453            //On ajoute trois consultations
454            foreach ($services as $value) {
455                $this->addConsultation($value);
456            }
457            
458            //}}}
459            
460            // On se déconnecte
461            $this->deconnect();
462            
463            // On se connecte en tant que "admin"
464            $this->login("admin", "admin");
465            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
466            $this->verifyNoErrors();
467            //{{{ On remet les valeurs par défaut des paramètres
468            //On clique sur Administration
469            $this->byLinkText("Administration")->click();
470            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
471            $this->verifyNoErrors();
472            //On clique sur Paramètre
473            $this->byLinkText("Paramètre")->click();
474            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
475            $this->verifyNoErrors();
476            $this->changeParametreServiceErp("erp_service_accessibilite", $erp_service_accessibilite);
477            $this->changeParametreServiceErp("erp_service_securite", $erp_service_securite);
478            $this->changeParametreServiceErp("erp_service_conformite", $erp_service_conformite);
479            //}}}
480            
481            //On se déconnecte
482            $this->logout();
483        }
484        /*
485         * Ajoute un service
486         * @param string $abrege le nom abrege du service
487         * @param string $libelle le libelle du service
488         *
489         * @return int l'identifiant du service crée
490         */
491        private function addService($abrege, $libelle){
492            
493            //On clique sur le + du tableau
494            $this->byClassName("add-16")->click();
495            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
496            $this->verifyNoErrors();
497            //On remplit les champs obligatoires
498            $this->byId("abrege")->value($abrege);
499            $this->byId("libelle")->value($libelle);
500            //Consultation - Demande d'avis
501            $this->select($this->byId("edition"))->selectOptionByValue("9");
502            //On valide le formulaire
503            $this->byName('f1')->submit();
504            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
505            $this->verifyNoErrors();
506            // On vérifie que le message de validation est présent
507            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
508            //On clique sur le bouton retour
509            $this->byLinkText("Retour")->click();
510            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
511            $this->verifyNoErrors();
512            //On saisie le nom du service dans la recherche simple
513            $this->byClassName("champFormulaire")->value($libelle);
514            //On valide la recherche
515            $this->byName('s1')->submit();
516            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
517            $this->verifyNoErrors();
518            //On clique sur le service
519            $this->byLinkText($libelle)->click();
520            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
521            $this->verifyNoErrors();
522            //On récupère l'identifiant
523            $serviceId = trim($this->byId("service")->text());
524            //On clique sur le bouton Retour
525            $this->byLinkText("Retour")->click();
526            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
527            $this->verifyNoErrors();
528            //On retourne l'identifiant
529            return $serviceId;
530        }
531        
532        /*
533         * Modifie la valeur du paramètre du numéro de service pour le message ERP
534         * @param string $parametre le libelle du paramètre
535         * @param string $valeur la valeur à renseigner
536         *
537         * @return string la valeur précédente du paramètre
538         */
539        private function changeParametreServiceErp($parametre, $valeur){
540            
541            //On vide le champ
542            $this->byClassName("champFormulaire")->clear();
543            //On saisie le nom de la variable dans la recherche simple
544            $this->byClassName("champFormulaire")->value($parametre);
545            //On valide la recherche
546            $this->byName('s1')->submit();
547            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
548            $this->verifyNoErrors();
549            //On clique sur le service
550            $this->byLinkText($parametre)->click();
551            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
552            $this->verifyNoErrors();
553            //On clique sur modifier dans le portail d'action
554            $this->byClassName("edit-16")->click();
555            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
556            $this->verifyNoErrors();
557            //On récupère la valeur actuelle du paramètre
558            $parametre = trim($this->byId("valeur")->attribute('value'));
559            //On vide le champ
560            $this->byId("valeur")->clear();
561            //On change la valeur du paramètre
562            $this->byId("valeur")->value($valeur);
563            //On valide le formulaire
564            $this->byName('f1')->submit();
565            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
566            $this->verifyNoErrors();
567            // On vérifie que le message de validation est présent
568            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
569            //On clique sur le bouton retour
570            $this->byLinkText("Retour")->click();
571            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
572            $this->verifyNoErrors();
573            //On clique sur le bouton retour
574            $this->byLinkText("Retour")->click();
575            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
576            $this->verifyNoErrors();
577            //On retourne la valeur
578            return $parametre;
579        }
580    
581        /*
582         * Ajoute une consultation
583         * @param int $service l'identifiant du service
584         */
585        private function addConsultation($service){
586            
587            //On clique sur le + du tableau
588            $this->byClassName("add-16")->click();
589            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
590            $this->verifyNoErrors();
591            //On choisit le service
592            $this->select($this->byId("service"))->selectOptionByValue($service);
593            //On valide le formulaire
594            $this->byName("f2")->submit();
595            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
596            $this->verifyNoErrors();
597            // On vérifie que le message de validation est présent
598            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
599            // On vérifie que le message d'envoi est présent
600            $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-consultation .message .text")->text());
601            //On clique sur le bouton retour
602            $this->byLinkText("Retour")->click();
603            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
604            $this->verifyNoErrors();
605        }
606  }  }
607    
608  ?>  ?>

Legend:
Removed from v.2112  
changed lines
  Added in v.3325

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26