Core  3.2
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
PU_test_dcp_setLogicalName.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 TST_FAMSETVALUE family
19  * @static
20  * @return string
21  */
22  protected static function getCommonImportFile()
23  {
24  return "";
25  }
26  /**
27  * @dataProvider dataSetLogicalName
28  * @param string $oldname
29  * @param string $newname
30  */
31  public function testExecuteSetLogicalName($oldname, $newname)
32  {
33  $doc = createDoc(self::$dbaccess, "BASE");
34  $err = $doc->Add();
35  $this->assertEmpty($err, sprintf("Error when creating document %s", $err));
36  $this->assertTrue($doc->isAlive() , sprintf("document %s not alive", $doc->id));
37 
38  $err = $doc->setLogicalName($oldname);
39  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $oldname, $doc->id, $err));
40  clearCacheDoc();
41 
42  $new_doc = new_Doc(self::$dbaccess, $oldname);
43  $this->assertTrue($new_doc->isAlive() , sprintf("document %s not alive", $oldname));
44 
45  $err = $doc->setLogicalName($newname, true);
46  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $newname, $oldname, $err));
47  clearCacheDoc();
48 
49  $new_doc = new_Doc(self::$dbaccess, $newname);
50  $this->assertTrue($new_doc->isAlive() , sprintf("document %s not alive", $newname));
51  $this->assertEquals($doc->id, $new_doc->id, sprintf("New logical name is not set to document"));
52  }
53  /**
54  * @dataProvider dataBeforeAddSetLogicalName
55  * @param string $logicalName
56  */
57  public function testBeforeAddSetLogicalName($logicalName)
58  {
59  $doc = createDoc(self::$dbaccess, "BASE");
60  $err = $doc->setLogicalName($logicalName);
61  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $logicalName, $doc->id, $err));
62  $err = $doc->Add();
63  $this->assertEmpty($err, sprintf("Error when creating document %s", $err));
64  $this->assertTrue($doc->isAlive() , sprintf("document %s not alive", $doc->id));
65 
66  $this->assertEquals($logicalName, $doc->name, sprintf("New logical name is not set to document"));
67 
68  clearCacheDoc();
69 
70  $new_doc = new_Doc(self::$dbaccess, $logicalName);
71  $this->assertTrue($new_doc->isAlive() , sprintf("document %s not alive", $logicalName));
72  }
73  /**
74  * @dataProvider dataBeforeAddSetLogicalName
75  * @param string $oldname
76  */
77  public function testErrorBeforeAddSetLogicalName($oldname)
78  {
79  $doc1 = createDoc(self::$dbaccess, "BASE");
80  $err = $doc1->setLogicalName($oldname);
81  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $oldname, $doc1->id, $err));
82  $err = $doc1->Add();
83  $this->assertEquals($oldname, $doc1->name, sprintf("New logical name is not set to document"));
84  $this->assertEmpty($err, sprintf("Error when creating document %s", $err));
85  $this->assertTrue($doc1->isAlive() , sprintf("document %s not alive", $doc1->id));
86 
87  $doc2 = createDoc(self::$dbaccess, "BASE");
88  $err = $doc2->setLogicalName($oldname);
89  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $oldname, $doc2->id, $err));
90  $err = $doc2->Add();
91  $this->assertNotEmpty($err, sprintf("Need error because duplicate name", $oldname, $doc2->id, $err));
92  }
93  /**
94  * @dataProvider dataErrorSyntaxSetLogicalName
95  * @param string $oldname
96  */
97  public function testErrorSyntaxSetLogicalName($oldname)
98  {
99  $doc1 = createDoc(self::$dbaccess, "BASE");
100  $err = $doc1->setLogicalName($oldname);
101 
102  $this->assertNotEmpty($err, sprintf("setLogicalName: Need error invalid name", $oldname, $doc1->id, $err));
103 
104  $err = $doc1->Add();
105  $this->assertNotEmpty($err, sprintf("Add: Need error invalid name", $oldname, $doc1->id, $err));
106  }
107  /**
108  * @dataProvider dataRevisedSetLogicalName
109  * @param string $oldname
110  * @param string $newname
111  */
112  public function testRevisedSetLogicalName($oldname, $newname)
113  {
114  $doc = createDoc(self::$dbaccess, "BASE");
115  $err = $doc->Add();
116 
117  $idRev0 = $doc->id;
118  $this->assertEmpty($err, sprintf("Error when creating document %s", $err));
119  $this->assertTrue($doc->isAlive() , sprintf("document %s not alive", $doc->id));
120 
121  $err = $doc->revise();
122  $this->assertEmpty($err, sprintf("Error when revised document %s", $err));
123 
124  $idRev1 = $doc->id;
125  $err = $doc->revise();
126  $this->assertEmpty($err, sprintf("Error when revised document %s", $err));
127 
128  $err = $doc->setLogicalName($oldname);
129  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $oldname, $doc->id, $err));
130  clearCacheDoc();
131 
132  $new_doc = new_Doc(self::$dbaccess, $oldname);
133  $this->assertTrue($new_doc->isAlive() , sprintf("document %s not alive", $oldname));
134 
135  $new_doc = new_Doc(self::$dbaccess, $idRev0);
136  $this->assertEquals($oldname, $new_doc->name, sprintf("no good revised name #0"));
137  $new_doc = new_Doc(self::$dbaccess, $idRev1);
138  $this->assertEquals($oldname, $new_doc->name, sprintf("no good revised name #1"));
139 
140  $err = $doc->setLogicalName($newname, true);
141  $this->assertEmpty($err, sprintf("Error when setting logical name %s for document %s : %s", $newname, $oldname, $err));
142  clearCacheDoc();
143 
144  $new_doc = new_Doc(self::$dbaccess, $newname);
145  $this->assertTrue($new_doc->isAlive() , sprintf("document %s not alive", $newname));
146  $this->assertEquals($doc->id, $new_doc->id, sprintf("New logical name is not set to document"));
147 
148  $new_doc = new_Doc(self::$dbaccess, $idRev0);
149  $this->assertEquals($newname, $new_doc->name, sprintf("no good revised new name #0"));
150  $new_doc = new_Doc(self::$dbaccess, $idRev1);
151  $this->assertEquals($newname, $new_doc->name, sprintf("no good revised new name #1"));
152  }
154  {
155  return array(
156  array(
157  'TST_TEST 2'
158  ) ,
159  array(
160  'TST:TEST'
161  ) ,
162  array(
163  'élève'
164  ) ,
165  array(
166  '123'
167  ) ,
168  array(
169  '1a'
170  )
171  );
172  }
173 
174  public function dataBeforeAddSetLogicalName()
175  {
176  return array(
177  array(
178  'TST_TEST-2'
179  ) ,
180  array(
181  'T3'
182  )
183  );
184  }
185  public function dataSetLogicalName()
186  {
187  return array(
188  array(
189  'TST_TEST_ONE',
190  'TST_NEW_TESTs_ONE'
191  ) ,
192  array(
193  'tst_test-one',
194  'tst_new-test-one'
195  )
196  );
197  }
198  public function dataRevisedSetLogicalName()
199  {
200  return array(
201  array(
202  'TST_TEST_TWO',
203  'TST_NEW_TESTs_TWO'
204  ) ,
205  array(
206  'tst_test-two',
207  'tst_new-test-two'
208  )
209  );
210  }
211 }
clearCacheDoc($id=0)
testRevisedSetLogicalName($oldname, $newname)
createDoc($dbaccess, $fromid, $control=true, $defaultvalues=true, $temporary=false)
new_Doc($dbaccess, $id= '', $latest=false)
testExecuteSetLogicalName($oldname, $newname)
$dbaccess
Definition: checkVault.php:17
if($file) if($subject==""&&$file) if($subject=="") $err
← centre documentaire © anakeen