Core  3.2
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
PU_test_dcp_attributeOrder.php
Go to the documentation of this file.
1 <?php
2 /*
3  * @author Anakeen
4  * @package FDL
5 */
6 
7 namespace Dcp\Pu;
8 /**
9  * @author Anakeen
10  * @package Dcp\Pu
11  */
12 
13 require_once 'PU_testcase_dcp_commonfamily.php';
14 
16 {
17  /**
18  * import some documents
19  * @static
20  * @return string
21  */
22  protected static function getCommonImportFile()
23  {
24  return array(
25  "PU_data_dcp_orderfamilies.ods"
26  );
27  }
28  /**
29  * @dataProvider dataOrderAttribute
30  * @return \Doc
31  */
32  public function testOrderAttribute($family, $expectedOrders)
33  {
34  /**
35  * @var \DocFam $fam
36  */
37  $fam = new_doc(self::$dbaccess, $family);
38  $this->assertTrue($fam->isAlive() , sprintf("family %s not alive", $family));
39 
40  $attributes = $fam->getAttributes();
41  $orders = [];
42  $k = 0;
43  foreach ($attributes as $attribute) {
44  if ($attribute && $attribute->id !== \Adoc::HIDDENFIELD) {
45  $orders[$expectedOrders[$k]] = $attribute->id;
46  $k++;
47  }
48  }
49  /**
50  * @var \BasicAttribute $prevAttr
51  */
52  $prevAttr = null;
53  $k = 0;
54  foreach ($orders as $attrid) {
55  $this->assertEquals(strtolower($expectedOrders[$k]) , $attrid, sprintf("Not good found %s > %s : %s", $attrid, $expectedOrders[$k], print_r($orders, true)));
56  $k++;
57  }
58  }
59  /**
60  * @dataProvider dataOptAttribute
61  * @return \Doc
62  */
63  public function testOptAttribute($family, $expectedOpts) {
64  /**
65  * @var \DocFam $fam
66  */
67  $fam = new_doc(self::$dbaccess, $family);
68  $this->assertTrue($fam->isAlive() , sprintf("family %s not alive", $family));
69 
70  foreach ($expectedOpts as $attrid=>$opts) {
71  $attr=$fam->getAttribute($attrid);
72  $this->assertNotEmpty($attr, "Attribute $attrid not exists");
73  foreach ($opts as $kopt=>$opt) {
74  $this->assertEquals($opt, $attr->getOption($kopt),
75  sprintf("Verify \"%s\" on \"%s\". Has : %s", $kopt, $attrid,
76  print_r($attr->getOptions(), true)));
77  }
78  }
79 
80  }
81 
82  public function dataOrderAttribute()
83  {
84  $aOrder = array(
85  "TST_AF1000",
86  "TST_A2000",
87  "TST_A3000",
88  "TST_A4000",
89  "TST_AA5000",
90  "TST_A6000",
91  "TST_A7000",
92  "TST_AT8000",
93  "TST_AF9000",
94  "TST_A10000",
95  "TST_A11000",
96  "TST_A12000",
97  "TST_AF13000",
98  "TST_A14000",
99  "TST_A15000",
100  "TST_AA16000",
101  "TST_A17000",
102  "TST_A18000",
103  "TST_A19000"
104  );
105  $bOrder = array(
106  "TST_BC500",
107  "TST_B550",
108  "TST_B600",
109  "TST_AF1000",
110  "TST_A2000",
111  "TST_B2500",
112  "TST_A3000",
113  "TST_A4000",
114  "TST_AA5000",
115  "TST_A6000",
116  "TST_A7000",
117  "TST_B7100",
118  "TST_B7200",
119  "TST_BT7300",
120  "TST_BF7400",
121  "TST_B7500",
122  "TST_B7600",
123  "TST_AT8000",
124  "TST_AF9000",
125  "TST_A10000",
126  "TST_A11000",
127  "TST_A12000",
128  "TST_AF13000",
129  "TST_A14000",
130  "TST_A15000",
131  "TST_AA16000",
132  "TST_A17000",
133  "TST_A18000",
134  "TST_A19000",
135  "TST_BT20000",
136  "TST_BF21000",
137  "TST_B22000",
138  "TST_B23000"
139  );
140  $cOrder = array(
141  "TST_BC500",
142  "TST_B550",
143  "TST_B600",
144  "TST_AF1000",
145  "TST_A2000",
146  "TST_B2500",
147  "TST_A3000",
148  "TST_A4000",
149  "TST_AA5000",
150  "TST_A6000",
151  "TST_A7000",
152  "TST_B7100",
153  "TST_B7200",
154  "TST_BT7300",
155  "TST_BF7400",
156  "TST_B7500",
157  "TST_B7600",
158  "TST_AT8000",
159  "TST_AF9000",
160  "TST_A10000",
161  "TST_A11000",
162  "TST_A12000",
163  "TST_AF13000",
164  "TST_A14000",
165  "TST_A15000",
166  "TST_AA16000",
167  "TST_A17000",
168  "TST_A18000",
169  "TST_A19000",
170  "TST_CT19500",
171  "TST_CF19600",
172  "TST_C19700",
173  "TST_C19800",
174  "TST_BT20000",
175  "TST_BF21000",
176  "TST_B22000",
177  "TST_B23000"
178  );
179  $dOrder = array(
180  "TST_BC500",
181  "TST_B600",
182  "TST_B550",
183  "TST_AF1000",
184  "TST_A2000",
185  "TST_B2500",
186  "TST_A3000",
187  "TST_A4000",
188  "TST_AA5000",
189  "TST_A6000",
190  "TST_A7000",
191  "TST_B7100",
192  "TST_B7200",
193  "TST_BT7300",
194  "TST_BF7400",
195  "TST_B7500",
196  "TST_B7600",
197  "TST_AT8000",
198  "TST_AF13000",
199  "TST_A14000",
200  "TST_A15000",
201  "TST_AA16000",
202  "TST_A17000",
203  "TST_A18000",
204  "TST_A19000",
205  "TST_AF9000",
206  "TST_A10000",
207  "TST_A11000",
208  "TST_A12000",
209  "TST_BT20000",
210  "TST_BF21000",
211  "TST_B22000",
212  "TST_B23000"
213  );
214  $eOrder = array_merge($cOrder, ["TST_ET25000", "TST_EF25100", "TST_E25200"]);
215  return array(
216 
217  array(
218  "TST_ORDERAUTOA",
219  $aOrder
220  ) ,
221  array(
222  "TST_ORDERAUTOB",
223  $bOrder
224  ) ,
225  array(
226  "TST_ORDERAUTOC",
227  $cOrder
228  ) ,
229  array(
230  "TST_ORDERAUTOD",
231  $dOrder
232  ) ,
233  array(
234  "TST_ORDERAUTOE",
235  $eOrder
236  ) ,
237  array(
238  "TST_ORDERRELA",
239  $aOrder
240  ) ,
241  array(
242  "TST_ORDERRELB",
243  $bOrder
244  ) ,
245  array(
246  "TST_ORDERRELC",
247  $cOrder
248  ) ,
249  array(
250  "TST_ORDERRELD",
251  $dOrder
252  ) ,
253  array(
254  "TST_ORDERRELE",
255  $eOrder
256  ) ,
257  array(
258  "TST_ORDERNUMA",
259  $aOrder
260  ) ,
261  array(
262  "TST_ORDERNUMB",
263  $bOrder
264  ) ,
265  array(
266  "TST_ORDERNUMC",
267  $cOrder
268  ) ,
269  array(
270  "TST_ORDERNUMD",
271  $dOrder
272  ) ,
273  array(
274  "TST_ORDERNUME",
275  $eOrder
276  )
277  );
278  }
279 
280  public function dataOptAttribute()
281  {
282  return array(
283  array(
284  "TST_ORDERAUTOA",
285  [
286  "TST_A2000" => ["customopt" => "2000"],
287  "TST_AF9000" => ["customopt" => "9000"]
288  ]
289  ),
290  array(
291  "TST_ORDERAUTOB",
292  [
293  "TST_A2000" => ["customopt" => "2000"],
294  "TST_AF9000" => ["customopt" => "9000"],
295  "TST_B600" => ["customopt" => "600"],
296  ]
297  ),
298  array(
299  "TST_ORDERAUTOC",
300  [
301  "TST_A2000" => ["customopt" => "2000"],
302  "TST_AF9000" => ["customopt" => "9000"],
303  "TST_B600" => ["customoptbis" => "600", "customopt"=> "600"],
304  ]
305  ),
306  array(
307  "TST_ORDERAUTOD",
308  [
309  "TST_A2000" => ["customoptbis" => "2000", "customopt"=> ""],
310  "TST_AF9000" => ["customopt" => "9000"]
311  ]
312  )
313  );
314  }
315 }
$attribute
$dbaccess
Definition: checkVault.php:17
← centre documentaire © anakeen