diff --git a/module/design/test/design.class.php b/module/design/test/design.class.php index d6e9c7d0c3..92ced61fa2 100644 --- a/module/design/test/design.class.php +++ b/module/design/test/design.class.php @@ -17,6 +17,8 @@ class designTest $app->rawModule = 'design'; $app->rawMethod = 'index'; + $app->setModuleName('design'); + $app->setMethodName('index'); } /** @@ -164,13 +166,33 @@ class designTest return $this->objectModel->dao->select('*')->from(TABLE_RELATION)->where('AType')->eq('design')->andWhere('AID')->eq($designID)->fetchAll(); } - public function getCommitTest($designID = 0, $pager = null) + /** + * 获取设计关联的代码提交。 + * Get commit. + * + * @param int $designID + * @param int $recPerPage + * @param int $pageID + * @access public + * @return array|string + */ + public function getCommitTest($designID = 0, int $recPerPage = 20, int $pageID = 1): array|string { - $objects = $this->objectModel->getCommit($designID = 0, $pager = null); + $this->objectModel->app->loadClass('pager', true); + $pager = pager::init(0, $recPerPage, $pageID); + $design = $this->objectModel->getCommit($designID, $pager); if(dao::isError()) return dao::getError(); - return $objects; + $commits = ''; + if(!empty($design->commit)) + { + foreach($design->commit as $commit) + { + $commits .= $commit->id . ';'; + } + } + return $commits; } /** diff --git a/module/design/test/model/getcommit.php b/module/design/test/model/getcommit.php new file mode 100755 index 0000000000..1970b98506 --- /dev/null +++ b/module/design/test/model/getcommit.php @@ -0,0 +1,43 @@ +#!/usr/bin/env php +getCommit(); +cid=1 + +- 测试空数据 @0 +- 测试未关联提交记录的设计 @0 +- 测试查询每页5项第一页的提交记录 @1;2;3;4;5; +- 测试查询每页5项第二页的提交记录 @6;7;8;9;10; +- 测试查询每页10项第一页的提交记录 @1;2;3;4;5;6;7;8;9;10; +- 测试查询每页10项第二页的提交记录 @11;12;13;14;15;16;17;18;19;20; +- 测试查询每页20项第一页的提交记录 @1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20; +- 测试查询每页20项第二页的提交记录 @1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20; +- 测试设计数据不存在时的提交记录 @0 + +*/ + +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/design.class.php'; + +$designTable = zdTable('design')->config('design'); +$designTable->commit->range('[]{2},`1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20`'); +$designTable->gen(3); + +zdTable('repohistory')->config('repohistory')->gen(20); +zdTable('user')->gen(5); + +$idList = array(0, 1, 3, 4); +$recPerPages = array(5, 10, 20); +$pageIDs = array(1, 2); + +$designTester = new designTest(); +r($designTester->getCommitTest($idList[0], $recPerPages[0], $pageIDs[0])) && p() && e('0'); // 测试空数据 +r($designTester->getCommitTest($idList[1], $recPerPages[0], $pageIDs[0])) && p() && e('0'); // 测试未关联提交记录的设计 +r($designTester->getCommitTest($idList[2], $recPerPages[0], $pageIDs[0])) && p() && e('1;2;3;4;5;'); // 测试查询每页5项第一页的提交记录 +r($designTester->getCommitTest($idList[2], $recPerPages[0], $pageIDs[1])) && p() && e('6;7;8;9;10;'); // 测试查询每页5项第二页的提交记录 +r($designTester->getCommitTest($idList[2], $recPerPages[1], $pageIDs[0])) && p() && e('1;2;3;4;5;6;7;8;9;10;'); // 测试查询每页10项第一页的提交记录 +r($designTester->getCommitTest($idList[2], $recPerPages[1], $pageIDs[1])) && p() && e('11;12;13;14;15;16;17;18;19;20;'); // 测试查询每页10项第二页的提交记录 +r($designTester->getCommitTest($idList[2], $recPerPages[2], $pageIDs[0])) && p() && e('1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;'); // 测试查询每页20项第一页的提交记录 +r($designTester->getCommitTest($idList[2], $recPerPages[2], $pageIDs[1])) && p() && e('1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;'); // 测试查询每页20项第二页的提交记录 +r($designTester->getCommitTest($idList[3], $recPerPages[0], $pageIDs[0])) && p() && e('0'); // 测试设计数据不存在时的提交记录