/[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 2112 by softime, Wed Jul 24 17:08:32 2013 UTC branches/3.14.x/tests/testConsultations.php revision 3343 by vpihour, Thu Mar 19 17:34:18 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 remplit le champ
391            $this->select($this->byId("particulier_civilite"))->selectOptionByLabel("Monsieur");
392            //On saisie le nom du pétitionnaire principal
393            $this->byId("particulier_nom")->value("test");
394            // On clique sur ajouter
395            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
396            // On vérifie qu'il n'y ait pas d'erreur
397            $this->verifynoerrors();
398            //On vérifie que le pétitionnaire s'est bien ajouté
399            // On vérifie le message
400            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
401            // On clique sur le bouton retour
402            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
403            // On vérifie que le text est présent
404            $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
405            // On clique sur ajouter
406            $this->byXPath("//input[@value='Ajouter']")->click();
407            // On vérifie qu'il n'y ait pas d'erreur
408            $this->verifynoerrors();
409            // On vérifie le message
410            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
411            //On récupère le numéro de dossier d'instruction créé
412            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
413            //On récupère le numéro de dossier
414            $dossier = $dossier[0];
415            
416            //}}}
417            // On se déconnecte
418            $this->deconnect();
419            
420            // On se connecte en tant que "instr"
421            $this->login("instr", "instr");
422            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
423            $this->verifyNoErrors();
424            //{{{ On ajoute trois consultation
425            //On clique sur Nouveau Dossier
426            $this->byLinkText("Recherche")->click();
427            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
428            $this->verifyNoErrors();
429            //On cherche le dossier d'instruction
430            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
431            // On valide la recherche
432            $this->byId("advanced-form")->submit();
433            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
434            $this->verifyNoErrors();
435            //On clique sur le dossier d'instruction
436            $this->byLinkText($dossier)->click();
437            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
438            $this->verifyNoErrors();
439            //On clique sur Modifier
440            $this->byClassName("edit-16")->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 erp
444            $this->byId("erp")->click();
445            //On valide le formulaire
446            $this->byName("f1")->submit();
447            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
448            $this->verifyNoErrors();
449            // On vérifie le message
450            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
451            //On clique sur l'onglet Consulation
452            $this->byId("consultation")->click();
453            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
454            $this->verifyNoErrors();
455            //On ajoute trois consultations
456            foreach ($services as $value) {
457                $this->addConsultation($value);
458            }
459            
460            //}}}
461            
462            // On se déconnecte
463            $this->deconnect();
464            
465            // On se connecte en tant que "admin"
466            $this->login("admin", "admin");
467            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
468            $this->verifyNoErrors();
469            //{{{ On remet les valeurs par défaut des paramètres
470            //On clique sur Administration
471            $this->byLinkText("Administration")->click();
472            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
473            $this->verifyNoErrors();
474            //On clique sur Paramètre
475            $this->byLinkText("Paramètre")->click();
476            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
477            $this->verifyNoErrors();
478            $this->changeParametreServiceErp("erp_service_accessibilite", $erp_service_accessibilite);
479            $this->changeParametreServiceErp("erp_service_securite", $erp_service_securite);
480            $this->changeParametreServiceErp("erp_service_conformite", $erp_service_conformite);
481            //}}}
482            
483            //On se déconnecte
484            $this->logout();
485        }
486        /*
487         * Ajoute un service
488         * @param string $abrege le nom abrege du service
489         * @param string $libelle le libelle du service
490         *
491         * @return int l'identifiant du service crée
492         */
493        private function addService($abrege, $libelle){
494            
495            //On clique sur le + du tableau
496            $this->byClassName("add-16")->click();
497            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
498            $this->verifyNoErrors();
499            //On remplit les champs obligatoires
500            $this->byId("abrege")->value($abrege);
501            $this->byId("libelle")->value($libelle);
502            //Consultation - Demande d'avis
503            $this->select($this->byId("edition"))->selectOptionByValue("9");
504            //On valide le formulaire
505            $this->byName('f1')->submit();
506            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
507            $this->verifyNoErrors();
508            // On vérifie que le message de validation est présent
509            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
510            //On clique sur le bouton retour
511            $this->byLinkText("Retour")->click();
512            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
513            $this->verifyNoErrors();
514            //On saisie le nom du service dans la recherche simple
515            $this->byClassName("champFormulaire")->value($libelle);
516            //On valide la recherche
517            $this->byName('s1')->submit();
518            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
519            $this->verifyNoErrors();
520            //On clique sur le service
521            $this->byLinkText($libelle)->click();
522            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
523            $this->verifyNoErrors();
524            //On récupère l'identifiant
525            $serviceId = trim($this->byId("service")->text());
526            //On clique sur le bouton Retour
527            $this->byLinkText("Retour")->click();
528            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
529            $this->verifyNoErrors();
530            //On retourne l'identifiant
531            return $serviceId;
532        }
533        
534        /*
535         * Modifie la valeur du paramètre du numéro de service pour le message ERP
536         * @param string $parametre le libelle du paramètre
537         * @param string $valeur la valeur à renseigner
538         *
539         * @return string la valeur précédente du paramètre
540         */
541        private function changeParametreServiceErp($parametre, $valeur){
542            
543            //On vide le champ
544            $this->byClassName("champFormulaire")->clear();
545            //On saisie le nom de la variable dans la recherche simple
546            $this->byClassName("champFormulaire")->value($parametre);
547            //On valide la recherche
548            $this->byName('s1')->submit();
549            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
550            $this->verifyNoErrors();
551            //On clique sur le service
552            $this->byLinkText($parametre)->click();
553            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
554            $this->verifyNoErrors();
555            //On clique sur modifier dans le portail d'action
556            $this->byClassName("edit-16")->click();
557            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
558            $this->verifyNoErrors();
559            //On récupère la valeur actuelle du paramètre
560            $parametre = trim($this->byId("valeur")->attribute('value'));
561            //On vide le champ
562            $this->byId("valeur")->clear();
563            //On change la valeur du paramètre
564            $this->byId("valeur")->value($valeur);
565            //On valide le formulaire
566            $this->byName('f1')->submit();
567            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
568            $this->verifyNoErrors();
569            // On vérifie que le message de validation est présent
570            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
571            //On clique sur le bouton retour
572            $this->byLinkText("Retour")->click();
573            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
574            $this->verifyNoErrors();
575            //On clique sur le bouton retour
576            $this->byLinkText("Retour")->click();
577            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
578            $this->verifyNoErrors();
579            //On retourne la valeur
580            return $parametre;
581        }
582    
583        /*
584         * Ajoute une consultation
585         * @param int $service l'identifiant du service
586         */
587        private function addConsultation($service){
588            
589            //On clique sur le + du tableau
590            $this->byClassName("add-16")->click();
591            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
592            $this->verifyNoErrors();
593            //On choisit le service
594            $this->select($this->byId("service"))->selectOptionByValue($service);
595            //On valide le formulaire
596            $this->byName("f2")->submit();
597            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
598            $this->verifyNoErrors();
599            // On vérifie que le message de validation est présent
600            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
601            // On vérifie que le message d'envoi est présent
602            $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-consultation .message .text")->text());
603            //On clique sur le bouton retour
604            $this->byLinkText("Retour")->click();
605            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
606            $this->verifyNoErrors();
607        }
608  }  }
609    
610  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26