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

Contents of /trunk/tests/testGestionIncompletude.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2041 - (show annotations)
Tue Jun 25 09:36:23 2013 UTC (11 years, 7 months ago) by softime
File size: 8720 byte(s)
Modification du paramètrage du workflow pour ajouter la gestion de l'incomplétude + ajout des tests au config.xml + création des tests pour tester la gestion de l'incomplétude

1 <?php
2 /**
3 * Fichier contenant la classe test pour l'incomplétude
4 *
5 * @package openfoncier
6 * @version SVN : $Id:
7 */
8
9 //
10 require_once "base.php";
11
12 /**
13 * Classe permettant de tester l'incomplétude
14 *
15 * Pour lancer le test seul, changer les données :
16 * - dossier : PC0130551200002P0
17 * - code barres de retour de l’AR incomplétude : 110000000011
18 * - code barres de retour de l’AR de majoration de délai consultation ABF : 110000000010
19 *
20 * Pour lancer le test à la fin du run_testsuite, changer les données :
21 * - dossier : PC0130551300001P0
22 * - code barres de retour de l’AR incomplétude : 110000000021
23 * - code barres de retour de l’AR de majoration de délai consultation ABF : 110000000020
24 */
25 class GestionIncompletude extends Base2TestCase {
26
27 var $dossier = "PC0130551300001P0";
28 var $code_barres_ar_incompletude = "110000000021";
29 var $code_barres_ar_abf = "110000000020";
30
31 /**
32 * Test l'incomplétude sur un dossier d'instruction
33 */
34 public function testIncompletude() {
35
36 /**
37 * Envoi d’un courrier de majoration de délai pour consultation ABF
38 */
39 // on se connecte à l'application
40 $this->login("instr", "instr");
41 // On clique sur le menu
42 $this->byLinkText("Recherche")->click();
43 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
44 $this->verifyNoErrors();
45 // On clique sur le dossier
46 $this->byLinkText($this->dossier)->click();
47 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
48 $this->verifyNoErrors();
49 // On clique sur l'onglet instruction
50 $this->byId("instruction")->click();
51 // On clique sur le + pour ajouter une instruction
52 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
53 // On choisi l'événement
54 $this->select($this->byId("evenement"))->selectOptionByLabel("ABF recours contre avis [majoration]");
55 // On clique sur le bouton ajouter
56 $this->byXPath("//input[@value='Ajouter']")->click();
57 // On vérifie que l'instruction s'est bien ajouté
58 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
59 // On clique sur le bouton retour
60 $this->byCssSelector("#sousform-instruction form a.retour")->click();
61 // On clique sur l'onglet DI
62 $this->byId("main")->click();
63 // on rafraichis la page
64 $this->refresh();
65 // On vérifie le délai du dossier
66 $this->assertEquals("5", $this->byId('delai')->text());
67
68 /**
69 * Envoi notification de pièces manquantes
70 */
71 // On clique sur l'onglet instruction
72 $this->byId("instruction")->click();
73 // On clique sur le + pour ajouter une instruction
74 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
75 // On choisi l'événement
76 $this->select($this->byId("evenement"))->selectOptionByLabel("Notification de pieces manquante [rejet]");
77 // On clique sur le bouton ajouter
78 $this->byXPath("//input[@value='Ajouter']")->click();
79 // On vérifie que l'instruction s'est bien ajouté
80 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
81 // On clique sur le bouton retour
82 $this->byCssSelector("#sousform-instruction form a.retour")->click();
83 // On clique sur l'onglet DI
84 $this->byId("main")->click();
85 // on rafraichis la page
86 $this->refresh();
87 // On vérifie que l'état du dossier
88 $this->assertEquals("dossier incomplet", $this->byId('etat')->text());
89 // On se deconnecte
90 $this->deconnect();
91
92 /**
93 * Retour de l’AR incomplétude
94 */
95 // on se connecte en tant que suivi
96 $this->login("suivi", "suivi");
97 // On clique sur le menu
98 $this->byLinkText("Mise À Jour Des Dates")->click();
99 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
100 $this->verifyNoErrors();
101 // on choisit le type de mise à jour
102 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
103 // on choisit la date
104 $this->byId("date")->value(date("d/m/Y"));
105 // on rentre le code barre
106 $this->byId("code_barres")->value($this->code_barres_ar_incompletude);
107 // on clique sur le bouton valider
108 $this->byName("validation")->click();
109 // on vérifie que la mise à jour est pour le bon évenement
110 $this->assertEquals("Notification de pieces manquante", $this->byId('evenement')->text());
111 // on clique encore sur le bouton valider
112 $this->byName("validation")->click();
113 // on vérifie que la mise à jour est faite
114 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
115
116 /**
117 * Retour de l’AR de majoration de délai consultation ABF
118 */
119 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
120 $this->verifyNoErrors();
121 // on choisit le type de mise à jour
122 $this->select($this->byId("type_mise_a_jour"))->selectOptionByValue("date_retour_rar");
123 // on choisit la date
124 $this->byId("date")->value(date("d/m/Y"));
125 // on rentre le code barre
126 $this->byId("code_barres")->value($this->code_barres_ar_abf);
127 // on clique sur le bouton valider
128 $this->byName("validation")->click();
129 // on vérifie que la mise à jour est pour le bon évenement
130 $this->assertEquals("ABF recours contre avis", $this->byId('evenement')->text());
131 // on clique encore sur le bouton valider
132 $this->byName("validation")->click();
133 // on vérifie que la mise à jour est faite
134 $this->assertRegExp('/.*Saisie enregistrée.*/', $this->byCssSelector("#formulaire .message .text")->text());
135 // On se deconnecte
136 $this->deconnect();
137
138 /**
139 * Dépôt de pièces complémentaires
140 */
141 // on se connecte à l'application
142 $this->login("instr", "instr");
143 // On clique sur le menu
144 $this->byLinkText("Recherche")->click();
145 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
146 $this->verifyNoErrors();
147 // On clique sur le dossier PC0130551200001
148 $this->byLinkText($this->dossier)->click();
149 // On vérifie qu'il n'y a pas d'erreur sur l'élément affiché
150 $this->verifyNoErrors();
151 // On clique sur l'onglet instruction
152 $this->byId("instruction")->click();
153 // on vérifie que les instruction après AR se sont ajouté
154 $this->assertRegExp("/^[\s\S]*incomplétude après accusé de réception[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text());
155 $this->assertRegExp("/^[\s\S]*majoration délai abf[\s\S]*$/", $this->byCssSelector("#sousform-instruction .tab-tab")->text());
156 // On clique sur le + pour ajouter une instruction
157 $this->byCssSelector("#sousform-instruction .actions-max-1 a")->click();
158 // On choisi l'événement
159 $this->select($this->byId("evenement"))->selectOptionByLabel("dépôt de pièces complémentaires [retour]");
160 // On clique sur le bouton ajouter
161 $this->byXPath("//input[@value='Ajouter']")->click();
162 // On vérifie que l'instruction s'est bien ajouté
163 $this->assertRegExp('/.*Vos modifications ont bien été enregistrées.*/', $this->byCssSelector("#sousform-instruction .message .text")->text());
164 // On clique sur le bouton retour
165 $this->byCssSelector("#sousform-instruction form a.retour")->click();
166 // On clique sur l'onglet DI
167 $this->byId("main")->click();
168 // on rafraichis la page
169 $this->refresh();
170 // on vérifie que l'état ne soit plus à incomplet
171 $this->assertTrue($this->byId('etat')->text() != "dossier incomplet");
172 // on vérifie que le délai est à 8
173 $this->assertEquals("8", $this->byId('delai')->text());
174 // on vérifie la date de complétude
175 $this->assertEquals(date("d/m/Y"), $this->byId('date_complet')->text());
176 // on vérifie la date de limite de l'instruction
177 $date_limite = date("d/m/Y", strtotime('+8 months'));
178 $this->assertEquals($date_limite, $this->byId('date_limite')->text());
179 // On se deconnecte
180 $this->logout();
181 }
182
183 }
184 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26