/[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 3134 by vpihour, Mon Aug 18 15:59:26 2014 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")->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 131  class Consultations extends Base2TestCas Line 131  class Consultations extends Base2TestCas
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("AZ 013055 12 00001P0")->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é
# Line 286  class Consultations extends Base2TestCas Line 293  class Consultations extends Base2TestCas
293          $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());
294          // 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
295          $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();
296            // On temporise pour laisser un peu de temps à l'onglet de se charger
297            // (accès direct)
298            sleep(2);
299          // 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é
300          $this->verifyNoErrors();          $this->verifyNoErrors();
301          // 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
302          $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());          $this->assertEquals("3", $this->byCssSelector("#sousform-consultation #consultation")->text());
303          // On clique sur le lien "Marquer comme lu" dans le portlet          // On clique sur le lien "Marquer comme lu" dans le portlet
304          $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();          $this->byId("action-sousform-consultation-lu")->click();
305          // 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é
306          $this->verifyNoErrors();          $this->verifyNoErrors();
307          // 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
# Line 311  class Consultations extends Base2TestCas Line 321  class Consultations extends Base2TestCas
321          // On se déconnecte          // On se déconnecte
322          $this->logout();          $this->logout();
323      }      }
324    
325        /*
326         * Cette méthode teste l'envoi de message au référentiel ERP lors de l'ajout
327         * de consultation
328         */
329        public function test_06_envoi_de_message_erp(){
330            
331            // On se connecte en tant que "admin"
332            $this->login("admin", "admin");
333            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
334            $this->verifyNoErrors();
335            
336            //{{{ On ajoute trois services
337            //On clique sur Paramétrage
338            $this->byLinkText("Paramétrage")->click();
339            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
340            $this->verifyNoErrors();
341            //On clique sur Service
342            $this->byLinkText("Service")->click();
343            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
344            $this->verifyNoErrors();
345            //Initialisation de la variable
346            $services = array();
347            //On ajoute trois services
348            for ($i = 1 ; $i < 4 ; $i++){
349                $services[] = $this->addService("test_erp_".$i, "test_service_erp_".$i);
350            }
351            //}}}
352            
353            //{{{ On change trois variables erp_service_accessibilite,
354            // erp_service_securite et erp_service_conformite
355            //On clique sur Administration
356            $this->byLinkText("Administration")->click();
357            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
358            $this->verifyNoErrors();
359            //On clique sur Paramètre
360            $this->byLinkText("Paramètre")->click();
361            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
362            $this->verifyNoErrors();
363            $erp_service_accessibilite = $this->changeParametreServiceErp("erp_service_accessibilite", $services[0]);
364            $erp_service_securite = $this->changeParametreServiceErp("erp_service_securite", $services[1]);
365            $erp_service_conformite = $this->changeParametreServiceErp("erp_service_conformite", $services[2]);
366            
367            ///}}}
368            
369            // On se déconnecte
370            $this->deconnect();
371            
372            // On se connecte en tant que "instr"
373            $this->login("guichet", "guichet");
374            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
375            $this->verifyNoErrors();
376            //{{{On ajoute un dossier d'instruction
377            //On clique sur Nouveau Dossier
378            $this->byLinkText("Nouveau Dossier")->click();
379            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
380            $this->verifyNoErrors();
381            //On choisit le type détaillé de dossier d'autorisation
382            $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
383            //On choisit le type de demande - Dépôt initial
384            $this->select($this->byName("demande_type"))->selectOptionByValue("1");
385            //On clique sur "Saisir le pétitionnaire principal"
386            $this->byId("add_petitionnaire_principal")->click();
387            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
388            $this->verifyNoErrors();
389            //On saisie le nom du pétitionnaire principal
390            $this->byId("particulier_nom")->value("test");
391            // On clique sur ajouter
392            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
393            // On vérifie qu'il n'y ait pas d'erreur
394            $this->verifynoerrors();
395            //On vérifie que le pétitionnaire s'est bien ajouté
396            // On vérifie le message
397            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
398            // On clique sur le bouton retour
399            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
400            // On vérifie que le text est présent
401            $this->assertContains("test",$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
402            // On clique sur ajouter
403            $this->byXPath("//input[@value='Ajouter']")->click();
404            // On vérifie qu'il n'y ait pas d'erreur
405            $this->verifynoerrors();
406            // On vérifie le message
407            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
408            //On récupère le numéro de dossier d'instruction créé
409            preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
410            //On récupère le numéro de dossier
411            $dossier = $dossier[0];
412            
413            //}}}
414            // On se déconnecte
415            $this->deconnect();
416            
417            // On se connecte en tant que "instr"
418            $this->login("instr", "instr");
419            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
420            $this->verifyNoErrors();
421            //{{{ On ajoute trois consultation
422            //On clique sur Nouveau Dossier
423            $this->byLinkText("Recherche")->click();
424            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
425            $this->verifyNoErrors();
426            //On cherche le dossier d'instruction
427            $this->byId("dossier")->value(str_replace(" ", "", $dossier));
428            // On valide la recherche
429            $this->byId("advanced-form")->submit();
430            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
431            $this->verifyNoErrors();
432            //On clique sur le dossier d'instruction
433            $this->byLinkText($dossier)->click();
434            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
435            $this->verifyNoErrors();
436            //On clique sur Modifier
437            $this->byClassName("edit-16")->click();
438            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
439            $this->verifyNoErrors();
440            //On clique sur erp
441            $this->byId("erp")->click();
442            //On valide le formulaire
443            $this->byName("f1")->submit();
444            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
445            $this->verifyNoErrors();
446            // On vérifie le message
447            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message .text")->text());
448            //On clique sur l'onglet Consulation
449            $this->byId("consultation")->click();
450            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
451            $this->verifyNoErrors();
452            //On ajoute trois consultations
453            foreach ($services as $value) {
454                $this->addConsultation($value);
455            }
456            
457            //}}}
458            
459            // On se déconnecte
460            $this->deconnect();
461            
462            // On se connecte en tant que "admin"
463            $this->login("admin", "admin");
464            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
465            $this->verifyNoErrors();
466            //{{{ On remet les valeurs par défaut des paramètres
467            //On clique sur Administration
468            $this->byLinkText("Administration")->click();
469            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
470            $this->verifyNoErrors();
471            //On clique sur Paramètre
472            $this->byLinkText("Paramètre")->click();
473            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
474            $this->verifyNoErrors();
475            $this->changeParametreServiceErp("erp_service_accessibilite", $erp_service_accessibilite);
476            $this->changeParametreServiceErp("erp_service_securite", $erp_service_securite);
477            $this->changeParametreServiceErp("erp_service_conformite", $erp_service_conformite);
478            //}}}
479            
480            //On se déconnecte
481            $this->logout();
482        }
483        /*
484         * Ajoute un service
485         * @param string $abrege le nom abrege du service
486         * @param string $libelle le libelle du service
487         *
488         * @return int l'identifiant du service crée
489         */
490        private function addService($abrege, $libelle){
491            
492            //On clique sur le + du tableau
493            $this->byClassName("add-16")->click();
494            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
495            $this->verifyNoErrors();
496            //On remplit les champs obligatoires
497            $this->byId("abrege")->value($abrege);
498            $this->byId("libelle")->value($libelle);
499            //Consultation - Demande d'avis
500            $this->select($this->byId("edition"))->selectOptionByValue("9");
501            //On valide le formulaire
502            $this->byName('f1')->submit();
503            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
504            $this->verifyNoErrors();
505            // On vérifie que le message de validation est présent
506            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
507            //On clique sur le bouton retour
508            $this->byLinkText("Retour")->click();
509            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
510            $this->verifyNoErrors();
511            //On saisie le nom du service dans la recherche simple
512            $this->byClassName("champFormulaire")->value($libelle);
513            //On valide la recherche
514            $this->byName('s1')->submit();
515            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
516            $this->verifyNoErrors();
517            //On clique sur le service
518            $this->byLinkText($libelle)->click();
519            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
520            $this->verifyNoErrors();
521            //On récupère l'identifiant
522            $serviceId = trim($this->byId("service")->text());
523            //On clique sur le bouton Retour
524            $this->byLinkText("Retour")->click();
525            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
526            $this->verifyNoErrors();
527            //On retourne l'identifiant
528            return $serviceId;
529        }
530        
531        /*
532         * Modifie la valeur du paramètre du numéro de service pour le message ERP
533         * @param string $parametre le libelle du paramètre
534         * @param string $valeur la valeur à renseigner
535         *
536         * @return string la valeur précédente du paramètre
537         */
538        private function changeParametreServiceErp($parametre, $valeur){
539            
540            //On vide le champ
541            $this->byClassName("champFormulaire")->clear();
542            //On saisie le nom de la variable dans la recherche simple
543            $this->byClassName("champFormulaire")->value($parametre);
544            //On valide la recherche
545            $this->byName('s1')->submit();
546            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
547            $this->verifyNoErrors();
548            //On clique sur le service
549            $this->byLinkText($parametre)->click();
550            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
551            $this->verifyNoErrors();
552            //On clique sur modifier dans le portail d'action
553            $this->byClassName("edit-16")->click();
554            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
555            $this->verifyNoErrors();
556            //On récupère la valeur actuelle du paramètre
557            $parametre = trim($this->byId("valeur")->value());
558            //On vide le champ
559            $this->byId("valeur")->clear();
560            //On change la valeur du paramètre
561            $this->byId("valeur")->value($valeur);
562            //On valide le formulaire
563            $this->byName('f1')->submit();
564            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
565            $this->verifyNoErrors();
566            // On vérifie que le message de validation est présent
567            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector(".message .text")->text());
568            //On clique sur le bouton retour
569            $this->byLinkText("Retour")->click();
570            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
571            $this->verifyNoErrors();
572            //On clique sur le bouton retour
573            $this->byLinkText("Retour")->click();
574            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
575            $this->verifyNoErrors();
576            //On retourne la valeur
577            return $parametre;
578        }
579    
580        /*
581         * Ajoute une consultation
582         * @param int $service l'identifiant du service
583         */
584        private function addConsultation($service){
585            
586            //On clique sur le + du tableau
587            $this->byClassName("add-16")->click();
588            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
589            $this->verifyNoErrors();
590            //On choisit le service
591            $this->select($this->byId("service"))->selectOptionByValue($service);
592            //On valide le formulaire
593            $this->byName("f2")->submit();
594            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
595            $this->verifyNoErrors();
596            // On vérifie que le message de validation est présent
597            $this->assertContains('Vos modifications ont bien été enregistrées.', $this->byCssSelector("#sousform-consultation .message .text")->text());
598            // On vérifie que le message d'envoi est présent
599            $this->assertContains('Le message a été transmis au référentiel ERP.', $this->byCssSelector("#sousform-consultation .message .text")->text());
600            //On clique sur le bouton retour
601            $this->byLinkText("Retour")->click();
602            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
603            $this->verifyNoErrors();
604        }
605  }  }
606    
607  ?>  ?>

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26