From 0cdecbe61dfc13ee6effd44a1213eb9b5988c122 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 5 Dec 2023 14:05:03 +0800 Subject: [PATCH] * Refactor doc::getLibFiles unit test. --- module/doc/test/doc.class.php | 25 +++---- module/doc/test/model/getlibfiles.php | 102 +++++++++++++++++--------- 2 files changed, 77 insertions(+), 50 deletions(-) diff --git a/module/doc/test/doc.class.php b/module/doc/test/doc.class.php index 17f64424b3..ac1fe4d54c 100644 --- a/module/doc/test/doc.class.php +++ b/module/doc/test/doc.class.php @@ -326,28 +326,21 @@ class docTest } /** - * Test get lib files. + * 获取文档库的附件。 + * Get lib files. * - * @param string $type - * @param int $objectID - * @param string $orderBy - * @param object $pager + * @param string $type product|project|execution + * @param int $objectID + * @param string|bool $searchTitle * @access public - * @return string + * @return array */ - public function getLibFilesTest($type, $objectID, $orderBy, $pager = null) + public function getLibFilesTest(string $type, int $objectID, string|bool $searchTitle = false): array { - $objects = $this->objectModel->getLibFiles($type, $objectID, $orderBy, $pager = null); - + $files = $this->objectModel->getLibFiles($type, $objectID, $searchTitle); if(dao::isError()) return dao::getError(); - $titles = ''; - foreach($objects as $object) - { - $titles .= "$object->title,"; - } - $titles = trim($titles, ','); - return $titles; + return $files; } /** diff --git a/module/doc/test/model/getlibfiles.php b/module/doc/test/model/getlibfiles.php index 1729ab5162..51b3a5fc66 100755 --- a/module/doc/test/model/getlibfiles.php +++ b/module/doc/test/model/getlibfiles.php @@ -1,45 +1,79 @@ #!/usr/bin/env php getLibFiles(); +timeout=0 cid=1 -pid=1 - -获取 产品 1 下文件库id倒序排列的文件 >> 这是一个文件名称4.dot,这是一个文件名称3.docx,这是一个文件名称2.doc -获取 产品 2 下文件库id倒序排列的文件 >> 0 -获取 项目 11 下文件库id倒序排列的文件 >> 这是一个文件名称91.docx,这是一个文件名称2.doc,这是一个文件名称1.txt -获取 项目 12 下文件库id倒序排列的文件 >> 0 -获取 执行 101 下文件库id倒序排列的文件 >> 这是一个文件名称4.dot,这是一个文件名称2.doc,这是一个文件名称1.txt -获取 执行 102 下文件库id倒序排列的文件 >> 0 -获取 产品 1 下文件库id正序排列的文件 >> 这是一个文件名称2.doc,这是一个文件名称3.docx,这是一个文件名称4.dot -获取 产品 2 下文件库id正序排列的文件 >> 0 -获取 项目 11 下文件库id正序排列的文件 >> 这是一个文件名称1.txt,这是一个文件名称2.doc,这是一个文件名称91.docx -获取 项目 12 下文件库id正序排列的文件 >> 0 -获取 执行 101 下文件库id正序排列的文件 >> 这是一个文件名称1.txt,这是一个文件名称2.doc,这是一个文件名称4.dot -获取 执行 102 下文件库id正序排列的文件 >> 0 */ +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/doc.class.php'; -$type = array('product', 'project', 'execution'); -$objectID = array(1, 2, 11, 12, 101, 102); -$orderBy = array('t1.id_desc', 't1.id_asc'); +$storyTable = zdTable('story'); +$storyTable->product->range('1-5'); +$storyTable->gen(20); -$doc = new docTest(); +$planTable = zdTable('productplan'); +$planTable->product->range('1-5'); +$planTable->gen(20); -r($doc->getLibFilesTest($type[0], $objectID[0], $orderBy[0])) && p() && e('这是一个文件名称4.dot,这是一个文件名称3.docx,这是一个文件名称2.doc'); // 获取 产品 1 下文件库id倒序排列的文件 -r($doc->getLibFilesTest($type[0], $objectID[1], $orderBy[0])) && p() && e('0'); // 获取 产品 2 下文件库id倒序排列的文件 -r($doc->getLibFilesTest($type[1], $objectID[2], $orderBy[0])) && p() && e('这是一个文件名称91.docx,这是一个文件名称2.doc,这是一个文件名称1.txt'); // 获取 项目 11 下文件库id倒序排列的文件 -r($doc->getLibFilesTest($type[1], $objectID[3], $orderBy[0])) && p() && e('0'); // 获取 项目 12 下文件库id倒序排列的文件 -r($doc->getLibFilesTest($type[2], $objectID[4], $orderBy[0])) && p() && e('这是一个文件名称4.dot,这是一个文件名称2.doc,这是一个文件名称1.txt'); // 获取 执行 101 下文件库id倒序排列的文件 -r($doc->getLibFilesTest($type[2], $objectID[5], $orderBy[0])) && p() && e('0'); // 获取 执行 102 下文件库id倒序排列的文件 -r($doc->getLibFilesTest($type[0], $objectID[0], $orderBy[1])) && p() && e('这是一个文件名称2.doc,这是一个文件名称3.docx,这是一个文件名称4.dot'); // 获取 产品 1 下文件库id正序排列的文件 -r($doc->getLibFilesTest($type[0], $objectID[1], $orderBy[1])) && p() && e('0'); // 获取 产品 2 下文件库id正序排列的文件 -r($doc->getLibFilesTest($type[1], $objectID[2], $orderBy[1])) && p() && e('这是一个文件名称1.txt,这是一个文件名称2.doc,这是一个文件名称91.docx'); // 获取 项目 11 下文件库id正序排列的文件 -r($doc->getLibFilesTest($type[1], $objectID[3], $orderBy[1])) && p() && e('0'); // 获取 项目 12 下文件库id正序排列的文件 -r($doc->getLibFilesTest($type[2], $objectID[4], $orderBy[1])) && p() && e('这是一个文件名称1.txt,这是一个文件名称2.doc,这是一个文件名称4.dot'); // 获取 执行 101 下文件库id正序排列的文件 -r($doc->getLibFilesTest($type[2], $objectID[5], $orderBy[1])) && p() && e('0'); // 获取 执行 102 下文件库id正序排列的文件 \ No newline at end of file +$releaseTable = zdTable('release'); +$releaseTable->product->range('1-5'); +$releaseTable->gen(20); + +$caseTable = zdTable('case'); +$caseTable->product->range('1-5'); +$caseTable->gen(20); + +$projectstoryTable = zdTable('projectstory'); +$projectstoryTable->project->range('11,60,61,100,101-110'); +$projectstoryTable->gen(20); + +$taskTable = zdTable('task'); +$taskTable->execution->range('101-110'); +$taskTable->gen(20); + +$buildTable = zdTable('build'); +$buildTable->execution->range('101-110'); +$buildTable->gen(20); + +$issuetable = zdtable('issue'); +$issuetable->project->range('11, 60, 61, 100'); +$issuetable->gen(20); + +$meetingTable = zdTable('meeting'); +$meetingTable->project->range('11, 60, 61, 100'); +$meetingTable->gen(20); + +$reviewTable = zdTable('review'); +$reviewTable->project->range('11, 60, 61, 100'); +$reviewTable->gen(20); + +$designTable = zdTable('design'); +$designTable->project->range('11, 60, 61, 100'); +$designTable->gen(20); + +zdTable('product')->config('product')->gen(5); +zdTable('project')->config('execution')->gen(10); +zdTable('file')->gen(50); +zdTable('user')->gen(5); +su('admin'); + +$types = array('all', 'product', 'project', 'execution'); +$products = array(0 ,1); +$projects = array(0, 11); +$executions = array(0, 101); +$searchTitle = array(false, '文件'); + +$docTester = new docTest(); +r($docTester->getLibFilesTest($types[0], $products[0], $searchTitle[0])) && p() && e('0'); // 测试空数据 +r($docTester->getLibFilesTest($types[1], $products[0], $searchTitle[0])) && p() && e('0'); // 获取关联产品ID=0数据的附件 +r($docTester->getLibFilesTest($types[1], $products[1], $searchTitle[0])) && p('16:title,objectType,objectID') && e('文件标题16,testcase,16'); // 获取关联产品ID=1数据的附件 +r($docTester->getLibFilesTest($types[1], $products[1], $searchTitle[1])) && p('16:title,objectType,objectID') && e('文件标题16,testcase,16'); // 获取关联产品ID=1且名称中包含“文件”的附件 +r($docTester->getLibFilesTest($types[2], $projects[0], $searchTitle[0])) && p('13:title,objectType,objectID') && e('文件标题13,task,13'); // 获取关联项目ID=0数据的附件 +r($docTester->getLibFilesTest($types[2], $projects[1], $searchTitle[0])) && p('1:title,objectType,objectID') && e('文件标题1,task,1'); // 获取关联项目ID=11数据的附件 +r($docTester->getLibFilesTest($types[2], $projects[1], $searchTitle[1])) && p('1:title,objectType,objectID') && e('文件标题1,task,1'); // 获取关联项目ID=11且名称中包含“文件”的附件 +r($docTester->getLibFilesTest($types[3], $executions[0], $searchTitle[0])) && p() && e('0'); // 获取关联执行ID=0数据的附件 +r($docTester->getLibFilesTest($types[3], $executions[1], $searchTitle[0])) && p('1:title,objectType,objectID') && e('文件标题1,task,1'); // 获取关联执行ID=101数据的附件 +r($docTester->getLibFilesTest($types[3], $executions[1], $searchTitle[1])) && p('1:title,objectType,objectID') && e('文件标题1,task,1'); // 获取关联执行ID=101且名称中包含“文件”的附件