* Refactor doc::getLibFiles unit test.

This commit is contained in:
tianshujie
2023-12-05 14:07:11 +08:00
parent 871f91ecfa
commit 0cdecbe61d
2 changed files with 77 additions and 50 deletions
+9 -16
View File
@@ -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;
}
/**
+68 -34
View File
@@ -1,45 +1,79 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/doc.class.php';
su('admin');
/**
title=测试 docModel->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正序排列的文件
$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且名称中包含“文件”的附件