diff --git a/module/doc/test/doc.class.php b/module/doc/test/doc.class.php index e223ef399f..b6d4f3e4e3 100644 --- a/module/doc/test/doc.class.php +++ b/module/doc/test/doc.class.php @@ -606,4 +606,22 @@ class docTest return 'noerror'; } + + /** + * 构造搜索表单。 + * Build search form. + * + * @param int $libID + * @param array $libIdList + * @param int $queryID + * @param string $type + * @access public + * @return array + */ + public function buildSearchFormTest(int $libID, array $libIdList, int $queryID, string $type): array + { + $libs = $this->objectModel->dao->select('*')->from(TABLE_DOCLIB)->where('id')->in($libIdList)->fetchAll('id'); + $this->objectModel->buildSearchForm($libID, $libs, $queryID, '', $type); + return $this->objectModel->config->doc->search; + } } diff --git a/module/doc/test/model/buildsearchform.php b/module/doc/test/model/buildsearchform.php new file mode 100644 index 0000000000..59eb60b35e --- /dev/null +++ b/module/doc/test/model/buildsearchform.php @@ -0,0 +1,40 @@ +#!/usr/bin/env php +buildSearchForm(); +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'); +$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('doclib')->config('doclib')->gen(30); +zdTable('user')->gen(5); +su('admin'); + +$libIdList = array(11, 16, 20, 26, 6); +$libs = range(1, 5); +$queryIdList = array(0, 1); +$typeList = array('mine', 'project', 'execution', 'product', 'custom'); + +$docTester = new docTest(); +r($docTester->buildSearchFormTest($libIdList[0], $libs, $queryIdList[0], $typeList[0])) && p('fields:title,id,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,文档状态,创建日期,修改日期,关键字,版本号'); // 构造我的空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[0], $libs, $queryIdList[1], $typeList[0])) && p('fields:title,id,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,文档状态,创建日期,修改日期,关键字,版本号'); // 构造我的空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[1], $libs, $queryIdList[0], $typeList[1])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造项目空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[1], $libs, $queryIdList[1], $typeList[1])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造项目空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[2], $libs, $queryIdList[0], $typeList[2])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造执行空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[2], $libs, $queryIdList[1], $typeList[2])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造执行空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[3], $libs, $queryIdList[0], $typeList[3])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造产品空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[3], $libs, $queryIdList[1], $typeList[3])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造产品空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[4], $libs, $queryIdList[0], $typeList[4])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造自定义空间搜索表单 +r($docTester->buildSearchFormTest($libIdList[4], $libs, $queryIdList[1], $typeList[4])) && p('fields:title,id,lib,status,addedDate,editedDate,keywords,version') && e('文档标题,ID,所属库,文档状态,创建日期,修改日期,关键字,版本号'); // 构造自定义空间搜索表单