diff --git a/module/product/test/lib/zen.class.php b/module/product/test/lib/zen.class.php index ef188b4adb..0bfadc4a8f 100644 --- a/module/product/test/lib/zen.class.php +++ b/module/product/test/lib/zen.class.php @@ -477,4 +477,22 @@ class productZenTest extends baseTest if(dao::isError()) return dao::getError(); return $result; } + + /** + * Test getExportData method. + * + * @param int $programID + * @param string $browseType + * @param string $orderBy + * @param int $param + * @param object $pager + * @access public + * @return mixed + */ + public function getExportDataTest(int $programID = 0, string $browseType = 'all', string $orderBy = 'order_asc', int $param = 0, ?object $pager = null) + { + $result = $this->invokeArgs('getExportData', array($programID, $browseType, $orderBy, $param, $pager)); + if(dao::isError()) return dao::getError(); + return $result; + } } diff --git a/module/product/test/zen/getexportdata.php b/module/product/test/zen/getexportdata.php new file mode 100755 index 0000000000..a639dae603 --- /dev/null +++ b/module/product/test/zen/getexportdata.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +loadYaml('getexportdata', false, 2)->gen(10); +zendata('user')->loadYaml('getexportdata', false, 2)->gen(10); + +su('admin'); + +$productTest = new productZenTest(); + +r(count($productTest->getExportDataTest(0, 'all', 'order_asc', 0, null))) && p() && e('10'); // 步骤1:测试获取全部产品导出数据 +r(count($productTest->getExportDataTest(1, 'all', 'order_asc', 0, null))) && p() && e('1'); // 步骤2:测试获取项目集1的产品导出数据 +r(count($productTest->getExportDataTest(2, 'all', 'order_asc', 0, null))) && p() && e('1'); // 步骤3:测试获取项目集2的产品导出数据 +r(count($productTest->getExportDataTest(0, 'noclosed', 'order_asc', 0, null))) && p() && e('10'); // 步骤4:测试获取全部产品导出数据不受browseType影响 +r($productTest->getExportDataTest(0, 'all', 'order_asc', 0, null)) && p('0:type') && e('product'); // 步骤5:测试返回数据包含formatDataForList处理后的字段 \ No newline at end of file diff --git a/module/product/test/zen/yaml/getexportdata/zt_product.yaml b/module/product/test/zen/yaml/getexportdata/zt_product.yaml new file mode 100644 index 0000000000..f18144d7b3 --- /dev/null +++ b/module/product/test/zen/yaml/getexportdata/zt_product.yaml @@ -0,0 +1,180 @@ +--- +title: 产品表测试数据 +desc: 用于测试 getExportData 方法的产品数据 + +fields: +- field: id + note: 产品ID + range: 1-10 + prefix: "" + postfix: "" +- field: program + note: 所属项目集 + range: 0{5},1{3},2{2} +- field: name + note: 产品名称 + range: 产品A,产品B,产品C,产品D,产品E,产品F,产品G,产品H,产品I,产品J +- field: code + note: 产品代码 + range: 1-10 + format: "PRD%02d" +- field: shadow + note: 是否影子产品 + range: 0 +- field: bind + note: 是否绑定 + range: '0' +- field: line + note: 产品线 + range: 0{7},1{2},2{1} +- field: type + note: 产品类型 + range: normal{8},branch{1},platform{1} +- field: status + note: 产品状态 + range: normal{7},closed{3} +- field: subStatus + note: 子状态 + range: '' +- field: desc + note: 产品描述 + range: 这是产品描述{10} +- field: PO + note: 产品负责人 + range: admin{3},user1{2},user2{2},user3{3} +- field: QD + note: 测试负责人 + range: admin{5},user1{5} +- field: RD + note: 发布负责人 + range: admin{5},user2{5} +- field: feedback + note: 反馈负责人 + range: '' +- field: ticket + note: 工单负责人 + range: '' +- field: workflowGroup + note: 工作流分组 + range: 0 +- field: acl + note: 访问控制 + range: open{6},private{2},custom{2} +- field: groups + note: 分组权限 + range: '' +- field: whitelist + note: 白名单 + range: '' +- field: reviewer + note: 评审人 + range: '' +- field: PMT + note: PMT成员 + range: '' +- field: draftEpics + note: 草稿史诗数 + range: 0-5 +- field: activeEpics + note: 激活史诗数 + range: 0-10 +- field: changingEpics + note: 变更中史诗数 + range: 0-3 +- field: reviewingEpics + note: 评审中史诗数 + range: 0-2 +- field: finishedEpics + note: 已完成史诗数 + range: 0-8 +- field: closedEpics + note: 已关闭史诗数 + range: 0-5 +- field: totalEpics + note: 总史诗数 + range: 0-20 +- field: draftRequirements + note: 草稿需求数 + range: 0-5 +- field: activeRequirements + note: 激活需求数 + range: 5-15 +- field: changingRequirements + note: 变更中需求数 + range: 0-3 +- field: reviewingRequirements + note: 评审中需求数 + range: 0-2 +- field: finishedRequirements + note: 已完成需求数 + range: 3-10 +- field: closedRequirements + note: 已关闭需求数 + range: 0-5 +- field: totalRequirements + note: 总需求数 + range: 10-30 +- field: draftStories + note: 草稿故事数 + range: 0-5 +- field: activeStories + note: 激活故事数 + range: 10-20 +- field: changingStories + note: 变更中故事数 + range: 0-3 +- field: reviewingStories + note: 评审中故事数 + range: 0-2 +- field: finishedStories + note: 已完成故事数 + range: 5-15 +- field: closedStories + note: 已关闭故事数 + range: 0-5 +- field: totalStories + note: 总故事数 + range: 20-40 +- field: unresolvedBugs + note: 未解决Bug数 + range: 0-10 +- field: closedBugs + note: 已关闭Bug数 + range: 0-15 +- field: fixedBugs + note: 已修复Bug数 + range: 0-20 +- field: totalBugs + note: 总Bug数 + range: 0-30 +- field: plans + note: 计划数 + range: 0-5 +- field: releases + note: 发布数 + range: 0-8 +- field: createdBy + note: 创建者 + range: admin{7},user1{2},user2{1} +- field: createdDate + note: 创建时间 + range: (-180d)-(-1d):10d + type: timestamp + format: YYYY-MM-DD hh:mm:ss +- field: createdVersion + note: 创建版本 + range: '' +- field: closedDate + note: 关闭日期 + range: '[]{7},(-30d)-(-1d):5d{3}' + type: timestamp + format: YYYY-MM-DD +- field: order + note: 排序 + range: 1-10 +- field: vision + note: 视图 + range: rnd +- field: deleted + note: 是否删除 + range: '0' diff --git a/module/product/test/zen/yaml/getexportdata/zt_user.yaml b/module/product/test/zen/yaml/getexportdata/zt_user.yaml new file mode 100644 index 0000000000..5bbb3e54f3 --- /dev/null +++ b/module/product/test/zen/yaml/getexportdata/zt_user.yaml @@ -0,0 +1,20 @@ +--- +title: 用户表测试数据 +desc: 用于测试 getExportData 方法的用户数据 + +fields: +- field: id + note: 用户ID + range: 1-10 +- field: account + note: 账号 + range: admin,user1,user2,user3,user4,user5,user6,user7,user8,user9 +- field: realname + note: 真实姓名 + range: 管理员,用户1,用户2,用户3,用户4,用户5,用户6,用户7,用户8,用户9 +- field: role + note: 角色 + range: admin,dev{3},qa{2},pm{2},po{2} +- field: deleted + note: 是否删除 + range: '0'