From 4bc2be15feba06cc5d3f9aa49b03492cbf3908ee Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 3 Oct 2025 11:41:05 +0800 Subject: [PATCH] * [misc] Fix unit tests for actionModel::getDynamicByProject() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../action/test/model/getdynamicbyproject.php | 76 +++++++++---------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/module/action/test/model/getdynamicbyproject.php b/module/action/test/model/getdynamicbyproject.php index 8a29a84fc4..bced6ff629 100755 --- a/module/action/test/model/getdynamicbyproject.php +++ b/module/action/test/model/getdynamicbyproject.php @@ -1,52 +1,50 @@ #!/usr/bin/env php loadYaml('action_year'); -$action->project->range('101'); -$action->gen(35); -$actionrecent = zenData('actionrecent')->loadYaml('action_year'); -$actionrecent->project->range('101'); -$actionrecent->gen(35); - -zenData('doclib')->gen(15); -zenData('doc')->gen(15); -zenData('product')->gen(5); -zenData('project')->loadYaml('execution')->gen(12); -zenData('user')->loadYaml('user')->gen(3); -zenData('userview')->loadYaml('userview')->gen(2); /** -title=测试 actionModel->getDynamicByProject(); +title=测试 actionModel::getDynamicByProject(); timeout=0 -cid=1 +cid=0 -- 查找所有用户动态 @35 -- 查找用户admin动态 @12 -- 查找用户dev17动态 @12 -- 查找用户test18动态 @11 -- 查找今天的动态 @2 -- 查找昨天的动态 @0 -- 查找今天的动态 @5 +- 执行actionTest模块的getDynamicByProjectTest方法,参数是101 @20 +- 执行actionTest模块的getDynamicByProjectTest方法,参数是101, 'admin' @10 +- 执行actionTest模块的getDynamicByProjectTest方法 @0 +- 执行actionTest模块的getDynamicByProjectTest方法,参数是999 @0 +- 执行actionTest模块的getDynamicByProjectTest方法,参数是101, 'all', 'today' @5 */ -$projectID = '101'; -$accountList = array('all', 'admin', 'dev17', 'test18'); -$typeList = array('all', 'today', 'yesterday', 'lastweek'); -$dateList = array('', 'today'); +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/lib/action.unittest.class.php'; +// zendata数据准备 +$action = zenData('action'); +$action->id->range('1-30'); +$action->objectType->range('task{10},story{10},bug{10}'); +$action->objectID->range('1-100'); +$action->project->range('101{20},102{5},103{5}'); +$action->actor->range('admin{10},dev17{10},test18{10}'); +$action->action->range('opened{15},edited{10},closed{5}'); +$action->date->range('(-1h)-(+1w):1D'); +$action->gen(30); + +zenData('project')->loadYaml('execution')->gen(12); +zenData('user')->loadYaml('user')->gen(5); + +// 用户登录 +su('admin'); + +// 创建测试实例 $actionTest = new actionTest(); -su('admin'); -r($actionTest->getDynamicByProjectTest($projectID, $accountList[0])) && p() && e('35'); // 查找所有用户动态 -r($actionTest->getDynamicByProjectTest($projectID, $accountList[1])) && p() && e('12'); // 查找用户admin动态 -r($actionTest->getDynamicByProjectTest($projectID, $accountList[2])) && p() && e('12'); // 查找用户dev17动态 -r($actionTest->getDynamicByProjectTest($projectID, $accountList[3])) && p() && e('11'); // 查找用户test18动态 - -r($actionTest->getDynamicByProjectTest($projectID, $accountList[1], $typeList[1])) && p() && e('2'); // 查找今天的动态 -r($actionTest->getDynamicByProjectTest($projectID, $accountList[1], $typeList[2])) && p() && e('0'); // 查找昨天的动态 - -r($actionTest->getDynamicByProjectTest($projectID, $accountList[0], $typeList[1])) && p() && e('5'); // 查找今天的动态 +// 测试步骤1:正常项目ID获取所有用户动态 +r($actionTest->getDynamicByProjectTest(101)) && p() && e('20'); +// 测试步骤2:指定用户admin获取项目动态 +r($actionTest->getDynamicByProjectTest(101, 'admin')) && p() && e('10'); +// 测试步骤3:无效项目ID(0)获取动态 +r($actionTest->getDynamicByProjectTest(0)) && p() && e('0'); +// 测试步骤4:不存在的项目ID获取动态 +r($actionTest->getDynamicByProjectTest(999)) && p() && e('0'); +// 测试步骤5:指定时间段获取项目动态 +r($actionTest->getDynamicByProjectTest(101, 'all', 'today')) && p() && e('5'); \ No newline at end of file