Core  3.2
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
PU_test_dcp_mask.php
Go to the documentation of this file.
1 <?php
2 /*
3  * @author Anakeen
4  * @package FDL
5 */
6 /**
7  * @author Anakeen
8  * @package Dcp\Pu
9  */
10 
11 namespace Dcp\Pu;
12 
14 
15 require_once 'PU_testcase_dcp_commonfamily.php';
16 
18 {
19  /**
20  * import some documents
21  * @static
22  * @return string
23  */
24  protected static function getCommonImportFile()
25  {
26  return "PU_data_dcp_maskfamily.ods";
27  }
28  /**
29  * apply mask
30  * @dataProvider dataGoodMask
31  * @param $docid
32  * @param $mid
33  */
34  public function testsetMask($docid, $mid, array $expectedVisibilities)
35  {
36  $doc = new_doc(self::$dbaccess, $docid, true);
37 
38  if ($doc->isAlive()) {
39  $err = $doc->setMask($mid);
40  $this->assertEmpty($err, sprintf("mask apply error %s", $err));
41  foreach ($expectedVisibilities as $attrid => $expectVis) {
42  $this->assertEquals($expectVis, $doc->getAttribute($attrid)->mvisibility, sprintf("Attribute $attrid"));
43  }
44  } else {
45  $this->markTestIncomplete(sprintf(_('Document %d not alive.') , $docid));
46  }
47  }
48  /**
49  * apply mask (detect errors)
50  * @dataProvider dataBadMask
51  * @param $docid
52  * @param $mid
53  * @param array $expectedErrors
54  */
55  public function testsetMaskError($docid, $mid, array $expectedErrors)
56  {
57 
58  $doc = new_doc(self::$dbaccess, $docid, true);
59 
60  if ($doc->isAlive()) {
61 
62  $err = $doc->applyMask($mid);
63  $this->assertNotEmpty($err, sprintf("mask apply need error"));
64  foreach ($expectedErrors as $error) {
65  $this->assertContains($error, $err, sprintf("mask apply not correct error %s", $err));
66  }
67  } else {
68  $this->markTestIncomplete(sprintf(_('Document %d not alive.') , $docid));
69  }
70  }
71  /**
72  * @param $file
73  * @param array $expectedErrors
74  * @dataProvider dataBadImportMask
75  */
76  public function testBadImportMask($file, array $expectedErrors)
77  {
78  try {
79  self::importDocument($file);
80  $this->assertTrue(false, "Mask import errors must not be empty");
81  }
82  catch(\Dcp\Exception $e) {
83  foreach ($expectedErrors as $error) {
84  $this->assertContains($error, $e->getMessage() , sprintf("mask apply not correct error %s", $e->getMessage()));
85  }
86  }
87  }
88 
89  public function dataBadImportMask()
90  {
91  return array(
92  ["PU_data_dcp_badMask.ods",
93  ["MSK0001",
94  "TST_BADMASK1",
95  "MSK0002",
96  "TST_BADMASK2",
97  "MSK0003",
98  "tst_titlex",
99  "tst_numberx",
100  "tst_p2"]]
101  );
102  }
103  public function dataGoodMask()
104  {
105  return array(
106  array(
107  'TST_DOCBASE1',
108  'TST_GOODMASK1',
109  array(
110  "tst_title" => "R",
111  "tst_number" => "W",
112  "tst_date" => "W",
113  "tst_coltext" => "W",
114  "tst_coldate" => "W",
115  "tst_text" => "W"
116  )
117  ) ,
118  array(
119  'TST_DOCBASE1',
120  'TST_GOODMASK2',
121  array(
122  "tst_title" => "H",
123  "tst_number" => "H",
124  "tst_date" => "H",
125  "tst_coltext" => "H",
126  "tst_coldate" => "H",
127  "tst_text" => "W"
128  )
129  ) ,
130  array(
131  'TST_DOCBASE1',
132  'TST_GOODMASK3',
133  array(
134  "tst_title" => "H",
135  "tst_number" => "H",
136  "tst_date" => "H",
137  "tst_coltext" => "H",
138  "tst_coldate" => "H",
139  "tst_text" => "H"
140  )
141  ) ,
142  array(
143  'TST_DOCBASE1',
144  'TST_GOODMASK4',
145  array(
146  "tst_title" => "R",
147  "tst_number" => "R",
148  "tst_date" => "R",
149  "tst_coltext" => "W",
150  "tst_coldate" => "W",
151  "tst_text" => "H"
152  )
153  )
154  );
155  }
156 
157  public function dataBadMask()
158  {
159  return array(
160  array(
161  'TST_DOCBASE1',
162  '878',
163  array(
164  'DOC1000',
165  '878'
166  )
167  ) ,
168  array(
169  'TST_DOCBASE1',
170  'TST_UNKNOW',
171  array(
172  'DOC1004',
173  'TST_UNKNOW'
174  )
175  ) ,
176  array(
177  'TST_DOCBASE1',
178  'TST_MASK2',
179  array(
180  'DOC1002',
181  'TST_MASK2',
182  'IGROUP'
183  )
184  ) ,
185  array(
186  'TST_DOCBASE1',
187  'TST_DOCBASE1',
188  array(
189  'DOC1001',
190  'TST_DOCBASE1'
191  )
192  )
193  );
194  }
195 }
196 ?>
testsetMask($docid, $mid, array $expectedVisibilities)
$file
$docid
Definition: cleanFamily.php:13
static getCommonImportFile()
testBadImportMask($file, array $expectedErrors)
$dbaccess
Definition: checkVault.php:17
if($file) if($subject==""&&$file) if($subject=="") $err
testsetMaskError($docid, $mid, array $expectedErrors)
← centre documentaire © anakeen