/[openfoncier]/trunk/tests/testInstruction.php
ViewVC logotype

Diff of /trunk/tests/testInstruction.php

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

revision 2613 by softime, Fri Dec 13 19:42:52 2013 UTC revision 2815 by nhaye, Wed Mar 12 17:36:54 2014 UTC
# Line 277  class Instruction extends Base2TestCase Line 277  class Instruction extends Base2TestCase
277          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
278          // On se déconnecte          // On se déconnecte
279          $this->deconnect();          $this->deconnect();
280            //{{{ Ajout de d'un nouveau dossier
281            // On se connecte à l'application
282            $this->login("guichet", "guichet");
283            //On clique sur le menu des instructions
284            $this->byLinkText("Nouveau Dossier")->click();
285            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
286            $this->verifyNoErrors();
287            //On ajoute un nouveau dossier
288            $dossier = $this->addDossierInstruction(1, 1);
289            // On se déconnecte
290            $this->deconnect();
291            //}}}
292          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
293          $this->login("instr", "instr");          $this->login("instr", "instr");
294          // 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 Instruction extends Base2TestCase Line 298  class Instruction extends Base2TestCase
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          sleep(1);          sleep(1);
301          // On clique sur le lien "DP 013055 12 00001P0" dans le tableau          // On clique sur le dossier dernièrement créé
302          $this->byLinkText("DP 013055 12 00001P0")->click();          $this->byLinkText($dossier)->click();
303          // 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é
304          $this->verifyNoErrors();          $this->verifyNoErrors();
305          // On clique sur l'onglet "Instruction"          // On clique sur l'onglet "Instruction"
# Line 299  class Instruction extends Base2TestCase Line 311  class Instruction extends Base2TestCase
311          $this->byCssSelector(".actions-max-1 a")->click();          $this->byCssSelector(".actions-max-1 a")->click();
312          // 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é
313          $this->verifyNoErrors();          $this->verifyNoErrors();
314          //On choisi un événement          //On choisi l'événement CDEC majoration appel decision [majoration]
315          $this->select($this->byId("evenement"))->selectOptionByValue("22");          $this->select($this->byId("evenement"))->selectOptionByValue("22");
316          //On valide le formulaire          //On valide le formulaire
317          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
318            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
319            $this->verifyNoErrors();
320          // On vérifie le mesage d'erreur          // On vérifie le mesage d'erreur
321          $this->assertRegExp('/.*Restriction non valide*/', $this->byCssSelector("#sousform-instruction .message .text")->text());          $this->assertRegExp('/.*Restriction non valide*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
322          // On se déconnecte          // On se déconnecte
# Line 335  class Instruction extends Base2TestCase Line 349  class Instruction extends Base2TestCase
349          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());          $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/",$this->byCssSelector("#tabs-1 .message")->text());
350          // On se déconnecte          // On se déconnecte
351          $this->deconnect();          $this->deconnect();
352    //
353          // On se connecte en tant que "instr"          // On se connecte en tant que "instr"
354          $this->login("instr", "instr");          $this->login("instr", "instr");
355          // 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 344  class Instruction extends Base2TestCase Line 359  class Instruction extends Base2TestCase
359          // 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é
360          $this->verifyNoErrors();          $this->verifyNoErrors();
361          sleep(1);          sleep(1);
362          // On clique sur le lien "DP 013055 12 00001P0" dans le tableau          // On clique sur le dossier dernièrement créé
363          $this->byLinkText("DP 013055 12 00001P0")->click();          $this->byLinkText($dossier)->click();
364          // 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é
365          $this->verifyNoErrors();          $this->verifyNoErrors();
366          // On clique sur l'onglet "Instruction"          // On clique sur l'onglet "Instruction"
# Line 357  class Instruction extends Base2TestCase Line 372  class Instruction extends Base2TestCase
372          $this->byCssSelector(".actions-max-1 a")->click();          $this->byCssSelector(".actions-max-1 a")->click();
373          // 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é
374          $this->verifyNoErrors();          $this->verifyNoErrors();
375          //On choisi un événement          //On choisi l'événement CDEC majoration appel decision [majoration]
376          $this->select($this->byId("evenement"))->selectOptionByValue("22");          $this->select($this->byId("evenement"))->selectOptionByValue("22");
377          //On valide le formulaire          //On valide le formulaire
378          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
# Line 395  class Instruction extends Base2TestCase Line 410  class Instruction extends Base2TestCase
410          $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',          $this->assertRegExp('/^[\s\S]*V64[\s\S]*$/',
411              $this->byCssSelector("#tab-bible")->text());              $this->byCssSelector("#tab-bible")->text());
412          // On choisit plusieurs éléments          // On choisit plusieurs éléments
413          $this->byId('checkbox0')->click();          $this->byId('checkbox4')->click();
414          $this->byId('checkbox1')->click();          $this->byId('checkbox5')->click();
415          // On valide le formulaire          // On valide le formulaire
416          $this->byXPath("//input[@value='Valider']")->click();          $this->byXPath("//input[@value='Valider']")->click();
417          // On vérifie le contenu du champ "complément"          // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
418          $this->assertRegExp('/^[\s\S]*Vu l\'avis favorable de l\'Architecte des Bâtiments de France en date du[\s\S]*$/', $this->byCssSelector("#complement")->text());          $this->verifyNoErrors();
         $this->assertRegExp('/^[\s\S]*Vu l\'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du[\s\S]*$/', $this->byCssSelector("#complement")->text());  
419          // On valide le formulaire          // On valide le formulaire
420          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
421          // 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é
422          $this->verifyNoErrors();          $this->verifyNoErrors();
423          sleep(1);          // On vérifie le message de validation
424          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());          $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
425          //On retourne sur le tableau d'instructions          //On retourne sur le tableau d'instructions
426          $this->byCssSelector("#sousform-instruction .retour")->click();          $this->byCssSelector("#sousform-instruction .retour")->click();
427          // 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é
428          $this->verifyNoErrors();          $this->verifyNoErrors();
429          //On affiche l'instruction          // On clique sur l'instruction
430          $this->byLinkText("accepter un dossier sans réserve")->click();          $this->byLinkText("accepter un dossier sans réserve")->click();
431          // 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é
432          $this->verifyNoErrors();          $this->verifyNoErrors();
433            // On vérifie le contenu du champ "complément"
434            $this->assertContains("Vu l'avis favorable de l'Architecte des Bâtiments de France en date du", $this->byId("complement_om_html")->text());
435            $this->assertContains("Vu l'avis favorable avec prescriptions de la Direction Régionale des Affaires Culturelles en date du", $this->byId("complement_om_html")->text());
436          //On vérifie que certains champs apparaissent          //On vérifie que certains champs apparaissent
437          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
438          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());          $this->assertTrue($this->byClassName("libelle-date_envoi_controle_legalite")->displayed());
439          // On se déconnecte          // On se déconnecte
440            $this->deconnect();
441    
442            //{{{
443            // Ajout de d'un nouveau dossier pour test d'ajout d'événement d'instruction
444            // sans lettretype
445            // On se connecte à l'application
446            $this->login("guichet", "guichet");
447            //On clique sur le menu des instructions
448            $this->byLinkText("Nouveau Dossier")->click();
449            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
450            $this->verifyNoErrors();
451            //On ajoute un nouveau dossier
452            $dossier = $this->addDossierInstruction(1, 1, "Test instruction sans édition");
453            // On se déconnecte
454            $this->deconnect();
455            // On se connecte en tant que "instr"
456            $this->login("instr", "instr");
457            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
458            $this->verifyNoErrors();
459            // On clique sur le lien "Mes encours" dans le menu
460            $this->byLinkText("Mes Encours")->click();
461            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
462            $this->verifyNoErrors();
463            sleep(1);
464            // On clique sur le dossier dernièrement créé
465            $this->byLinkText($dossier)->click();
466            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
467            $this->verifyNoErrors();
468            // On clique sur l'onglet "Instruction"
469            $this->byId("instruction")->click();
470            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
471            $this->verifyNoErrors();
472            //Ajout d'une instruction de refus
473            // On clique sur le lien d'ajout dans le tableau
474            $this->byCssSelector(".actions-max-1 a")->click();
475            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
476            $this->verifyNoErrors();
477            //On choisi l'événement Refus HS
478            $this->select($this->byId("evenement"))->selectOptionByValue("94");
479            //On valide le formulaire
480            $this->byXPath("//input[@value='Ajouter']")->click();
481            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
482            $this->verifyNoErrors();
483            // On vérifie le mesage de validation
484            $this->assertRegExp(
485                '/.*Vos modifications ont bien été enregistrées.*/',
486                $this->byCssSelector("#sousform-instruction .message .text")->text()
487            );
488            //On retourne sur le tableau d'instructions
489            $this->byCssSelector("#sousform-instruction .retour")->click();
490            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
491            $this->verifyNoErrors();
492            // On clique sur l'instruction
493            $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
494            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
495            $this->verifyNoErrors();
496            // On vérifie qu'il n'y a pas d'action "Édition" dans le portlet d'actions
497            $test = preg_match(
498                '/Édition/i',
499                $this->byCssSelector("#sousform-instruction #portlet-actions")->text()
500            );
501            $this->assertTrue(!$test);
502            // On vérifie qu'il n'y a pas d'action "Finaliser le document" dans
503            // le portlet d'actions
504            $test = preg_match(
505                '/Finaliser le document/i',
506                $this->byCssSelector("#sousform-instruction #portlet-actions")->text()
507            );
508            $this->assertTrue(!$test);
509            // On se déconnecte
510          $this->logout();          $this->logout();
511            // }}}
512      }      }
513    
514      /**      /**
# Line 476  class Instruction extends Base2TestCase Line 564  class Instruction extends Base2TestCase
564          // On se déconnecte          // On se déconnecte
565          $this->logout();          $this->logout();
566      }      }
567    //
568      /**      /**
569       * Test du lien automatique entre choix autorité compétente dans DI et       * Test du lien automatique entre choix autorité compétente dans DI et
570       * évènement d'instruction à créer       * évènement d'instruction à créer
# Line 522  class Instruction extends Base2TestCase Line 610  class Instruction extends Base2TestCase
610          $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());          $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
611          // On se déconnecte          // On se déconnecte
612          $this->deconnect();          $this->deconnect();
613    //
614          // On se connecte en tant que "admin"          // On se connecte en tant que "admin"
615          $this->login("admin", "admin");          $this->login("admin", "admin");
616          sleep(1);          sleep(1);
# Line 533  class Instruction extends Base2TestCase Line 621  class Instruction extends Base2TestCase
621          $this->byLinkText("AZ 013055 12 00001P0")->click();          $this->byLinkText("AZ 013055 12 00001P0")->click();
622          // 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é
623          $this->verifyNoErrors();          $this->verifyNoErrors();
624          // On verifie que l'autorité compétente à changée.          // On verifie que l'autorité compétente à changée
625          $this->assertRegExp('/.*Commune pour état*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());          $this->assertEquals('Commune pour état', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
626          // On clique sur l'onglet "Instruction"          // On clique sur l'onglet "Instruction"
627          $this->byId("instruction")->click();          $this->byId("instruction")->click();
628          $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();          $this->byLinkText("Changer l'autorité compétente 'commune état'")->click();
629          sleep(1);          sleep(1);
630          // 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é
631          $this->verifyNoErrors();          $this->verifyNoErrors();
         $this->byXPath("(//div[@id='portlet-actions']/ul/li[2]/a/span)[2]")->click();  
632          // On supprime l'element et on verifie le retour de l'autorité "commune"          // On supprime l'element et on verifie le retour de l'autorité "commune"
633          $this->byCssSelector("form[name=\"f2\"] > a.retour")->click();          $this->byId("action-sousform-instruction-supprimer")->click();
634            // On valide le formulaire
635            $this->byXPath("//input[@value='Supprimer']")->click();sleep(1);
636            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
637            $this->verifyNoErrors();
638            // On clique sur le bouton retour
639            $this->byLinkText("Retour")->click();
640            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
641            $this->verifyNoErrors();
642            // On vérifie que l'événement d'instruction n'est plus dans le tableau
643            $this->assertNotContains("Changer l'autorité compétente 'commune état'", $this->byId("sousform-instruction")->text());
644          // Retour à l'onglet principal          // Retour à l'onglet principal
645          $this->byId("main")->click();          $this->byId("main")->click();
646            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
647            $this->verifyNoErrors();
648            // On rafraîchit la page
649          $this->refresh();          $this->refresh();
650          // 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é
651          $this->verifyNoErrors();          $this->verifyNoErrors();
652          // On verifie que l'autorité compétente à changée.          // On verifie que l'autorité compétente à changée.
653          $this->assertRegExp('/.*Commune*/', $this->byCssSelector("#tabs-1 #autorite_competente")->text());          $this->assertEquals('Commune', $this->byCssSelector("#tabs-1 #autorite_competente")->text());
654          // On se déconnecte          // On se déconnecte
655          $this->deconnect();          $this->deconnect();
656      }      }
# Line 566  class Instruction extends Base2TestCase Line 666  class Instruction extends Base2TestCase
666          // On vérifie la déconnexion          // On vérifie la déconnexion
667          $this->verifyDeconnect();          $this->verifyDeconnect();
668      }      }
669    //
670      /**      /**
671       * Test de l'ajout de données techniques au dossier       * Test de l'ajout de données techniques au dossier
672       */       */
# Line 634  class Instruction extends Base2TestCase Line 734  class Instruction extends Base2TestCase
734          sleep(1);          sleep(1);
735          // On se déconnecte          // On se déconnecte
736          $this->logout();          $this->logout();
737    //
738      }      }
739    //
740      /**      /**
741       * Test un événement d'instruction qui a un événement "retour"       * Test un événement d'instruction qui a un événement "retour"
742       */       */
743      public function test_08_evenement_instruction_retour() {      public function test_08_evenement_instruction_retour() {
744    //
         // Instancie la timezone  
         date_default_timezone_set('Europe/Paris');  
   
745          // On se connecte à l'application en tant qu'administrateur          // On se connecte à l'application en tant qu'administrateur
746          $this->login("admin", "admin");          $this->login("admin", "admin");
747          // 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é
748          $this->verifyNoErrors();          $this->verifyNoErrors();
749    //
750          /** On ajoute une action "retour signature" **/          /** On ajoute une action "retour signature" **/
751          // On clique sur le menu "Paramétrage Dossiers"          // On clique sur le menu "Paramétrage Dossiers"
752          $this->byLinkText("Paramétrage Dossiers")->click();          $this->byLinkText("Paramétrage Dossiers")->click();
# Line 671  class Instruction extends Base2TestCase Line 768  class Instruction extends Base2TestCase
768          // On vérifie le message de validation          // On vérifie le message de validation
769          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
770          /** Fin **/          /** Fin **/
771    //
772          /** On ajoute un événement "retour signature" **/          /** On ajoute un événement "retour signature" **/
773          // On clique sur le sous-menu "Événement"          // On clique sur le sous-menu "Événement"
774          $this->byLinkText("Événement")->click();          $this->byLinkText("Événement")->click();
# Line 714  class Instruction extends Base2TestCase Line 811  class Instruction extends Base2TestCase
811          // On vérifie le message de validation          // On vérifie le message de validation
812          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
813          /** Fin **/          /** Fin **/
814    //
815          /** On ajoute une durée de validité au type de DA PCI **/          /** On ajoute une durée de validité au type de DA PCI **/
816          // On clique sur le sous-menu "Type DA Détaillé"          // On clique sur le sous-menu "Type DA Détaillé"
817          $this->byLinkText("Type DA Détaillé")->click();          $this->byLinkText("Type DA Détaillé")->click();
# Line 732  class Instruction extends Base2TestCase Line 829  class Instruction extends Base2TestCase
829          // On vérifie le message de validation          // On vérifie le message de validation
830          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());          $this->assertContains("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
831          /** Fin **/          /** Fin **/
832    //
833          /** On instancie une nouvelle demande initial PCI **/          /** On instancie une nouvelle demande initial PCI **/
834          // On clique sur le menu "Guichet Unique"          // On clique sur le menu "Guichet Unique"
835          $this->byLinkText("Guichet Unique")->click();          $this->byLinkText("Guichet Unique")->click();
# Line 786  class Instruction extends Base2TestCase Line 883  class Instruction extends Base2TestCase
883          preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);          preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector(".message .text")->text(), $dossier);
884          $dossier = $dossier[0];          $dossier = $dossier[0];
885          /** Fin **/          /** Fin **/
886    //
887          /** On ajoute une instruction de dossier accepter et on la finalise **/          /** On ajoute une instruction de dossier accepter et on la finalise **/
888          // On clique sur le menu "Instruction"          // On clique sur le menu "Instruction"
889          $this->byLinkText("Instruction")->click();          $this->byLinkText("Instruction")->click();
# Line 831  class Instruction extends Base2TestCase Line 928  class Instruction extends Base2TestCase
928          // Récupération du numéro d'événement          // Récupération du numéro d'événement
929          $evenement = $this->byCssSelector("#instruction.field_value")->text();          $evenement = $this->byCssSelector("#instruction.field_value")->text();
930          /** Fin **/          /** Fin **/
931    //
932          /** On met à jour la date de retour signature **/          /** On met à jour la date de retour signature **/
933          // Date de retour signature          // Date de retour signature
934          $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5,  date("Y")));          $date_retour_signature = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d")+5,  date("Y")));
# Line 859  class Instruction extends Base2TestCase Line 956  class Instruction extends Base2TestCase
956          // On vérifie le message de validation          // On vérifie le message de validation
957          $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());          $this->assertContains("Saisie enregistrée",$this->byCssSelector(".message .text")->text());
958          /** Fin **/          /** Fin **/
959    //
960          /** Vérifie l'instruction "retour" et le DI **/          /** Vérifie l'instruction "retour" et le DI **/
961          // Date de validité          // Date de validité
962          $date_validite = date("d/m/Y", mktime(0, 0, 0, date("m")+5, date("d")+5,  date("Y")));          $date_validite = $this->mois_date(date("Y-m-d", mktime(0, 0, 0, date("m"), date("d")+5,  date("Y"))), 5, "+");
963            $date_validite = date("d/m/Y", strtotime($date_validite));
964          // On clique sur le menu "Instruction"          // On clique sur le menu "Instruction"
965          $this->byLinkText("Instruction")->click();          $this->byLinkText("Instruction")->click();
966          // 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 886  class Instruction extends Base2TestCase Line 984  class Instruction extends Base2TestCase
984          // On contrôle la date de retour signature          // On contrôle la date de retour signature
985          $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());          $this->assertContains($date_retour_signature, $this->byId("date_retour_signature")->text());
986          /** Fin **/          /** Fin **/
987    //
988          // On se déconnecte          // On se déconnecte
989          $this->logout();          $this->logout();
990    //
991      }      }
992            //
993      /**      /**
994       * Test la suppression d'un événement d'instruction lié à une demande qui ne       * Test la suppression d'un événement d'instruction lié à une demande qui ne
995       * créée pas de nouveau dossier d'instruction       * créée pas de nouveau dossier d'instruction
996       */       */
997      public function test_09_suppression_evenement_demande(){      public function test_09_suppression_evenement_demande(){
998                    //
999          //Ajout du paramétrage d'une nouvelle demande          //Ajout du paramétrage d'une nouvelle demande
1000          // On se connecte à l'application en tant qu'administrateur          // On se connecte à l'application en tant qu'administrateur
1001          $this->login("admin", "admin");          $this->login("admin", "admin");
# Line 918  class Instruction extends Base2TestCase Line 1016  class Instruction extends Base2TestCase
1016          //On saisit le type de la demande          //On saisit le type de la demande
1017          $this->byId("code")->value("test_09_suppression");          $this->byId("code")->value("test_09_suppression");
1018          $this->byId("libelle")->value("test_09_suppression");          $this->byId("libelle")->value("test_09_suppression");
1019            // On sélectionne le groupe 'Autorisation ADS'
1020          $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);          $this->select($this->byId("groupe"))->selectOptionByValue("1");sleep(1);
1021            // On sélectionne 'AZ (Demande d'autorisation spéciale de travaux dans
1022            // le périmètre d'une AVAP)'
1023          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");sleep(1);
1024            // On sélectionne la nature 'Dossier existant'
1025          $this->select($this->byId("demande_nature"))->selectOptionByValue("2");          $this->select($this->byId("demande_nature"))->selectOptionByValue("2");
1026            // On sélectionne l'état 'En cours'
1027          $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");          $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue("1");
1028            // On sélectionne l'événement 'Defrichement soumis a enquete publique'
1029          $this->select($this->byId("evenement"))->selectOptionByValue("15");          $this->select($this->byId("evenement"))->selectOptionByValue("15");
1030            // On sélectionne la contrainte 'Avec récupération demandeur'
1031          $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");          $this->select($this->byId("contraintes"))->selectOptionByValue("avec_recup");
1032          // On clique sur le bouton ajouter          // On clique sur le bouton ajouter
1033          $this->byXPath("//input[@value='Ajouter']")->click();          $this->byXPath("//input[@value='Ajouter']")->click();
# Line 932  class Instruction extends Base2TestCase Line 1037  class Instruction extends Base2TestCase
1037          $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());          $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1038          //On se déconnecte          //On se déconnecte
1039          $this->deconnect();          $this->deconnect();
1040                    //
1041          //Création d'un nouveau dossier d'instruction          //Création d'un nouveau dossier d'instruction
1042          // On se connecte à l'application          // On se connecte à l'application
1043          $this->login("guichet", "guichet");          $this->login("guichet", "guichet");
         //On clique sur "Guichet Unique"  
         $this->byLinkText("Guichet Unique")->click();  
         // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché  
         $this->verifyNoErrors();  
1044          //On clique sur "Dossier En Cours"          //On clique sur "Dossier En Cours"
1045          $this->byLinkText("Dossier En Cours")->click();          $this->byLinkText("Dossier En Cours")->click();
1046          // 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 958  class Instruction extends Base2TestCase Line 1059  class Instruction extends Base2TestCase
1059          $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());          $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1060          //On se déconnecte          //On se déconnecte
1061          $this->deconnect();          $this->deconnect();
1062                    //
1063          //Suppression de l'événement d'instruction          //Suppression de l'événement d'instruction
1064          // On se connecte à l'application          // On se connecte à l'application
1065          $this->login("admin", "admin");          $this->login("admin", "admin");
# Line 1000  class Instruction extends Base2TestCase Line 1101  class Instruction extends Base2TestCase
1101          // On se déconnecte          // On se déconnecte
1102          $this->logout();          $this->logout();
1103      }      }
1104    //
1105        /**
1106         * Test sur les types d'éditions des consultations
1107         */
1108        function test_10_nouveau_type_edition_consultation(){
1109            //
1110            //On saisit un service de test        
1111            // On se connecte à l'application
1112            $this->login("admin", "admin");
1113            //On clique sur "Paramétrage"
1114            $this->byLinkText("Paramétrage")->click();
1115            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1116            $this->verifyNoErrors();
1117            //On clique sur "Service"
1118            $this->byLinkText("Service")->click();
1119            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1120            $this->verifyNoErrors();        
1121            //On clique sur le "+" du tableau
1122            $this->byClassName("add-16")->click();
1123            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1124            $this->verifyNoErrors();
1125            //On saisit les données du service
1126            $this->byId("abrege")->value("test_10");
1127            $this->byId("libelle")->value("test_10");
1128            $this->byId("consultation_papier")->click();
1129            $this->select($this->byId("edition"))->selectOptionByLabel("test_10");
1130            // On clique sur le bouton ajouter
1131            $this->byXPath("//input[@value='Ajouter']")->click();
1132            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1133            $this->verifyNoErrors();
1134            // On vérifie que le service a bien été ajouté
1135            $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1136            //On se déconnecte
1137            $this->deconnect();
1138            //
1139            //On ajoute une consultation sur un dossier et on vérifie l'édition
1140            // On se connecte à l'application
1141            $this->login("instr", "instr");
1142            //On clique sur "Recherche"
1143            $this->byLinkText("Recherche")->click();
1144            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1145            $this->verifyNoErrors();
1146            //On choisit le dossier "AZ 013055 12 00001P0"
1147            $this->byLinkText("AZ 013055 12 00001P0")->click();
1148            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1149            $this->verifyNoErrors();
1150            //On clique sur l'onglet "Consultation"
1151            $this->byId("consultation")->click();
1152            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1153            $this->verifyNoErrors();
1154            //On clique sur le "+" du tableau
1155            $this->byClassName("add-16")->click();
1156            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1157            $this->verifyNoErrors();
1158            //On saist une nouvelle consultation
1159            $this->select($this->byId("service"))->selectOptionByLabel("test_10");
1160            // On clique sur le bouton ajouter
1161            $this->byXPath("//input[@value='Ajouter']")->click();
1162            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1163            $this->verifyNoErrors();
1164            // On vérifie que la consultation a bien été ajoutée
1165            $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1166            //On clique sur retour
1167            $this->byCssSelector("#sousform-consultation .retour")->click();
1168            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1169            $this->verifyNoErrors();
1170            //On clique sur la consultation au service "test_10"
1171            $this->byLinkText("test_10")->click();
1172            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1173            $this->verifyNoErrors();
1174            //On affiche le PDF
1175            $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1176            // Liste les fenêtres
1177            $windows = $this->windowHandles();
1178            // Change la fenêtre
1179            $this->window($windows[1]);
1180            // On vérifie qu'il n'y ait pas d'erreur
1181            $this->verifynoerrors();
1182            // On vérifie que le text est présent
1183            $this->assertContains("test_10",$this->source());
1184            $this->assertNotContains("test_10_2",$this->source());
1185            // On ferme la fenêtre
1186            $this->closeWindow();
1187            // On change le focus de la fenêtre
1188            $this->window($windows[0]);
1189            //On se déconnecte
1190            $this->deconnect();
1191            //
1192            //On change l'édition
1193            // On se connecte à l'application
1194            $this->login("admin", "admin");
1195            //On clique sur "Paramétrage"
1196            $this->byLinkText("Paramétrage")->click();
1197            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1198            $this->verifyNoErrors();
1199            //On clique sur "Service"
1200            $this->byLinkText("Service")->click();
1201            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1202            $this->verifyNoErrors();
1203            //On cherche le service
1204            $this->byName("recherche")->value("test_10");
1205            //On valide
1206            $this->byName("s1")->click();
1207            //On clique sur le service test_10
1208            $this->byLinkText("test_10")->click();
1209            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1210            $this->verifyNoErrors();
1211            //On clique sur "Modifier" dans le portail d'action
1212            $this->byClassName("edit-16")->click();
1213            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1214            $this->verifyNoErrors();
1215            //On choisit une seconde édition
1216            $this->select($this->byId("edition"))->selectOptionByLabel("test_10_2");
1217            // On clique sur le bouton ajouter
1218            $this->byXPath("//input[@value='Modifier']")->click();
1219            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1220            $this->verifyNoErrors();
1221            // On vérifie que le service a bien été ajouté
1222            $this->assertContains('Vos modifications ont bien été enregistrées', $this->byCssSelector(".message .text")->text());
1223            //On se déconnecte
1224            $this->deconnect();
1225            //
1226            //On vérifie que c'est la bonne édition qui est affiché
1227            // On se connecte à l'application
1228            $this->login("instr", "instr");
1229            //On clique sur "Recherche"
1230            $this->byLinkText("Recherche")->click();
1231            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1232            $this->verifyNoErrors();
1233            //On choisit le dossier "AZ 013055 12 00001P0"
1234            $this->byLinkText("AZ 013055 12 00001P0")->click();
1235            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1236            $this->verifyNoErrors();
1237            //On clique sur l'onglet "Consultation"
1238            $this->byId("consultation")->click();
1239            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1240            $this->verifyNoErrors();
1241            //On clique sur la consultation au service "test_10"
1242            $this->byLinkText("test_10")->click();
1243            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1244            $this->verifyNoErrors();
1245            //on definalise la consultaion
1246            $this->byClassName("definalise")->click();
1247            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1248            $this->verifyNoErrors();
1249            //On vérifie que la consultation s'est bien définalisée
1250            $this->assertEquals('La definalisation du document s\'est effectuée avec succès.', $this->byCssSelector("#sousform-consultation .message .text")->text());sleep(10);
1251            //On affiche le PDF
1252            $this->byId("action-sousform-consultation-pdfetat")->click();sleep(5);
1253            // Liste les fenêtres
1254            $windows = $this->windowHandles();
1255            // Change la fenêtre
1256            $this->window($windows[1]);
1257            // On vérifie qu'il n'y ait pas d'erreur
1258            $this->verifynoerrors();
1259            // On vérifie que le text est présent
1260            $this->assertContains("test_10_2",$this->source());
1261            // On ferme la fenêtre
1262            $this->closeWindow();
1263            // On change le focus de la fenêtre
1264            $this->window($windows[0]);
1265            //
1266            // On se déconnecte
1267            $this->logout();
1268        }
1269    //
1270      /**      /**
1271       * Test sur un événement non verrouillable       * Test sur un événement non verrouillable
1272       */       */
1273      public function test_10_evenement_non_verrouillable(){      public function test_11_evenement_non_verrouillable(){
1274    //
1275          /* On crée une nouvelle demande initial */          /* On crée une nouvelle demande initial */
1276          // On se connecte à l'application          // On se connecte à l'application
1277          $this->login("guichet", "guichet");          $this->login("guichet", "guichet");
# Line 1015  class Instruction extends Base2TestCase Line 1281  class Instruction extends Base2TestCase
1281          $this->verifynoerrors();          $this->verifynoerrors();
1282          // On vérifie le nom de l'onglet          // On vérifie le nom de l'onglet
1283          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());          $this->assertEquals("Demande", $this->byCssSelector("ul.ui-tabs-nav li.ui-state-default a")->text());
1284          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"          // On sélectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"
1285          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");          $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByLabel("Permis de construire pour une maison individuelle et / ou ses annexes");
1286          // On selectionne le label "Permis de construire pour une maison individuelle et / ou ses annexes"          // On selectionne le label "Dépôt Initial"
1287          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");          $this->select($this->byId("demande_type"))->selectOptionByLabel("Dépôt Initial");
1288          // On clique pour ajouter un pétitionnaire principale          // On clique pour ajouter un pétitionnaire principale
1289          $this->byId("add_petitionnaire_principal")->click();          $this->byId("add_petitionnaire_principal")->click();
# Line 1087  class Instruction extends Base2TestCase Line 1353  class Instruction extends Base2TestCase
1353          // On se déconnecte          // On se déconnecte
1354          $this->deconnect();          $this->deconnect();
1355          /* Fin */          /* Fin */
1356    //
1357          /* On accepte le dossier d'instruction et le finalise */          /* On accepte le dossier d'instruction et le finalise */
1358          // On se connecte à l'application          // On se connecte à l'application
1359          $this->login("instr", "instr");          $this->login("instr", "instr");
# Line 1132  class Instruction extends Base2TestCase Line 1398  class Instruction extends Base2TestCase
1398          $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());          $this->assertContains("La finalisation du document s'est effectuée avec succès.",$this->byCssSelector(".message .text")->text());
1399          /* Fin */          /* Fin */
1400      }      }
1401    //
1402        /**
1403         * Test que les données du dossier d'autorisation sont recopiés dans les
1404         * champs 'archive_' de l'événement d'instruction de la création du nouveau
1405         * dossier d'instruction
1406         */
1407        public function test_12_recopie_donnees_da_vers_nouveau_di(){
1408            //
1409            //{{{ Ajout de d'un nouveau dossier
1410            // On se connecte à l'application
1411            $this->login("guichet", "guichet");
1412            //On clique sur le menu des instructions
1413            $this->byLinkText("Nouveau Dossier")->click();
1414            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1415            $this->verifyNoErrors();
1416            //On ajoute un nouveau dossier
1417            $dossier = $this->addDossierInstruction( 1, 1);                
1418            // On se déconnecte
1419            $this->deconnect();
1420            //}}}
1421            //
1422            //{{{
1423            // Mise à jour des données techniques
1424            // On se connecte à l'application
1425            $this->login("instr", "instr");
1426            //On clique sur le menu "Recherche"
1427            $this->byLinkText("Recherche")->click();
1428            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1429            $this->verifyNoErrors();
1430            // On recherche le dossier crée
1431            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1432            // On clique sur le bouton recherche
1433            $this->byId("adv-search-submit")->click();
1434            // On clique sur le résultat
1435            $this->byLinkText($dossier)->click();
1436            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1437            $this->verifyNoErrors();
1438            // Ouverture du formulaire des données techniques
1439            $this->byCssSelector("#formulaire .rediger-16")->click();
1440            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1441            $this->verifyNoErrors();
1442            // Modification des données techniques
1443            $this->byCssSelector("#sousform-donnees_techniques .edit-16")->click();
1444            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1445            $this->verifyNoErrors();
1446            sleep(1);
1447            // On déplie le fieldset Construire
1448            $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1449            sleep(1);
1450            // On déplie le fieldset Destinations et surfaces des constructions
1451            $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1452            sleep(1);
1453            //On remplit des données techniques
1454            $this->byId("su_cstr_shon1")->value("120");
1455            // On clique sur ajouter
1456            $this->byXPath("//input[@value='Modifier']")->click();
1457            // On vérifie qu'il n'y ait pas d'erreur
1458            $this->verifynoerrors();
1459            // On vérifie le message
1460            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1461            //On clique sur retour
1462            $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1463            // On se déconnecte
1464            $this->deconnect();
1465            //}}}
1466            //
1467            //{{{ Clôture du nouveau dossier
1468            // On se connecte à l'application
1469            $this->login("instr", "instr");
1470            //On clique sur le menu "Recherche"
1471            $this->byLinkText("Recherche")->click();
1472            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1473            $this->verifyNoErrors();
1474            // On recherche le dossier crée
1475            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1476            // On clique sur le bouton recherche
1477            $this->byId("adv-search-submit")->click();
1478            // On clique sur le résultat
1479            $this->byLinkText($dossier)->click();
1480            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1481            $this->verifyNoErrors();
1482            //On clique sur l'onglet "instruction"
1483            $this->byId("instruction")->click();
1484            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1485            $this->verifyNoErrors();
1486            // On ajoute une instruction
1487            $this->byCssSelector("#sousform-instruction .add-16")->click();
1488            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1489            $this->verifyNoErrors();
1490            //On choisit l'instruction 'accepter un dossier sans réserve
1491            //[acceptation]'
1492            $this->select($this->byId("evenement"))->selectOptionByValue(81);
1493            // On clique sur ajouter
1494            $this->byXPath("//input[@value='Ajouter']")->click();
1495            // On vérifie qu'il n'y ait pas d'erreur
1496            $this->verifynoerrors();
1497            // On vérifie le message
1498            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1499            //On rafraichit la page pour vérifier que le dossier est clôturé
1500            $this->refresh();
1501            $this->assertEquals("Favorable", $this->byId("avis_decision")->text());
1502            // On se déconnecte
1503            $this->deconnect();
1504            //}}}
1505            //
1506            //{{{ Vérification des données techniques dans la visu DA
1507            // On se connecte à l'application
1508            $this->login("instr", "instr");
1509            //On clique sur le menu "Recherche"
1510            $this->byLinkText("Recherche")->click();
1511            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1512            $this->verifyNoErrors();
1513            // On recherche le dossier crée
1514            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1515            // On clique sur le bouton recherche
1516            $this->byId("adv-search-submit")->click();
1517            // On clique sur le résultat
1518            $this->byLinkText($dossier)->click();
1519            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1520            $this->verifyNoErrors();
1521            //On clique sur l'onglet "DA"
1522            $this->byId("dossier_autorisation")->click();
1523            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1524            $this->verifyNoErrors();
1525            // On ajoute une instruction
1526            $this->byCssSelector("#sousform-dossier_autorisation .consult-16")->click();
1527            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1528            $this->verifyNoErrors();
1529            // Affichage des données techniques
1530            $this->byId("donnees_techniques_da")->click();
1531            sleep(1);
1532            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1533            $this->verifyNoErrors();
1534            // On déplie le fieldset Construire
1535            $this->byCssSelector("#fieldset-sousform-donnees_techniques-construire legend")->click();
1536            sleep(1);
1537            // On déplie le fieldset Destinations et surfaces des constructions
1538            $this->byCssSelector("#fieldset-sousform-donnees_techniques-destinations-et-surfaces-des-constructions legend")->click();
1539            sleep(1);
1540            $this->assertEquals("120", $this->byId("su_cstr_shon1")->text());
1541            //On clique sur retour
1542            $this->byCssSelector("#sousform-donnees_techniques .retour")->click();
1543            // On se déconnecte
1544            $this->deconnect();
1545            //}}}
1546            //
1547            //{{{ Ajout de l'action
1548            // On se connecte à l'application
1549            $this->login("admin", "admin");
1550            //On clique sur le menu "Paramétrage dossiers"
1551            $this->byLinkText("Paramétrage Dossiers")->click();
1552            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1553            $this->verifyNoErrors();
1554            //On clique sur le menu "Action"
1555            $this->byLinkText("Action")->click();
1556            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1557            $this->verifyNoErrors();
1558            //On clique sur le "+" du tableau
1559            $this->byClassName("add-16")->click();
1560            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1561            $this->verifyNoErrors();
1562            //On remplit la règle de calcul de la date de validité
1563            $this->byId("action")->value("test_12_recopie_donnees");
1564            $this->byId("libelle")->value("test_12_recopie_donnees");
1565            $this->byId("regle_date_validite")->value("archive_date_validite+12");
1566            // On clique sur ajouter
1567            $this->byXPath("//input[@value='Ajouter']")->click();
1568            // On vérifie qu'il n'y ait pas d'erreur
1569            $this->verifynoerrors();
1570            // On vérifie le message
1571            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1572            //}}}
1573            //
1574            //{{{ Ajout de l'événement
1575            //On clique sur le menu "Événement"
1576            $this->byLinkText("Événement")->click();
1577            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1578            $this->verifyNoErrors();
1579            //On clique sur le "+" du tableau
1580            $this->byClassName("add-16")->click();
1581            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1582            $this->verifyNoErrors();
1583            //On remplit l'événement qui va être ajouté avec la nouvelle demande
1584            $this->byId("libelle")->value("test_12_recopie_donnees");
1585            $this->select($this->byName("etats_depuis_lequel_l_evenement_est_disponible[]"))->selectOptionByValue("accepter");
1586            // On sélectionne PCI - P - Initial
1587            $this->select($this->byName("dossier_instruction_type[]"))->selectOptionByValue(1);
1588            $this->select($this->byName("action"))->selectOptionByLabel("test_12_recopie_donnees");
1589            // On clique sur ajouter
1590            $this->byXPath("//input[@value='Ajouter']")->click();
1591            // On vérifie qu'il n'y ait pas d'erreur
1592            $this->verifynoerrors();
1593            // On vérifie le message
1594            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1595            //}}}
1596            //
1597            //{{{ Ajout du type de dossier d'instruction
1598            //On clique sur le menu "Type DI"
1599            $this->byLinkText("Type DI")->click();
1600            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1601            $this->verifyNoErrors();
1602            //On clique sur le "+" du tableau
1603            $this->byClassName("add-16")->click();
1604            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1605            $this->verifyNoErrors();
1606            //On remplit le type de la demande
1607            $this->byId("code")->value("DT");
1608            $this->byId("libelle")->value("test_12_recopie_donnees");
1609            // On sélectionne PCI (Permis de construire pour une maison individuelle
1610            // et / ou ses annexes)
1611            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);sleep(1);
1612            $this->byId("suffixe")->click();
1613            // On clique sur ajouter
1614            $this->byXPath("//input[@value='Ajouter']")->click();
1615            // On vérifie qu'il n'y ait pas d'erreur
1616            $this->verifynoerrors();
1617            // On vérifie le message
1618            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1619            //}}}
1620            //
1621            //{{{ Ajout du type de la demande
1622            //On clique sur le menu "Type"
1623            $this->byLinkText("Type")->click();
1624            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1625            $this->verifyNoErrors();
1626            //On clique sur le "+" du tableau
1627            $this->byClassName("add-16")->click();
1628            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1629            $this->verifyNoErrors();
1630            //On remplit le type de la demande
1631            $this->byId("code")->value("test_12_recopie_donnees");
1632            $this->byId("libelle")->value("test_12_recopie_donnees");
1633            // On sélectionne Autorisation ADS
1634            $this->select($this->byId("groupe"))->selectOptionByValue(1);sleep(1);
1635            // On sélectionne PCI (Permis de construire pour une maison individuelle
1636            // et / ou ses annexes)
1637            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1638            // On sélectionne Dossier existant
1639            $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1640            // On sélectionne Accordé
1641            $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1642            $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - test_12_recopie_donnees");
1643            $this->select($this->byId("evenement"))->selectOptionByLabel("test_12_recopie_donnees");
1644            // On clique sur ajouter
1645            $this->byXPath("//input[@value='Ajouter']")->click();
1646            // On vérifie qu'il n'y ait pas d'erreur
1647            $this->verifynoerrors();
1648            // On vérifie le message
1649            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1650            //On clique sur retour
1651            $this->byClassName("retour")->click();
1652            // On vérifie qu'il n'y ait pas d'erreur
1653            $this->verifynoerrors();
1654            //On saisit le libellé du type de la demande saisit
1655            $this->byName("recherche")->value("test_12_recopie_donnees");
1656            //On valide
1657            $this->byName("s1")->click();
1658            // On vérifie qu'il n'y ait pas d'erreur
1659            $this->verifynoerrors();
1660            //On clique sur le type de la demande
1661            $this->byLinkText("test_12_recopie_donnees")->click();
1662            // On vérifie qu'il n'y ait pas d'erreur
1663            $this->verifynoerrors();
1664            //On récupère l'identifiant du type de la demande
1665            $demande_type = $this->byId("demande_type")->text();
1666            // On se déconnecte
1667            $this->deconnect();
1668            //}}}
1669            //
1670            //{{{ Ajout de d'un nouveau dossier
1671            // On se connecte à l'application
1672            $this->login("guichet", "guichet");
1673            //On clique sur le menu des instructions
1674            $this->byLinkText("Dossier En Cours")->click();
1675            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1676            $this->verifyNoErrors();
1677            //On ajoute un nouveau dossier
1678            $dossier = $this->addDossierInstruction(1, $demande_type, "Test validité", 2, str_replace(" ", "", $dossier));                
1679            // On se déconnecte
1680            $this->deconnect();
1681            //}}}
1682            //
1683            //{{{ Vérification de la date de validité
1684            // On se connecte à l'application
1685            $this->login("instr", "instr");
1686            //On clique sur le menu "Recherche"
1687            $this->byLinkText("Recherche")->click();
1688            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1689            $this->verifyNoErrors();
1690            // On recherche le dossier crée
1691            $this->byId("dossier")->value(str_replace(' ', '', $dossier));
1692            // On clique sur le bouton recherche
1693            $this->byId("adv-search-submit")->click();
1694            // On clique sur le résultat
1695            $this->byLinkText($dossier)->click();
1696            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1697            $this->verifyNoErrors();
1698            //On vérifie la date de validité
1699            $date_validite = $this->mois_date(date("Y-m-d"), 12, "+");
1700            $date_validite = date("d/m/Y", strtotime($date_validite));
1701            $this->assertEquals($date_validite, $this->byId("date_validite")->text());
1702            // On se déconnecte
1703            $this->deconnect();
1704            //}}}
1705        }
1706        //
1707        /**
1708         * Test de la numérotation des DI successifs
1709         */
1710        function test_13_numerotation_dossier_instruction_successif(){
1711                //
1712            //{{{ Ajout de d'un nouveau dossier d'instruction P0
1713            // On se connecte à l'application
1714            $this->login("guichet", "guichet");
1715            // On clique sur le menu "Nouveau Dossier"
1716            $this->byLinkText("Nouveau Dossier")->click();
1717            // On vérifie qu'il n'y ait pas d'erreur
1718            $this->verifynoerrors();
1719            // On ajoute un nouveau dossier d'instruction
1720            $dossierP0 = str_replace(" ", "", trim($this->addDossierInstruction(1, 1)));
1721            // On se déconnecte
1722            $this->deconnect();
1723            //}}}
1724            //
1725            //{{{ Accord du P0 créé
1726            // On se connecte à l'application
1727            $this->login("instr", "instr");
1728            // On clique sur le menu "Recherche"
1729            $this->byLinkText("Recherche")->click();
1730            // On vérifie qu'il n'y ait pas d'erreur
1731            $this->verifynoerrors();
1732            // On saisit le numéro du dossier d'instruction
1733            $this->byId("dossier")->value($dossierP0);
1734            // On valide la recherche
1735            $this->byId("adv-search-submit")->click();
1736            // On vérifie qu'il n'y ait pas d'erreur
1737            $this->verifynoerrors();
1738            // On clique sur le dossier d'instruction
1739            $this->byId("action-tab-dossier_instruction-left-consulter-".$dossierP0)->click();
1740            // On vérifie qu'il n'y ait pas d'erreur
1741            $this->verifynoerrors();
1742            // On clique sur l'onglet instruction
1743            $this->byId("instruction")->click();
1744            // On vérifie qu'il n'y ait pas d'erreur
1745            $this->verifynoerrors();
1746            // On clique sur le + du tableau
1747            $this->byClassName("add-16")->click();
1748            // On vérifie qu'il n'y ait pas d'erreur
1749            $this->verifynoerrors();
1750            // On choisit l'événement n°81 accepter un dossier sans réserve
1751            $this->select($this->byName("evenement"))->selectOptionByValue(81);
1752            // On clique sur ajouter
1753            $this->byXPath("//input[@value='Ajouter']")->click();
1754            // On vérifie qu'il n'y ait pas d'erreur
1755            $this->verifynoerrors();
1756            // On vérifie que l'événement d'instruction s'est bien ajouté
1757            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-instruction .message")->text());
1758            // On se déconnecte
1759            $this->deconnect();
1760            //}}}
1761            //
1762            //{{{ Ajout d'un nouveau type de dossier d'instruction
1763            // On se connecte à l'application
1764            $this->login("admin", "admin");
1765            // On clique sur le menu "Paramétrage Dossiers"
1766            $this->byLinkText("Paramétrage Dossiers")->click();
1767            // On vérifie qu'il n'y ait pas d'erreur
1768            $this->verifynoerrors();
1769            // On clique sur le menu "Type DI"
1770            $this->byLinkText("Type DI")->click();
1771            // On vérifie qu'il n'y ait pas d'erreur
1772            $this->verifynoerrors();
1773            // On clique sur le + du tableau
1774            $this->byClassName("add-16")->click();
1775            // On vérifie qu'il n'y ait pas d'erreur
1776            $this->verifynoerrors();
1777            //On saisit les données
1778            $this->byId("code")->value("TN");
1779            $this->byId("libelle")->value("Test numérotation");
1780            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1781            $this->byId("suffixe")->click();
1782            // On clique sur ajouter
1783            $this->byXPath("//input[@value='Ajouter']")->click();
1784            // On vérifie qu'il n'y ait pas d'erreur
1785            $this->verifynoerrors();
1786            // On vérifie que le type de dossier d'instruction s'est bien ajouté
1787            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1788            //}}}
1789            //
1790            //{{{ Ajout d'un nouveau type de demande
1791            // On clique sur le menu "Type"
1792            $this->byLinkText("Type")->click();
1793            // On vérifie qu'il n'y ait pas d'erreur
1794            $this->verifynoerrors();
1795            // On clique sur le + du tableau
1796            $this->byClassName("add-16")->click();
1797            // On vérifie qu'il n'y ait pas d'erreur
1798            $this->verifynoerrors();
1799            //On saisit les données
1800            $this->byId("code")->value("TN");
1801            $this->byId("libelle")->value("Test numérotation");
1802            $this->select($this->byId("groupe"))->selectOptionByValue(1);
1803            sleep(1);
1804            $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue(1);
1805            $this->select($this->byId("demande_nature"))->selectOptionByValue(2);
1806            $this->select($this->byName("etats_dossier_autorisation_autorises[]"))->selectOptionByValue(2);
1807            $this->select($this->byId("dossier_instruction_type"))->selectOptionByLabel("PCI - Test numérotation");
1808            $this->select($this->byId("evenement"))->selectOptionByValue(1);
1809            // On clique sur ajouter
1810            $this->byXPath("//input[@value='Ajouter']")->click();
1811            // On vérifie qu'il n'y ait pas d'erreur
1812            $this->verifynoerrors();
1813            // On vérifie qu'il n'y ait pas d'erreur
1814            $this->verifynoerrors();
1815            // On vérifie que le type de dossier d'instruction s'est bien ajouté
1816            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector(".message")->text());
1817            // On clique sur "Retour"
1818            $this->byClassName("retour")->click();
1819            // On vérifie qu'il n'y ait pas d'erreur
1820            $this->verifynoerrors();
1821            // On saisit le libelle du type de la demande nouvellement créée
1822            $this->byClassName("champFormulaire")->value("Test numérotation");
1823            // On valide la recherche
1824            $this->byName("f1")->submit();
1825            //On clique sur le type de la demande
1826            $this->byLinkText("Test numérotation")->click();
1827            // On vérifie qu'il n'y ait pas d'erreur
1828            $this->verifynoerrors();
1829            // On récupère l'identifiant
1830            $idDemandeType = trim($this->byId("demande_type")->text());
1831            // On se déconnecte
1832            $this->deconnect();
1833            //}}}
1834            //
1835            //{{{ Ajout de d'un nouveau dossier d'instruction avec le nouveau type
1836            //de dossier d'instruction
1837            // On se connecte à l'application
1838            $this->login("guichet", "guichet");
1839            // On clique sur le menu "Dossier En Cours"
1840            $this->byLinkText("Dossier En Cours")->click();
1841            // On vérifie qu'il n'y ait pas d'erreur
1842            $this->verifynoerrors();
1843            // On ajoute un nouveau dossier d'instruction
1844            $dossierTN01 = trim($this->addDossierInstruction(1, $idDemandeType, "Test nouveau DI", 3, $dossierP0));
1845            //On vérifie que le numéro du dossier d'instruction est celui attendu
1846            assert(preg_match('/(PC)[0-9 ]*(TN01)/', $dossierTN01) === 1);
1847            // On se déconnecte
1848            $this->deconnect();
1849            //}}}
1850            
1851            
1852        // }
1853        
1854        /**
1855         * Ajout d'un dossier d'instruction par le guichet unique
1856         *
1857         * @param int $dossier_autorisation_type_detaille L'identifiant du type détaillé
1858         *  de dossier d'autorisation
1859         * @param int $demande_type L'identifiant du type de la demande
1860         * @param int $type Type de la demande : nouveau dossier ou dossier existant
1861         * @return le numéro de dossier d'instruction qui vient d'être créé
1862         */
1863        public function addDossierInstruction($dossier_autorisation_type_detaille,
1864            $demande_type, $nom_petit = "test recopie",  $type = 1, $dossier = "" ){
1865            
1866            if ($type===1){
1867                //On choisit le type détaillé de dossier d'autorisation
1868                $this->select($this->byName("dossier_autorisation_type_detaille"))->selectOptionByValue($dossier_autorisation_type_detaille);
1869            }
1870            else {
1871                sleep(2);
1872                // On remplit le champ de recherche simple
1873                $this->byCssSelector("input[name='recherche']")->value(str_replace(' ', '', $dossier));
1874                // On clique sur le bouton recherche
1875                $this->byCssSelector(".ui-button")->click();sleep(1);
1876                // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1877                $this->verifyNoErrors();
1878                // On clique sur le résultat
1879                $this->byId("action-tab-demande_dossier_encours-left-consulter-".str_replace(' ', '', $dossier))->click();
1880                // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1881                $this->verifyNoErrors();
1882            }
1883            //On choisit le type de demande
1884            $this->select($this->byName("demande_type"))->selectOptionByValue($demande_type);
1885            //On clique sur "Saisir le pétitionnaire principal"
1886            $this->byId("add_petitionnaire_principal")->click();
1887            // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
1888            $this->verifyNoErrors();
1889            //On saisie le nom du pétitionnaire principal
1890            $this->byId("particulier_nom")->value($nom_petit);
1891            // On clique sur ajouter
1892            $this->byCssSelector("div#sformulaire form div.formControls input.om-button")->click();sleep(1);
1893            // On vérifie qu'il n'y ait pas d'erreur
1894            $this->verifynoerrors();
1895            //On vérifie que le pétitionnaire s'est bien ajouté
1896            // On vérifie le message
1897            $this->assertContains("Vos modifications ont bien été enregistrées.",$this->byCssSelector("#sousform-petitionnaire .message")->text());
1898            // On clique sur le bouton retour
1899            $this->byCssSelector("form[name=\"f2\"] > div.formControls > a.retour")->click();sleep(1);
1900            // On vérifie que le text est présent
1901            $this->assertContains($nom_petit,$this->byCssSelector("#petitionnaire_principal_delegataire .synthese_demandeur")->text());
1902            // On clique sur ajouter
1903            $this->byXPath("//input[@value='Ajouter']")->click();
1904            // On vérifie qu'il n'y ait pas d'erreur
1905            $this->verifynoerrors();
1906            // On vérifie le message
1907            $this->assertContains("Création du dossier",$this->byCssSelector(".message")->text());
1908            //On récupère le numéro de dossier d'instruction créé
1909            if ($type===1){
1910                preg_match('/(PC)[0-9 ]*(P0)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1911            }
1912            elseif ($type===2){
1913                preg_match('/(PC)[0-9 ]*(DT01)/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1914            }
1915            else{
1916                preg_match('/(PC)[0-9 ]*[A-Z]*(0)[1-9]{1}/', $this->byCssSelector("#tabs-1 .message")->text(), $dossier);
1917            }
1918            return $dossier[0];
1919        }
1920  }  }
1921    
1922  ?>  ?>

Legend:
Removed from v.2613  
changed lines
  Added in v.2815

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26