+ Add doc::getObjectTree unit test.

This commit is contained in:
tianshujie
2023-12-01 10:02:09 +08:00
parent 20f5bb381c
commit cbe11ffdc2
2 changed files with 79 additions and 0 deletions
+25
View File
@@ -843,6 +843,31 @@ class docTest
$lib = $this->objectModel->getLibByID($id);
$item = $this->objectModel->buildLibItem($libID, $lib, $type, $moduleID, $objectID);
if(dao::isError()) return dao::getError();
return $item;
}
/**
* 获取产品、项目、执行文档库的树形结构。
* Get a tree structure of the product, project, and execution document library.
*
* @param int $libID
* @param array $libIdList
* @param string $type
* @param int $moduleID
* @param int $objectID
* @param string $browseType
* @param int $param
* @access public
* @return array
*/
public function getObjectTreeTest(int $libID, array $libIdList, string $type, int $moduleID = 0, int $objectID = 0, string $browseType = '', int $param = 0): array
{
$libs = $this->objectModel->dao->select('*')->from(TABLE_DOCLIB)->where('id')->in($libIdList)->fetchAll('id');
$data = $this->objectModel->getObjectTree($libID, $libs, $type, $moduleID, $objectID, $browseType, $param);
if(dao::isError()) return dao::getError();
return isset($data[0][$type]) ? $data[0][$type] : array();
}
}
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env php
<?php
/**
title=测试 docModel->getObjectTree();
timeout=0
cid=1
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/doc.class.php';
$userqueryTable = zdTable('userquery');
$userqueryTable->id->range('1-2');
$userqueryTable->sql->range("`(( 1 AND `title` LIKE '%文档%' ) AND ( 1 ))`");
$userqueryTable->gen(1);
zdTable('project')->config('execution')->gen(10);
zdTable('product')->config('product')->gen(5);
zdTable('module')->config('module')->gen(3);
zdTable('doclib')->config('doclib')->gen(30);
zdTable('doc')->config('doc')->gen(50);
zdTable('apilibrelease')->gen(0);
zdTable('user')->gen(5);
su('admin');
$libID = 1;
$libIds = array(1, 6, 11, 16, 20, 26);
$types = array('api', 'custom', 'mine', 'project', 'execution', 'product');
$moduleID = 1;
$objectIds = array(0, 1, 11, 101);
$browseTypes = array('', 'bysearch', 'bysearch');
$queries = array(0, 1);
$docTester = new docTest();
r($docTester->getObjectTreeTest($libID, $libIds, $types[0], $moduleID, $objectIds[2], $browseTypes[0], $queries[0])) && p() && e('0'); // 获取api文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[0], $moduleID, $objectIds[2], $browseTypes[1], $queries[1])) && p() && e('0'); // 获取搜索后的api文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[0], $moduleID, $objectIds[2], $browseTypes[2], $queries[1])) && p() && e('0'); // 获取切换版本后的api文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[1], $moduleID, $objectIds[0], $browseTypes[0], $queries[0])) && p('6:type,name,objectType,objectID') && e('docLib,自定义文档库6,custom,0'); // 获取自定义文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[1], $moduleID, $objectIds[0], $browseTypes[1], $queries[1])) && p('6:type,name,objectType,objectID') && e('docLib,自定义文档库6,custom,0'); // 获取搜索后的自定义文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[1], $moduleID, $objectIds[0], $browseTypes[2], $queries[1])) && p('6:type,name,objectType,objectID') && e('docLib,自定义文档库6,custom,0'); // 获取切换版本后的自定义文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[2], $moduleID, $objectIds[0], $browseTypes[0], $queries[0])) && p('11:type,name,objectType,objectID') && e('docLib,我的文档库11,mine,0'); // 获取我的文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[2], $moduleID, $objectIds[0], $browseTypes[1], $queries[1])) && p('11:type,name,objectType,objectID') && e('docLib,我的文档库11,mine,0'); // 获取搜索后的我的文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[2], $moduleID, $objectIds[0], $browseTypes[2], $queries[1])) && p('11:type,name,objectType,objectID') && e('docLib,我的文档库11,mine,0'); // 获取切换版本后的我的文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[3], $moduleID, $objectIds[2], $browseTypes[0], $queries[0])) && p('16:type,name,objectType,objectID') && e('docLib,项目文档主库16,project,11'); // 获取项目文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[3], $moduleID, $objectIds[2], $browseTypes[1], $queries[1])) && p('16:type,name,objectType,objectID') && e('docLib,项目文档主库16,project,11'); // 获取搜索后的项目文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[3], $moduleID, $objectIds[2], $browseTypes[2], $queries[1])) && p('16:type,name,objectType,objectID') && e('docLib,项目文档主库16,project,11'); // 获取切换版本后的项目文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[4], $moduleID, $objectIds[3], $browseTypes[0], $queries[0])) && p('20:type,name,objectType,objectID') && e('docLib,执行文档主库20,execution,101'); // 获取执行文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[4], $moduleID, $objectIds[3], $browseTypes[1], $queries[1])) && p('20:type,name,objectType,objectID') && e('docLib,执行文档主库20,execution,101'); // 获取搜索后的执行文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[4], $moduleID, $objectIds[3], $browseTypes[2], $queries[1])) && p('20:type,name,objectType,objectID') && e('docLib,执行文档主库20,execution,101'); // 获取切换版本后的执行文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[5], $moduleID, $objectIds[1], $browseTypes[0], $queries[0])) && p('26:type,name,objectType,objectID') && e('docLib,产品文档主库26,product,1'); // 获取产品文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[5], $moduleID, $objectIds[1], $browseTypes[1], $queries[1])) && p('26:type,name,objectType,objectID') && e('docLib,产品文档主库26,product,1'); // 获取搜索后的产品文档树
r($docTester->getObjectTreeTest($libID, $libIds, $types[5], $moduleID, $objectIds[1], $browseTypes[2], $queries[1])) && p('26:type,name,objectType,objectID') && e('docLib,产品文档主库26,product,1'); // 获取切换版本后的产品文档树