From 02266c13ed6dd3190e4b89b39d6f809a5f2b6a7d Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 19 Sep 2025 19:20:09 +0800 Subject: [PATCH] * [misc] Enhance unit tests for bugModel::getDataOfOpenedBugsPerUser() 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 --- .../test/model/getdataofopenedbugsperuser.php | 74 ++++++++++++++++--- 1 file changed, 64 insertions(+), 10 deletions(-) diff --git a/module/bug/test/model/getdataofopenedbugsperuser.php b/module/bug/test/model/getdataofopenedbugsperuser.php index 9ecd1c5eb1..bb54e9a6cf 100755 --- a/module/bug/test/model/getdataofopenedbugsperuser.php +++ b/module/bug/test/model/getdataofopenedbugsperuser.php @@ -1,22 +1,76 @@ #!/usr/bin/env php gen(10); /** -title=bugModel->getDataOfOpenedBugsPerUser(); +title=测试 bugModel::getDataOfOpenedBugsPerUser(); timeout=0 -cid=1 +cid=0 -- 获取admin创建的 bug 数据 +- 测试步骤1:多用户不同数量bug统计 - 第admin条的name属性 @admin - - 第admin条的value属性 @10 + - 第admin条的value属性 @5 + - 第dev1条的name属性 @dev1 + - 第dev1条的value属性 @3 + - 第test1条的name属性 @test1 + - 第test1条的value属性 @2 + - 第user1条的name属性 @用户1 + - 第user1条的value属性 @1 +- 测试步骤2:单用户场景统计 + - 第admin条的name属性 @admin + - 第admin条的value属性 @8 +- 测试步骤3:无数据场景统计 @0 +- 测试步骤4:验证相同数量用户都存在 + - 第user1条的value属性 @3 + - 第user2条的value属性 @3 + - 第user3条的value属性 @3 +- 测试步骤5:用户名转换验证 + - 第admin条的name属性 @admin + - 第admin条的value属性 @2 + - 第test条的name属性 @test + - 第test条的value属性 @1 */ +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/lib/bug.unittest.class.php'; + +// 测试步骤1:多用户不同数量bug统计 +$table = zenData('bug'); +$table->openedBy->range('admin{5},dev1{3},test1{2},user1{1}'); +$table->gen(11); + +su('admin'); $bug = new bugTest(); -r($bug->getDataOfOpenedBugsPerUserTest()) && p('admin:name,value') && e('admin,10'); //获取admin创建的 bug 数据 \ No newline at end of file +r($bug->getDataOfOpenedBugsPerUserTest()) && p('admin:name,value;dev1:name,value;test1:name,value;user1:name,value') && e('admin,5;dev1,3;test1,2;用户1,1'); // 测试步骤1:多用户不同数量bug统计 + +// 测试步骤2:单用户场景统计 +zenData('bug')->gen(0); +$table = zenData('bug'); +$table->openedBy->range('admin{8}'); +$table->gen(8); + +r($bug->getDataOfOpenedBugsPerUserTest()) && p('admin:name,value') && e('admin,8'); // 测试步骤2:单用户场景统计 + +// 测试步骤3:无数据场景统计(通过设置reportCondition为不匹配条件) +zenData('bug')->gen(0); +$_SESSION['bugQueryCondition'] = '1=0'; +$_SESSION['bugOnlyCondition'] = true; + +r($bug->getDataOfOpenedBugsPerUserTest()) && p() && e('0'); // 测试步骤3:无数据场景统计 + +// 测试步骤4:多用户相同数量排序 +unset($_SESSION['bugQueryCondition'], $_SESSION['bugOnlyCondition']); +$table = zenData('bug'); +$table->openedBy->range('user1{3},user2{3},user3{3}'); +$table->gen(9); + +r($bug->getDataOfOpenedBugsPerUserTest()) && p('user1:value;user2:value;user3:value') && e('3;3;3'); // 测试步骤4:验证相同数量用户都存在 + +// 测试步骤5:用户名转换验证 +zenData('bug')->gen(0); +$table = zenData('bug'); +$table->openedBy->range('admin{2},test{1}'); +$table->gen(3); + +r($bug->getDataOfOpenedBugsPerUserTest()) && p('admin:name,value;test:name,value') && e('admin,2;test,1'); // 测试步骤5:用户名转换验证 \ No newline at end of file