/[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 3237 by nhaye, Fri Jan 9 17:36:33 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 54  class Consultations extends Base2TestCas Line 50  class Consultations extends Base2TestCas
50          $this->assertEquals("La date saisie n'est pas valide", $this->alertText());          $this->assertEquals("La date saisie n'est pas valide", $this->alertText());
51          $this->acceptAlert();          $this->acceptAlert();
52          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
53          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();sleep(1);
54          // 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é
55          $this->verifyNoErrors();          $this->verifyNoErrors();
56          // On vérifie que le message d'erreur est présent          // On vérifie que le message d'erreur est présent
57          $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);
58          // On saisit une date d'envoi vide          // On saisit une date d'envoi vide
59          $this->byId("date_envoi")->value(date("d/m/Y"));          $this->byId("date_envoi")->value("20/".date("m/Y"));sleep(1);
60            // On ouvre le calendrier
61            /*$this->byCssSelector(".ui-datepicker-trigger")->click();sleep(2);
62            // On clique sur le "20" du mois encours
63            $this->byLinkText("20")->click();sleep(2);*/
64          // On clique sur le bouton "Ajouter" du formulaire          // On clique sur le bouton "Ajouter" du formulaire
65          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();sleep(5);
66          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
67          $this->verifyNoErrors();sleep(1);          $this->verifyNoErrors();sleep(1);
68          // 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 72  class Consultations extends Base2TestCas
72          // On clique sur le bouton retour          // On clique sur le bouton retour
73          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();          $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();
74          // On vérifie que nous avons bien 1 consultation affichée          // On vérifie que nous avons bien 1 consultation affichée
75          $this->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());
76          // On se déconnecte          // On se déconnecte
77          $this->logout();          $this->logout();
78      }      }
# Line 107  class Consultations extends Base2TestCas Line 107  class Consultations extends Base2TestCas
107          // On sélectionne quatre services          // On sélectionne quatre services
108          $this->byId("t10_572_0_")->click();          $this->byId("t10_572_0_")->click();
109          $this->byId("t10_575_0_")->click();          $this->byId("t10_575_0_")->click();
110          $this->byId("t10_584_0_")->click();          $this->byId("t2_13_0_")->click();
111          $this->byId("t10_542_0_")->click();          $this->byId("t10_542_0_")->click();
112          // On les ajoute à la sélection          // On les ajoute à la sélection
113          $this->byId("add-ser-them")->click();          $this->byId("add-ser-them")->click();
# Line 124  class Consultations extends Base2TestCas Line 124  class Consultations extends Base2TestCas
124          // On vérifie que le message de validation est présent avec le bon nombre de consultations          // On vérifie que le message de validation est présent avec le bon nombre de consultations
125          $this->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());
126          // On vérifie que nous avons bien 4 consultations affichées          // On vérifie que nous avons bien 4 consultations affichées
127          $this->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());
128          // On se déconnecte          // On se déconnecte
129          $this->logout();          $this->logout();
130      }      }
131            
132      public function test_03_reponse_a_une_consultation_par_le_service_consulte() {      public function test_03_reponse_a_une_consultation_par_le_service_consulte() {
133                    
134          // On se connecte en tant que "instr"          // On se connecte en tant que "consu"
135          $this->login("consu", "consu");          // !!! Attention on n'utilise pas la méthode login standard car
136          // 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
137          $this->verifyNoErrors();          // sans voir le message de connexion !!!
138          // On clique sur le lien "Demandes en cours" dans le menu          // On se connecte
139          $this->byLinkText("Demandes En Cours")->click();          $this->connect("consu", "consu");
140            // Allonge le temps d'attente lors de la recherche d'élément
141            $this->timeouts()->implicitWait(10000);
142            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
143            $this->verifynoerrors();
144            // On temporise pour laisser le temps au javascript de redirection
145            // de faire son travail
146            sleep(1);
147          // 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é
148          $this->verifyNoErrors();          $this->verifynoerrors();
149          // On clique sur le lien "AZ0130551200001P0" dans le tableau          // On clique sur le lien "AZ0130551200001P0" dans le tableau
150          $this->byLinkText("AZ 013055 12 00001P0")->click();          $this->byLinkText("59.13")->click();
151          // 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é
152          $this->verifyNoErrors();          $this->verifyNoErrors();
153          // 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 155  class Consultations extends Base2TestCas
155          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
156          $this->verifyNoErrors();          $this->verifyNoErrors();
157          // 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
158          $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());          $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
159          // 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
160          $this->byXPath("//input[@value='Modifier']")->click();          $this->byXPath("//input[@value='Modifier']")->click();
161          sleep(1);          sleep(1);
# Line 162  class Consultations extends Base2TestCas Line 169  class Consultations extends Base2TestCas
169          $this->verifyNoErrors();          $this->verifyNoErrors();
170          // Accès à l'onglet des consultations          // Accès à l'onglet des consultations
171          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();          $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
172          $this->assertEquals("3", $this->byCssSelector("#sformulaire #consultation")->value());          $this->assertEquals("9", $this->byCssSelector("#sformulaire #consultation")->attribute('value'));
173          // 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é
174          $this->verifyNoErrors();          $this->verifyNoErrors();
175          // Saisie de valeurs          // Saisie de valeurs
# Line 193  class Consultations extends Base2TestCas Line 200  class Consultations extends Base2TestCas
200          $this->verifyNoErrors();          $this->verifyNoErrors();
201          // Vérification que la demande d'avis n'est plus presente          // Vérification que la demande d'avis n'est plus presente
202          try {          try {
203              $el = $this->byLinkText("AZ 013055 12 00001P0");              $el = $this->byLinkText("59.13");
204              $this->fail('Cet élément ne devrait pas exister.');              $this->fail('Cet élément ne devrait pas exister.');
205          } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {          } catch (PHPUnit_Extensions_Selenium2TestCase_WebDriverException $e) {
206              $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 235  class Consultations extends Base2TestCas
235          $this->verifyNoErrors();          $this->verifyNoErrors();
236          $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());              $this->assertRegExp('/.*Cette consultation n\'existe pas.*/', $this->byCssSelector(".message .text")->text());    
237          // 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
238          $this->byId("code_barres")->value("120000000004");          $this->byId("code_barres")->value("120000000006");
239          $this->byXPath("//input[@value='Valider']")->click();          $this->byXPath("//input[@value='Valider']")->click();
240            sleep(1);
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->assertEquals("4", $this->byId("consultation")->value());          $this->assertEquals("6", $this->byId("consultation")->attribute('value'));
245          $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->value());          $this->assertEquals("AZ 013055 12 00001P0", $this->byId("dossier_libelle")->attribute('value'));
246          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");          $this->select($this->byId("avis_consultation"))->selectOptionByLabel("Favorable");
247          $this->byId("motivation")->value("blablabla");          $this->byId("motivation")->value("blablabla");
248          // Upload de fichier          // Upload de fichier
# Line 251  class Consultations extends Base2TestCas Line 259  class Consultations extends Base2TestCas
259          $this->verifyNoErrors();          $this->verifyNoErrors();
260          // Visualisation du fichier          // Visualisation du fichier
261          $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();          $this->byCssSelector("span.ui-icon.ui-icon-newwin")->click();
262          $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->value());          $this->assertRegExp('/.*lettre_rar16042013124515.pdf.*/', $this->byId("fichier_upload")->attribute('value'));
263            //On ferme l'overlay
264            $this->byCssSelector(".ui-dialog .ui-icon-closethick")->click();
265          //          //
266          $this->byXPath("//input[@value='Modifier']")->click();          $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é
# Line 286  class Consultations extends Base2TestCas Line 296  class Consultations extends Base2TestCas
296          $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());
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->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();
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->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());          $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->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();          $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->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());
312          // On clique sur le lien retour          // On clique sur le lien retour
313          $this->byCssSelector("#sousform-consultation > #sformulaire > div.formControls > a.retour")->click();          $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->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());
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->byLinkText("Tableau de bord")->click();          $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é
# Line 311  class Consultations extends Base2TestCas Line 324  class Consultations extends Base2TestCas
324          // On se déconnecte          // On se déconnecte
325          $this->logout();          $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 saisie le nom du pétitionnaire principal
395            $this->byId("particulier_nom")->value("test");
396            // On clique sur ajouter
397            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
398            // On vérifie qu'il n'y ait pas d'erreur
399            $this->verifynoerrors();
400            //On vérifie que le pétitionnaire s'est bien ajouté
401            // On vérifie le message
402            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
403            // On clique sur le bouton retour
404            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
405            // On vérifie que le text est présent
406            $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
407            // On clique sur ajouter
408            $this->byXPath("//input[@value='Ajouter']")->click();
409            // On vérifie qu'il n'y ait pas d'erreur
410            $this->verifynoerrors();
411            // On vérifie le message
412            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
413            //On récupère le numéro de dossier d'instruction créé
414            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
415            //On récupère le numéro de dossier
416            $dossier = $dossier[0];
417            
418            //}}}
419            // On se déconnecte
420            $this->deconnect();
421            
422            // On se connecte en tant que "instr"
423            $this->login("instr", "instr");
424            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
425            $this->verifyNoErrors();
426            //{{{ On ajoute trois consultation
427            //On clique sur Nouveau Dossier
428            $this->byLinkText("Recherche")->click();
429            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
430            $this->verifyNoErrors();
431            //On cherche le dossier d'instruction
432            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
433            // On valide la recherche
434            $this->byId("advanced-form")->submit();
435            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
436            $this->verifyNoErrors();
437            //On clique sur le dossier d'instruction
438            $this->byLinkText($dossier)->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 Modifier
442            $this->byClassName("edit-16")->click();
443            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
444            $this->verifyNoErrors();
445            //On clique sur erp
446            $this->byId("erp")->click();
447            //On valide le formulaire
448            $this->byName("f1")->submit();
449            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
450            $this->verifyNoErrors();
451            // On vérifie le message
452            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
453            //On clique sur l'onglet Consulation
454            $this->byId("consultation")->click();
455            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
456            $this->verifyNoErrors();
457            //On ajoute trois consultations
458            foreach ($services as $value) {
459                $this->addConsultation($value);
460            }
461            
462            //}}}
463            
464            // On se déconnecte
465            $this->deconnect();
466            
467            // On se connecte en tant que "admin"
468            $this->login("admin", "admin");
469            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
470            $this->verifyNoErrors();
471            //{{{ On remet les valeurs par défaut des paramètres
472            //On clique sur Administration
473            $this->byLinkText("Administration")->click();
474            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
475            $this->verifyNoErrors();
476            //On clique sur Paramètre
477            $this->byLinkText("Paramètre")->click();
478            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
479            $this->verifyNoErrors();
480            $this->changeParametreServiceErp("erp_service_accessibilite", $erp_service_accessibilite);
481            $this->changeParametreServiceErp("erp_service_securite", $erp_service_securite);
482            $this->changeParametreServiceErp("erp_service_conformite", $erp_service_conformite);
483            //}}}
484            
485            //On se déconnecte
486            $this->logout();
487        }
488        /*
489         * Ajoute un service
490         * @param string $abrege le nom abrege du service
491         * @param string $libelle le libelle du service
492         *
493         * @return int l'identifiant du service crée
494         */
495        private function addService($abrege, $libelle){
496            
497            //On clique sur le + du tableau
498            $this->byClassName("add-16")->click();
499            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
500            $this->verifyNoErrors();
501            //On remplit les champs obligatoires
502            $this->byId("abrege")->value($abrege);
503            $this->byId("libelle")->value($libelle);
504            //Consultation - Demande d'avis
505            $this->select($this->byId("edition"))->selectOptionByValue("9");
506            //On valide le formulaire
507            $this->byName('f1')->submit();
508            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
509            $this->verifyNoErrors();
510            // On vérifie que le message de validation est présent
511            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
512            //On clique sur le bouton retour
513            $this->byLinkText("Retour")->click();
514            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
515            $this->verifyNoErrors();
516            //On saisie le nom du service dans la recherche simple
517            $this->byClassName("champFormulaire")->value($libelle);
518            //On valide la recherche
519            $this->byName('s1')->submit();
520            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
521            $this->verifyNoErrors();
522            //On clique sur le service
523            $this->byLinkText($libelle)->click();
524            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
525            $this->verifyNoErrors();
526            //On récupère l'identifiant
527            $serviceId = trim($this->byId("service")->text());
528            //On clique sur le bouton Retour
529            $this->byLinkText("Retour")->click();
530            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
531            $this->verifyNoErrors();
532            //On retourne l'identifiant
533            return $serviceId;
534        }
535        
536        /*
537         * Modifie la valeur du paramètre du numéro de service pour le message ERP
538         * @param string $parametre le libelle du paramètre
539         * @param string $valeur la valeur à renseigner
540         *
541         * @return string la valeur précédente du paramètre
542         */
543        private function changeParametreServiceErp($parametre, $valeur){
544            
545            //On vide le champ
546            $this->byClassName("champFormulaire")->clear();
547            //On saisie le nom de la variable dans la recherche simple
548            $this->byClassName("champFormulaire")->value($parametre);
549            //On valide la recherche
550            $this->byName('s1')->submit();
551            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
552            $this->verifyNoErrors();
553            //On clique sur le service
554            $this->byLinkText($parametre)->click();
555            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
556            $this->verifyNoErrors();
557            //On clique sur modifier dans le portail d'action
558            $this->byClassName("edit-16")->click();
559            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
560            $this->verifyNoErrors();
561            //On récupère la valeur actuelle du paramètre
562            $parametre = trim($this->byId("valeur")->attribute('value'));
563            //On vide le champ
564            $this->byId("valeur")->clear();
565            //On change la valeur du paramètre
566            $this->byId("valeur")->value($valeur);
567            //On valide le formulaire
568            $this->byName('f1')->submit();
569            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
570            $this->verifyNoErrors();
571            // On vérifie que le message de validation est présent
572            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
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 clique sur le bouton retour
578            $this->byLinkText("Retour")->click();
579            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
580            $this->verifyNoErrors();
581            //On retourne la valeur
582            return $parametre;
583        }
584    
585        /*
586         * Ajoute une consultation
587         * @param int $service l'identifiant du service
588         */
589        private function addConsultation($service){
590            
591            //On clique sur le + du tableau
592            $this->byClassName("add-16")->click();
593            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
594            $this->verifyNoErrors();
595            //On choisit le service
596            $this->select($this->byId("service"))->selectOptionByValue($service);
597            //On valide le formulaire
598            $this->byName("f2")->submit();
599            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
600            $this->verifyNoErrors();
601            // On vérifie que le message de validation est présent
602            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
603            // On vérifie que le message d'envoi est présent
604            $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-consultation .message .text")->text());
605            //On clique sur le bouton retour
606            $this->byLinkText("Retour")->click();
607            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
608            $this->verifyNoErrors();
609        }
610  }  }
611    
612  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26