/[openfoncier]/branches/3.14.x/tests/testParametrageDossiers.php
ViewVC logotype

Contents of /branches/3.14.x/tests/testParametrageDossiers.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2441 - (show annotations)
Wed Oct 30 19:00:56 2013 UTC (11 years, 3 months ago) by nhaye
Original Path: trunk/tests/testParametrageDossiers.php
File size: 9022 byte(s)
Ajout de tests concernant la non possibilité d'affecter une règle d'action à null si le champ correspondant de dossier est obligatoire.
1 <?php
2 /**
3 *
4 *
5 * @package openads
6 * @version SVN : $Id:
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Test les paramétrage de dossiers
14 */
15 class testParametrageDossiers extends Base2TestCase {
16
17 /**
18 * Test le formulaire de la demande de type qui possède des select filtrés
19 */
20 public function testDemandeType() {
21
22 // On se connecte à l'application
23 $this->login("admin", "admin");
24 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
25 $this->verifyNoErrors();
26 // On clique sur le menu
27 $this->byLinkText("Paramétrage Dossiers")->click();
28 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
29 $this->verifyNoErrors();
30 // On clique sur le sous-menu
31 $this->byLinkText("Type")->click();
32 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
33 $this->verifyNoErrors();
34 // On clique sur le bouton "Ajouter"
35 $this->byLinkText("Ajouter")->click();
36 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
37 $this->verifyNoErrors();
38 // On remplis le champ code
39 $this->byId("code")->value("TEST");
40 // On remplit le choix libelle
41 $this->byId("libelle")->value("Test ajout de type de demande");
42 // On selectionne le groupe "Autorisation ADS"
43 $this->select($this->byId("groupe"))->selectOptionByValue("1");
44 // On vérifie que le filtre c'est appliqué sur le champ
45 // "type de dossier d'autorisation détaillé "
46 $this->assertTrue((bool)preg_match_all("/(PCI)|(PCA)|(PD)|(PA)|(DP)|(CU)|(AZ)/", $this->select($this->byId("dossier_autorisation_type_detaille"))->text(), $matches));
47 // On selectionne le type détaillé d'autorisation
48 // "AZ (Demande d'autorisation spéciale de travaux dans le périmètre d'une AVAP)"
49 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("7");
50 // On vérifie que le filtre s'est appliqué sur le champ
51 // "type de dossier d'instruction à créer"
52 $this->assertTrue((bool)preg_match_all("/(AZ - Initial)|(AZ - Transfert)|(AZ - Modificatif)|(AZ - Achèvement et conformité)|(AZ - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text(), $matches));
53 // On selectionne le type de dossier d'instruction "AZ - Initial"
54 $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue("31");
55 // On selectionne le type de l'événement d'instruction à créer
56 $this->select($this->byId("evenement"))->selectOptionByValue("1");
57 // On selectionne la natude de la demande
58 $this->select($this->byId("demande_nature"))->selectOptionByValue("1");
59 // On clique sur "Ajouter"
60 $this->byXPath("//input[@value='Ajouter']")->click();
61 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
62 $this->verifyNoErrors();
63 // On vérifie le message
64 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
65 // On clique sur le bouton "Retour"
66 $this->byLinkText("Retour")->click();
67 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
68 $this->verifyNoErrors();
69 // On clique sur le type de demande crée
70 $this->byLinkText("TEST")->click();
71 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
72 $this->verifyNoErrors();
73 // On vérifie le champ code
74 $this->assertEquals("TEST", $this->byId("code")->text());
75 // On vérifie le champ libelle
76 $this->assertEquals("Test ajout de type de demande", $this->byId("libelle")->text());
77 // On vérifie le champ groupe
78 $this->assertEquals("Autorisation ADS", $this->byId("groupe")->text());
79 // On vérifie le champ type de dossier d'autorisation détaillé
80 $this->assertEquals("AZ (Demande d'autorisation spéciale de travaux dans le périmètre d'une AVAP)", $this->byId("dossier_autorisation_type_detaille")->text());
81 // On vérifie le champ type de dossier d'instruction à créer
82 $this->assertEquals("AZ - Initial", $this->byId("dossier_instruction_type")->text());
83 // On clique sur le portlet "Modifier"
84 $this->byXPath("//div[@id='portlet-actions']/ul/li/a/span")->click();
85 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
86 $this->verifyNoErrors();
87 // On vérifie que les champs type de dossier d'autorisation
88 // détaillé et type de dossier d'instruction à créer respectent le filtrage
89 $this->assertTrue((bool)preg_match_all("/(PCI)|(PCA)|(PD)|(PA)|(DP)|(CU)|(AZ)/", $this->select($this->byId("dossier_autorisation_type_detaille"))->text()));
90 $this->assertTrue((bool)preg_match_all("/(AZ - Initial)|(AZ - Transfert)|(AZ - Modificatif)|(AZ - Achèvement et conformité)|(AZ - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text()));
91 // On modifie le type de dossier d'autorisation détaillé
92 $this->select($this->byId("dossier_autorisation_type_detaille"))->selectOptionByValue("1");
93 // On vérifie que le filtre s'est appliqué sur le champ
94 // "type de dossier d'instruction à créer"
95 $this->assertTrue((bool)preg_match_all("/(PCI - Initial)|(PCI - Transfert)|(PCI - Modificatif)|(PCI - Achèvement et conformité)|(PCI - Ouverture de chantier)/", $this->select($this->byId("dossier_instruction_type"))->text()));
96 // On modifie le type de dossier d'instruction à créer
97 $this->select($this->byId("dossier_instruction_type"))->selectOptionByValue("1");
98 // On clique sur modifier
99 $this->byXPath("//input[@value='Modifier']")->click();
100 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
101 $this->verifyNoErrors();
102 // On vérifie le message
103 $this->assertEquals("Vos modifications ont bien été enregistrées.", $this->byCssSelector(".message .text")->text());
104 // On se déconnecte de l'application
105 $this->logout();
106
107 }
108
109 /**
110 * Test l'existence des champs saisis dans la règle d'une action
111 */
112 public function test_action() {
113
114 // On se connecte à l'application
115 $this->login("admin", "admin");
116 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
117 $this->verifyNoErrors();
118 // On clique sur le menu
119 $this->byLinkText("Paramétrage Dossiers")->click();
120 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
121 $this->verifyNoErrors();
122 // On clique sur le sous-menu
123 $this->byLinkText("Action")->click();
124 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
125 $this->verifyNoErrors();
126 // On remplit le champ de recherche simple
127 $this->byCssSelector("input[name='recherche']")->value('acceptation');
128 // On clique sur le bouton recherche
129 $this->byCssSelector(".ui-button")->click();
130 // On clique sur le résultat
131 $this->byLinkText("acceptation")->click();
132 // On clique sur le bouton "Modifier"
133 $this->byId('action-form-action-modifier')->click();
134 // On change la valeur par "etat + champ_errone"
135 $this->byId('regle_etat')->clear();
136 $this->byId('regle_etat')->value('etat + champ_errone');
137 // On valide la modification
138 $this->byCssSelector("input[value='Modifier']")->click();
139 // On vérifie le message de validation
140 $this->assertRegExp("/^[\s\S]*Le champ champ_errone n'est pas utilisable pour le champ règle etat[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
141 // On change la règle état
142 $this->byId('regle_date_dernier_depot')->clear();
143 $this->byId('regle_date_dernier_depot')->value('NULL');
144 // On valide la modification
145 $this->byCssSelector("input[value='Modifier']")->click();
146 // On vérifie le message de validation
147 $this->assertRegExp("/^[\s\S]*Le champ date de dernier dépôt des dossiers ne peut etre mis a NULL.[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
148 // On change la règle état
149 $this->byId('regle_etat')->clear();
150 $this->byId('regle_etat')->value('etat');
151 // On valide la modification
152 $this->byCssSelector("input[value='Modifier']")->click();
153 // On vérifie le message de validation
154 $this->assertRegExp("/^[\s\S]*Vos modifications ont bien été enregistrées.[\s\S]*$/", $this->byCssSelector("#tabs-1 .message")->text());
155 // On clique sur le bouton 'Retour'
156 $this->byLinkText("Retour")->click();
157 // On vérifie les nouvelles données
158 $this->assertEquals("etat", $this->byId("regle_etat")->text());
159 // On se déconnecte
160 $this->logout();
161 }
162 }
163
164 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26