diff --git a/module/product/test/model/accessdenied.php b/module/product/test/model/accessdenied.php
index 0d9a840c42..69632fc8a4 100755
--- a/module/product/test/model/accessdenied.php
+++ b/module/product/test/model/accessdenied.php
@@ -1,16 +1,15 @@
#!/usr/bin/env php
app->moduleName = 'product';
@@ -28,4 +27,4 @@ catch (Throwable $e)
$result = 'fail';
}
-r($result) && p() && e('fail'); // 权限不足跳转
\ No newline at end of file
+r($result) && p() && e('fail'); // 权限不足跳转
diff --git a/module/product/test/model/activate.php b/module/product/test/model/activate.php
index 87ee7a4445..c3a1d6ac84 100755
--- a/module/product/test/model/activate.php
+++ b/module/product/test/model/activate.php
@@ -1,9 +1,39 @@
#!/usr/bin/env php
activate();
-cid=1
-pid=1
+cid=0
+
+- 测试未关闭产品1 @0
+- 测试未关闭产品2 @0
+- 测试未关闭产品3 @0
+- 测试未关闭产品4 @0
+- 测试未关闭产品5 @0
+- 测试关闭的产品1
+ - 第0条的field属性 @status
+ - 第0条的old属性 @closed
+ - 第0条的new属性 @normal
+- 测试关闭的产品2
+ - 第0条的field属性 @status
+ - 第0条的old属性 @closed
+ - 第0条的new属性 @normal
+- 测试关闭的产品3
+ - 第0条的field属性 @status
+ - 第0条的old属性 @closed
+ - 第0条的new属性 @normal
+- 测试关闭的产品4
+ - 第0条的field属性 @status
+ - 第0条的old属性 @closed
+ - 第0条的new属性 @normal
+- 测试关闭的产品5
+ - 第0条的field属性 @status
+ - 第0条的old属性 @closed
+ - 第0条的new属性 @normal
+- 测试不存在的产品11 @0
+- 测试不存在的产品0 @0
+- 测试不存在的产品-1 @0
*/
diff --git a/module/product/test/model/batchgetstorystage.php b/module/product/test/model/batchgetstorystage.php
index 56ad582eb0..597ffba20d 100755
--- a/module/product/test/model/batchgetstorystage.php
+++ b/module/product/test/model/batchgetstorystage.php
@@ -1,13 +1,27 @@
#!/usr/bin/env php
batchGetStoryStage();
-cid=1
-pid=1
- */
+cid=0
+
+- 获取需求ID1,2,3的需求阶段
+ - 属性1 @wait
+ - 属性2 @planned
+ - 属性3 @projected
+- 获取需求ID4,5,6的需求阶段
+ - 属性4 @developing
+ - 属性5 @developed
+ - 属性6 @testing
+- 获取需求ID7,8,9的需求阶段
+ - 属性7 @tested
+ - 属性8 @verified
+ - 属性9 @released
+
+*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('storystage')->gen(50);
diff --git a/module/product/test/model/batchupdate.php b/module/product/test/model/batchupdate.php
index b50c42befc..f275e1c68d 100755
--- a/module/product/test/model/batchupdate.php
+++ b/module/product/test/model/batchupdate.php
@@ -1,17 +1,45 @@
#!/usr/bin/env php
gen(10);
/**
title=测试 productModel->batchUpdate();
-cid=1
-pid=1
+cid=0
+
+- 执行$changes
+ - 属性field @program
+ - 属性old @0
+ - 属性new @1
+- 执行$changes
+ - 属性field @name
+ - 属性old @正常产品1
+ - 属性new @批量修改产品1
+- 执行$changes
+ - 属性field @type
+ - 属性old @normal
+ - 属性new @branch
+- 执行$changes
+ - 属性field @acl
+ - 属性old @open
+ - 属性new @private
+- 验证唯一。
+ - 属性result @fail
+ - 属性message @product:2『产品名称』已经有『批量修改产品1』这条记录了。\n
+- 不传任何数据。 @0
+- 执行$changes
+ - 属性field @type
+ - 属性old @branch
+ - 属性new @normal
+- 执行$changes
+ - 属性field @acl
+ - 属性old @private
+ - 属性new @open
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('product')->gen(10);
$product = new productTest('admin');
diff --git a/module/product/test/model/buildoperatemenu.php b/module/product/test/model/buildoperatemenu.php
index 174d14085d..bb2c2dc39f 100755
--- a/module/product/test/model/buildoperatemenu.php
+++ b/module/product/test/model/buildoperatemenu.php
@@ -1,17 +1,19 @@
#!/usr/bin/env php
gen(10);
/**
title=productModel->buildOperateMenu();
-timeout=0
-cid=1
+cid=0
+
+- 检查是否有关闭链接。第0条的text属性 @关闭
+- 检查是否有编辑和删除链接。 @2
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('product')->gen(10);
global $tester;
$productModel = $tester->loadModel('product');
diff --git a/module/product/test/model/buildproductsearchform.php b/module/product/test/model/buildproductsearchform.php
index 1dadd80226..71c96eecf8 100755
--- a/module/product/test/model/buildproductsearchform.php
+++ b/module/product/test/model/buildproductsearchform.php
@@ -1,5 +1,15 @@
#!/usr/bin/env php
buildProductSearchForm();
+cid=0
+
+- 正确的queryID @1
+- 错误的queryID @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -14,17 +24,6 @@ $query->form->range('`a:44:{s:9:"fieldname";s:0:"";s:7:"fieldid";s:0:"";s:11:"fi
$query->sql->range("`(( 1 AND `name` LIKE '%产品%' ) AND ( 1 ))`");
$query->gen(1);
-/**
-
-title=测试productModel->buildProductSearchForm();
-cid=1
-pid=1
-
-正确的queryID >> 1
-错误的queryID >> 0
-
-*/
-
$queryIDList = array('0', '1');
$product = new productTest('admin');
diff --git a/module/product/test/model/buildroadmapforui.php b/module/product/test/model/buildroadmapforui.php
index 48af01a3f7..cbfa6bc701 100755
--- a/module/product/test/model/buildroadmapforui.php
+++ b/module/product/test/model/buildroadmapforui.php
@@ -1,15 +1,19 @@
#!/usr/bin/env php
buildRoadmapForUI();
-cid=1
-pid=1
+cid=0
+
+- 空数据 @0
+- 分支没有数据 @0
+- 执行$data[$year][0] @1
+- 执行$data[$year][1] @5
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
$product = $tester->loadModel('product');
diff --git a/module/product/test/model/buildsearchform.php b/module/product/test/model/buildsearchform.php
index c2de0ea251..77efa577b4 100755
--- a/module/product/test/model/buildsearchform.php
+++ b/module/product/test/model/buildsearchform.php
@@ -1,5 +1,17 @@
#!/usr/bin/env php
buildSearchForm();
+cid=0
+
+- 正确的执行,正确的queryID @1
+- 错误的执行,正确的queryID @0
+- 正确的执行,错误的queryID @0
+- 错误的执行,错误的queryID @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -26,14 +38,6 @@ $query->gen(1);
su('admin');
-/**
-
-title=测试productModel->buildSearchForm();
-timeout=0
-cid=1
-
-*/
-
$productIdList = array(1, 0);
$queryIdList = array(0, 1);
diff --git a/module/product/test/model/checkaccess.php b/module/product/test/model/checkaccess.php
index 440e54bb27..921e6b7e90 100755
--- a/module/product/test/model/checkaccess.php
+++ b/module/product/test/model/checkaccess.php
@@ -1,9 +1,15 @@
#!/usr/bin/env php
gen(10);
su('admin');
-
global $tester;
$tester->loadModel('product');
diff --git a/module/product/test/model/checkpriv.php b/module/product/test/model/checkpriv.php
index 1ea7f53d5b..5cbc0379a3 100755
--- a/module/product/test/model/checkpriv.php
+++ b/module/product/test/model/checkpriv.php
@@ -1,15 +1,27 @@
#!/usr/bin/env php
checkPriv();
-cid=1
-pid=1
+cid=0
+
+- 测试admin能否看到产品1 @1
+- 测试admin能否看到产品2 @1
+- 测试admin能否看到产品3 @1
+- 测试admin能否看到产品4 @1
+- 测试admin能否看到产品5 @1
+- 测试admin能否看到不存在的产品 @1
+- 测试po1能否看到产品1 @1
+- 测试po1能否看到产品2 @1
+- 测试po1能否看到产品3 @1
+- 测试po1能否看到产品4 @1
+- 测试po1能否看到产品5 @1
+- 测试po1能否看到不存在的产品 @0
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
$productIdList = array(1, 2, 3, 4, 5, 1000001);
diff --git a/module/product/test/model/close.php b/module/product/test/model/close.php
index e2b63ca038..381952c8a4 100755
--- a/module/product/test/model/close.php
+++ b/module/product/test/model/close.php
@@ -1,17 +1,39 @@
#!/usr/bin/env php
gen(10);
/**
title=productModel->close();
-cid=1
-pid=1
+cid=0
+
+- 测试关闭产品1
+ - 第0条的field属性 @status
+ - 第0条的old属性 @normal
+ - 第0条的new属性 @closed
+- 测试关闭产品2
+ - 第0条的field属性 @status
+ - 第0条的old属性 @normal
+ - 第0条的new属性 @closed
+- 测试关闭产品3
+ - 第0条的field属性 @status
+ - 第0条的old属性 @normal
+ - 第0条的new属性 @closed
+- 测试关闭产品4
+ - 第0条的field属性 @status
+ - 第0条的old属性 @normal
+ - 第0条的new属性 @closed
+- 测试关闭产品5
+ - 第0条的field属性 @status
+ - 第0条的old属性 @normal
+ - 第0条的new属性 @closed
+- 测试关闭不存在产品 @0
+- 测试关闭不存在产品 @0
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('product')->gen(10);
$productIDList = array(1, 2, 3, 4, 5, 1000001, 0);
diff --git a/module/product/test/model/concatproductline.php b/module/product/test/model/concatproductline.php
index 759c72e38b..c4d066b1e4 100755
--- a/module/product/test/model/concatproductline.php
+++ b/module/product/test/model/concatproductline.php
@@ -1,19 +1,37 @@
#!/usr/bin/env php
concatProductLine();
+cid=0
+
+- 测试第一组产品列表的0条数据第0条的name属性 @产品线1/产品1
+- 测试第一组产品列表的1条数据第1条的name属性 @产品线1/产品2
+- 测试第一组产品列表的5条数据第5条的name属性 @产品线2/产品6
+- 测试第一组产品列表的6条数据第6条的name属性 @产品线2/产品7
+- 测试第一组产品列表的10条数据第10条的name属性 @产品线3/产品11
+- 测试第一组产品列表的11条数据第11条的name属性 @产品线3/产品12
+- 测试第二组产品列表的0条数据第0条的name属性 @产品线3/产品11
+- 测试第二组产品列表的1条数据第1条的name属性 @产品线3/产品12
+- 测试第二组产品列表的5条数据第5条的name属性 @产品线4/产品16
+- 测试第二组产品列表的6条数据第6条的name属性 @产品线4/产品17
+- 测试第二组产品列表的10条数据第10条的name属性 @产品线5/产品21
+- 测试第二组产品列表的11条数据第11条的name属性 @产品线5/产品22
+- 测试第三组产品列表的0条数据第0条的name属性 @产品线3/产品11
+- 测试第三组产品列表的1条数据第1条的name属性 @产品线3/产品12
+- 测试第三组产品列表的5条数据第5条的name属性 @产品线4/产品16
+- 测试第三组产品列表的6条数据第6条的name属性 @产品线4/产品17
+- 测试第三组产品列表的10条数据第10条的name属性 @产品26
+- 测试第三组产品列表的11条数据第11条的name属性 @产品27
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('module')->config('line')->gen(5);
zdTable('product')->config('product')->gen(30);
-/**
-
-title=productModel->concatProductLine();
-cid=1
-pid=1
-
-*/
-
$product = new productTest('admin');
$lineList = array(1, 2, 3, 4, 5);
diff --git a/module/product/test/model/converthtmlspecialchars.php b/module/product/test/model/converthtmlspecialchars.php
index 5272abc99d..98d91100c1 100755
--- a/module/product/test/model/converthtmlspecialchars.php
+++ b/module/product/test/model/converthtmlspecialchars.php
@@ -1,14 +1,18 @@
#!/usr/bin/env php
convertHtmlSpecialChars();
-timeout=0
-cid=1
+cid=0
+
+- 不传入任何数据。 @0
+- 检查转换后的产品名称。 @a's product
+- 检查转换后的项目名称。 @"b" project
+- 检查转换后的计划名称。 @a's plan
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
global $tester;
$productModel = $tester->loadModel('product');
diff --git a/module/product/test/model/create.php b/module/product/test/model/create.php
index faf794f14c..bf893b153c 100755
--- a/module/product/test/model/create.php
+++ b/module/product/test/model/create.php
@@ -1,17 +1,33 @@
#!/usr/bin/env php
create();
+cid=0
+
+- 测试正常的创建属性name @product1
+- 测试传入name和code
+ - 属性name @product3
+ - 属性code @productcode3
+ - 属性line @2
+- 测试传入program、name、code
+ - 属性program @3
+ - 属性name @product4
+ - 属性code @productcode4
+- 测试传入program、name、code、type、status
+ - 属性program @4
+ - 属性type @branch
+ - 属性status @closed
+- 测试创建重复的产品第code条的0属性 @『产品代号』已经有『productcode1』这条记录了。
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(1);
zdTable('module')->gen(1);
-/**
-title=测试创建产品 productModel->create();
-cid=1
-pid=1
-*/
-
$product = new productTest('admin');
$create = array('name' => 'product1', 'code' => 'productcode1');
diff --git a/module/product/test/model/deletebyid.php b/module/product/test/model/deletebyid.php
index 19a1c5dc5e..4512ee9532 100644
--- a/module/product/test/model/deletebyid.php
+++ b/module/product/test/model/deletebyid.php
@@ -1,19 +1,23 @@
#!/usr/bin/env php
deleteByID();
+cid=0
+
+- 执行$products[3]->deleted @0
+- 执行$doclib @1
+- 执行$products[3]->deleted @1
+- 执行$doclib @1
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(10);
zdTable('doclib')->gen(10);
-/**
- *
-title=productTao->deleteByID();
-timeout=0
-cid=1
-
- */
-
$product = new productTest('admin');
$products = $product->objectModel->getByIdList(array(1,2,3,4,5));
diff --git a/module/product/test/model/deleteline.php b/module/product/test/model/deleteline.php
index 5a12e153a5..5716937e13 100644
--- a/module/product/test/model/deleteline.php
+++ b/module/product/test/model/deleteline.php
@@ -1,5 +1,28 @@
#!/usr/bin/env php
deleteLine();
+cid=0
+
+- 测试删除产品线1
+ - 属性name @产品线1
+ - 属性deleted @1
+- 测试删除产品线2
+ - 属性name @产品线2
+ - 属性deleted @1
+- 测试删除产品线3
+ - 属性name @产品线3
+ - 属性deleted @1
+- 测试删除产品线4
+ - 属性name @产品线4
+ - 属性deleted @1
+- 测试删除产品线5
+ - 属性name @产品线5
+ - 属性deleted @1
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -7,14 +30,6 @@ zdTable('user')->gen(5);
zdTable('product')->gen(10);
zdTable('module')->config('lines')->gen(30);
-/**
-
-title=测试productModel->deleteLine();
-timeout=0
-cid=1
-
-*/
-
$lineIdList = range(1, 5);
$productTester = new productTest('admin');
diff --git a/module/product/test/model/formatdataforlist.php b/module/product/test/model/formatdataforlist.php
index 904d4df57c..3684d78f60 100644
--- a/module/product/test/model/formatdataforlist.php
+++ b/module/product/test/model/formatdataforlist.php
@@ -1,17 +1,23 @@
#!/usr/bin/env php
formatDataForList();
+cid=0
+
+- 正常产品
+ - 属性name @正常产品1
+ - 属性type @product
+- 错误的产品 @0
+- 不存在的产品 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(3);
-/**
-title=测试productModel->formatDataForList();
-cid=1
-pid=1
-
-*/
-
$product = new productTest();
$idList = array(1, 0, 5);
diff --git a/module/product/test/model/getaccessibleproductid.php b/module/product/test/model/getaccessibleproductid.php
index 556834ccca..d868268378 100644
--- a/module/product/test/model/getaccessibleproductid.php
+++ b/module/product/test/model/getaccessibleproductid.php
@@ -1,17 +1,21 @@
#!/usr/bin/env php
gen(10);
-su('admin');
/**
title=测试 productModel::getAccessibleProductID;
-timeout=0
-cid=1
+cid=0
+
+- 不传入ID @1
+- 传入存在ID的值 @6
+- 不传入ID,读取session信息 @1
+- 传入正确的ID @10
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+
+zdTable('product')->gen(10);
+su('admin');
global $tester;
$tester->loadModel('product');
diff --git a/module/product/test/model/getbyid.php b/module/product/test/model/getbyid.php
index 1bb690726d..d1df199d5f 100755
--- a/module/product/test/model/getbyid.php
+++ b/module/product/test/model/getbyid.php
@@ -1,19 +1,55 @@
#!/usr/bin/env php
getById();
+cid=0
+
+- 测试获取产品1的信息
+ - 属性name @正常产品1
+ - 属性code @code1
+ - 属性type @normal
+ - 属性PO @po1
+ - 属性QD @test1
+ - 属性RD @dev1
+- 测试获取产品2的信息
+ - 属性name @正常产品2
+ - 属性code @code2
+ - 属性type @normal
+ - 属性PO @po2
+ - 属性QD @test2
+ - 属性RD @dev2
+- 测试获取产品3的信息
+ - 属性name @正常产品3
+ - 属性code @code3
+ - 属性type @normal
+ - 属性PO @po3
+ - 属性QD @test3
+ - 属性RD @dev3
+- 测试获取产品4的信息
+ - 属性name @正常产品4
+ - 属性code @code4
+ - 属性type @normal
+ - 属性PO @po4
+ - 属性QD @test4
+ - 属性RD @dev4
+- 测试获取产品5的信息
+ - 属性name @正常产品5
+ - 属性code @code5
+ - 属性type @normal
+ - 属性PO @po5
+ - 属性QD @test5
+ - 属性RD @dev5
+- 测试获取不存在产品的信息 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('user')->gen(5);
zdTable('product')->gen(10);
-/**
-
-title=productModel->getById();
-timeout=0
-cid=1
-
-*/
-
$productIdList = array(1, 2, 3, 4, 5, 1000001);
$product = new productTest('admin');
diff --git a/module/product/test/model/getbyidlist.php b/module/product/test/model/getbyidlist.php
index 6a4954a6ad..b9979a44c2 100755
--- a/module/product/test/model/getbyidlist.php
+++ b/module/product/test/model/getbyidlist.php
@@ -1,16 +1,72 @@
#!/usr/bin/env php
getByIdList();
+cid=0
+
+- 测试获取产品列表中产品1的信息
+ - 第1条的name属性 @产品1
+ - 第1条的program属性 @1
+ - 第1条的shadow属性 @0
+ - 第1条的line属性 @1
+ - 第1条的type属性 @normal
+ - 第1条的status属性 @normal
+ - 第1条的PO属性 @po1
+ - 第1条的QD属性 @qd1
+ - 第1条的acl属性 @open
+ - 第1条的vision属性 @rnd
+- 测试获取产品列表中产品2的信息
+ - 第2条的name属性 @产品2
+ - 第2条的program属性 @2
+ - 第2条的shadow属性 @0
+ - 第2条的line属性 @2
+ - 第2条的type属性 @normal
+ - 第2条的status属性 @normal
+ - 第2条的PO属性 @po1
+ - 第2条的QD属性 @qd1
+ - 第2条的acl属性 @open
+ - 第2条的vision属性 @rnd
+- 测试获取产品列表中产品3的信息
+ - 第3条的name属性 @产品3
+ - 第3条的program属性 @3
+ - 第3条的shadow属性 @1
+ - 第3条的line属性 @3
+ - 第3条的type属性 @branch
+ - 第3条的status属性 @closed
+ - 第3条的PO属性 @po2
+ - 第3条的QD属性 @qd2
+ - 第3条的acl属性 @private
+ - 第3条的vision属性 @rnd
+- 测试获取产品列表中产品4的信息
+ - 第4条的name属性 @产品4
+ - 第4条的program属性 @4
+ - 第4条的shadow属性 @1
+ - 第4条的line属性 @4
+ - 第4条的type属性 @branch
+ - 第4条的status属性 @closed
+ - 第4条的PO属性 @po2
+ - 第4条的QD属性 @qd2
+ - 第4条的acl属性 @private
+ - 第4条的vision属性 @rnd
+- 测试获取产品列表中产品5的信息
+ - 第5条的name属性 @产品5
+ - 第5条的program属性 @5
+ - 第5条的shadow属性 @1
+ - 第5条的line属性 @5
+ - 第5条的type属性 @branch
+ - 第5条的status属性 @closed
+ - 第5条的PO属性 @po3
+ - 第5条的QD属性 @qd3
+ - 第5条的acl属性 @private
+ - 第5条的vision属性 @rnd
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->config('product')->gen(5);
-/**
-
-title=productModel->getByIdList();
-cid=1
-pid=1
-
-*/
$product = new productTest('admin');
diff --git a/module/product/test/model/getcasecoveragepairs.php b/module/product/test/model/getcasecoveragepairs.php
index 2ee185b92e..c0af2ff29f 100644
--- a/module/product/test/model/getcasecoveragepairs.php
+++ b/module/product/test/model/getcasecoveragepairs.php
@@ -1,5 +1,17 @@
#!/usr/bin/env php
getCaseCoveragePairs();
+cid=0
+
+- 执行$pairs[1] @30
+- 执行$pairs[7] @30
+- 执行$pairs[10] @20
+- 执行$pairs[1000] @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -9,13 +21,6 @@ zdTable('case')->gen(100);
zdTable('user')->gen(5);
su('admin');
-/**
-title=productModel->getCaseCoveragePairs();
-timeout=0
-cid=1
-
- */
-
$tester = new productTest('admin');
$productList = $tester->objectModel->getList();
diff --git a/module/product/test/model/getexecutionpairsbyproduct.php b/module/product/test/model/getexecutionpairsbyproduct.php
index 2fec09a85a..be5ede934b 100755
--- a/module/product/test/model/getexecutionpairsbyproduct.php
+++ b/module/product/test/model/getexecutionpairsbyproduct.php
@@ -1,5 +1,27 @@
#!/usr/bin/env php
getExecutionPairsByProduct();
+cid=0
+
+- 不传入任何数据。 @0
+- 只传入产品,不传入项目,检查敏捷项目。 @敏捷项目1/迭代5
+- 只传入产品,不传入项目,检查不启用迭代的项目。 @敏捷项目1(不启用迭代的项目)
+- 只传入产品,不传入项目,检查包含子阶段的项目。 @瀑布项目2/阶段10/阶段16
+- 只传入产品,不传入项目,检查无子阶段的项目。 @瀑布项目3/阶段24
+- 只传入产品,不传入项目,检查看板项目。 @看板项目4/看板28
+- 只传入产品,不传入项目,是否包含关闭的迭代。 @1
+- 只传入产品,不传入项目,是否包含不启用迭代的执行。 @1
+- 传入产品,传入敏捷项目。 @5
+- 传入产品,传入无关联数据的项目。 @0
+- 传入产品,传入有子阶段的瀑布项目。 @6
+- 传入产品,传入无子阶段的瀑布项目。 @6
+- 传入产品,传入看板项目。 @4
+- 传入无关联关系的产品。 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -9,14 +31,6 @@ $projectProduct->project->range('101-150');
$projectProduct->product->range('1');
$projectProduct->gen(28);
-/**
-
-title=productModel->getExecutionPairsByProduct();
-timeout=0
-cid=1
-
-*/
-
$productIDList = array(0, 1, 1000001);
$projectIDList = array(11, 21, 60, 61, 100);
diff --git a/module/product/test/model/getgrouproadmapdata.php b/module/product/test/model/getgrouproadmapdata.php
index deb63ec611..9f0f68485e 100644
--- a/module/product/test/model/getgrouproadmapdata.php
+++ b/module/product/test/model/getgrouproadmapdata.php
@@ -1,5 +1,21 @@
#!/usr/bin/env php
getGroupRoadmapData();
+cid=0
+
+- 获取产品ID为1的产品路线图数据 @2
+- 获取产品ID为1下主干的产品路线图数据 @2
+- 获取产品ID为1下分支1的产品路线图数据 @2
+- 获取产品ID为1的产品路线图数据 @2
+- 获取产品ID为6的产品路线图数据 @2
+- 获取产品ID为6下主干的产品路线图数据 @2
+- 获取产品ID为6下分支1的产品路线图数据 @2
+- 获取产品ID为6的产品路线图数据 @2
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('user')->gen(5);
@@ -7,14 +23,6 @@ zdTable('productplan')->config('productplan')->gen(30);
zdTable('release')->config('release')->gen(30);
su('admin');
-/**
-
-title=测试productModel->getGroupRoadmapData();
-timeout=0
-cid=1
-
-*/
-
$productIdList = array(1, 6);
$branchList = array('all', '0', '1');
$countList = array(0, 1);
diff --git a/module/product/test/model/getlinepairs.php b/module/product/test/model/getlinepairs.php
index 0145c1d05f..89a423330c 100755
--- a/module/product/test/model/getlinepairs.php
+++ b/module/product/test/model/getlinepairs.php
@@ -1,5 +1,28 @@
#!/usr/bin/env php
getLinePairs();
+cid=0
+
+- 测试获取程序集-1的信息 @0
+- 获取所有未删除的产品线 @10
+- 测试获取程序集1的信息
+ - 属性1 @产品线1
+ - 属性6 @产品线6
+- 测试获取程序集2的信息
+ - 属性2 @产品线2
+ - 属性7 @产品线7
+- 测试获取程序集3的信息
+ - 属性3 @产品线3
+ - 属性8 @产品线8
+- 测试获取程序集4的信息
+ - 属性4 @产品线4
+ - 属性9 @产品线9
+- 测试获取不存在程序集的信息 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -13,14 +36,6 @@ $module->type->range("line");
$module->parent->range('`0`');
$module->gen(10);
-/**
-
-title=productModel->getLinePairs();
-timeout=0
-cid=1
-
-*/
-
$product = new productTest('admin');
r($product->getLinePairsTest(-1)) && p() && e('0'); // 测试获取程序集-1的信息
r(count($product->getLinePairsTest(0))) && p() && e('10'); // 获取所有未删除的产品线
diff --git a/module/product/test/model/getlines.php b/module/product/test/model/getlines.php
index 307fe06746..1a0e4f6ad7 100755
--- a/module/product/test/model/getlines.php
+++ b/module/product/test/model/getlines.php
@@ -1,16 +1,23 @@
#!/usr/bin/env php
config('lines', $useCommon = true)->gen(20);
/**
title=productModel->getLines();
-cid=1
-pid=1
+cid=0
+
+- 测试不传参数的情况 @20
+- 测试传入空数组的情况 @20
+- 测试获取项目集1的产品线 @5
+- 测试获取项目集1,2的产品线 @10
+- 测试获取项目集1,2,3的产品线 @15
+- 测试获取项目集1,2,3,4的产品线 @20
+- 测试获取项目集1,2,3,4,5的产品线 @20
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+
+zdTable('module')->config('lines', $useCommon = true)->gen(20);
$product = $tester->loadModel('product');
$programIdList1 = array();
diff --git a/module/product/test/model/getlist.php b/module/product/test/model/getlist.php
index 9c8cb7670e..2e69764885 100644
--- a/module/product/test/model/getlist.php
+++ b/module/product/test/model/getlist.php
@@ -1,5 +1,49 @@
#!/usr/bin/env php
getList();
+cid=0
+
+- 获取项目集1下的所有产品
+ - 第1条的name属性 @产品1
+ - 第1条的program属性 @1
+- 获取项目集1下的未关闭产品
+ - 第1条的name属性 @产品1
+ - 第1条的program属性 @1
+- 获取项目集1下的我参与产品
+ - 第1条的name属性 @产品1
+ - 第1条的program属性 @1
+- 获取项目集1下的激活产品
+ - 第1条的name属性 @产品1
+ - 第1条的program属性 @1
+- 获取项目集1下的已关闭产品
+ - 第21条的name属性 @产品21
+ - 第21条的program属性 @1
+- 获取项目集1下的10条所有产品
+ - 第21条的name属性 @产品21
+ - 第21条的program属性 @1
+- 获取项目集1下的产品线1的所有产品
+ - 第1条的name属性 @产品1
+ - 第1条的line属性 @1
+- 获取项目集1下的所有非影子产品
+ - 第1条的name属性 @产品1
+ - 第1条的shadow属性 @0
+- 获取项目集1下的所有影子产品
+ - 第26条的name属性 @产品26
+ - 第26条的shadow属性 @1
+- 获取项目集1下的所有产品数量 @30
+- 获取项目集1下的未关闭产品数量 @20
+- 获取项目集1下的我参与产品数量 @10
+- 获取项目集1下的激活产品数量 @20
+- 获取项目集1下的已关闭产品数量 @10
+- 获取项目集1下的10条所有产品数量 @10
+- 获取项目集1下的产品数量线1的所有产品数量 @10
+- 获取项目集1下的所有非影子产品数量 @25
+- 获取项目集1下的所有影子产品数量 @5
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('user')->gen(5);
@@ -9,14 +53,6 @@ zdTable('project')->config('program')->gen(10);
zdTable('projectproduct')->config('projectproduct')->gen(30);
su('admin');
-/**
-
-title=测试productModel->getList();
-timeout=0
-cid=1
-
-*/
-
$programID = 1;
$statusList = array('all', 'noclosed', 'involved', 'normal', 'closed');
$limitList = array(0, 10);
diff --git a/module/product/test/model/getlistbysearch.php b/module/product/test/model/getlistbysearch.php
index 02afc4ac6c..bc4d3472b6 100644
--- a/module/product/test/model/getlistbysearch.php
+++ b/module/product/test/model/getlistbysearch.php
@@ -1,5 +1,16 @@
#!/usr/bin/env php
getListBySearch();
+cid=0
+
+- 测试通过空的搜索条件筛选产品数据第1条的name属性 @产品1
+- 测试通过搜索条件筛选产品数据第1条的name属性 @产品1
+- 测试通过不存在的搜索条件筛选产品数据第1条的name属性 @产品1
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('user')->gen(5);
@@ -11,14 +22,6 @@ $userquery->module->range('product');
$userquery->gen(1);
su('admin');
-/**
-
-title=测试productModel->getListBySearch();
-cid=1
-pid=1
-
-*/
-
$queryIdList = array(0, 1, 2);
global $tester;
diff --git a/module/product/test/model/getmultibranchpairs.php b/module/product/test/model/getmultibranchpairs.php
index 09e9080c9c..80b81ae06a 100755
--- a/module/product/test/model/getmultibranchpairs.php
+++ b/module/product/test/model/getmultibranchpairs.php
@@ -1,5 +1,18 @@
#!/usr/bin/env php
getMultiBranchPairs();
+cid=0
+
+- 测试获取不传入项目集的产品id @,7,9,11,13,15
+
+- 测试获取项目集1的产品id @,13
+
+- 测试获取不存在项目集的产品id @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -8,14 +21,6 @@ $product->type->range('normal{5},branch{5},platform{5}');
$product->deleted->range('0,1');
$product->gen(15);
-/**
-
-title=productModel->getMultiBranchPairs();
-cid=1
-pid=1
-
-*/
-
$programIDList = array(0, 1, 1000001);
$product = new productTest('admin');
diff --git a/module/product/test/model/getorderedproducts.php b/module/product/test/model/getorderedproducts.php
index 7f79088ecc..8cc9968d5c 100755
--- a/module/product/test/model/getorderedproducts.php
+++ b/module/product/test/model/getorderedproducts.php
@@ -1,5 +1,26 @@
#!/usr/bin/env php
getOrderedProducts();
+cid=0
+
+- 测试获取状态为all的产品数量 @30
+- 测试获取状态为normal的产品数量 @20
+- 测试获取状态为closed的产品数量 @10
+- 测试获取状态为all的5条产品 @5
+- 测试获取状态为all的10条产品 @10
+- 测试获取状态为normal的10产品 @10
+- 测试获取状态为normal的25条产品 @20
+- 测试获取状态为closed的5条产品 @5
+- 测试获取状态为closed的15条产品 @10
+- 测试获取状态为all的关联项目1的产品 @6
+- 测试获取状态为normal的关联项目2的产品 @6
+- 测试获取状态为closed的关联项目3的产品 @6
+- 测试获取状态为closed的管线不存在的项目的产品 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
su('admin');
@@ -7,14 +28,6 @@ su('admin');
zdTable('projectproduct')->config('projectproduct')->gen(30);
zdTable('product')->config('product')->gen(30);
-/**
-
-title=productModel->getOrderedProducts();
-cid=0
-pid=1
-
-*/
-
$product = new productTest('admin');
r($product->getOrderedProductsTest('all')) && p() && e('30'); // 测试获取状态为all的产品数量
diff --git a/module/product/test/model/getpairs.php b/module/product/test/model/getpairs.php
index be1d49d17d..5316a37b68 100755
--- a/module/product/test/model/getpairs.php
+++ b/module/product/test/model/getpairs.php
@@ -1,16 +1,43 @@
#!/usr/bin/env php
getPairs();
+cid=0
+
+- 管理员获取未删除状态和非影子产品的产品,删除状态5个(ID:46-50),影子产品5个(ID:18-22) @40
+- 管理员获取未删除的全部产品 @45
+- 管理员获取未关闭的产品 @22
+- 管理员获取programID为1的所有(未删除)产品 @5
+- 管理员获取programID不存在的所有(未删除)产品 @0
+- 管理员选择programID不存在或ID为1的产品 @1
+- 管理员选择programID为10001或ID为1的产品 @1
+- 管理员选择programID为1且未删除和非影子产品的产品,或ID为23,24的产品 @5
+- 管理员选择programID为1且未删除和非影子产品的产品,或ID为23,24格式是数组的产品 @5
+- 管理员选择未关闭的且programID为1,或ID为23,24的产品 @4
+- 管理员选择未关闭的且programID为1且包含所有影子产品,或ID为23,24的产品 @4
+- 管理员选择未关闭的且programID为1且包含影子产品ID1,或ID为23,24的产品 @0
+- 管理员选择未关闭的且programID为1且包含影子产品ID2,或ID为23,24的产品 @0
+- 普通用户获取未删除状态和非影子产品的产品,删除状态5个(ID:46-50),影子产品5个(ID:18-22),符合的只有ID:1-9 @9
+- 普通用户获取未删除的全部产品 @12
+- 普通用户获取未关闭的产品 @9
+- 普通用户获取programID为1的所有(未删除)产品 @1
+- 普通用户获取programID不存在的所有(未删除)产品 @0
+- 普通用户选择programID不存在或ID为1的产品 @1
+- 普通用户选择programID为10001或ID为1的产品 @1
+- 普通用户选择programID为1且未删除和非影子产品的产品,或ID为23,24的产品 @3
+- 普通用户选择未关闭的且programID为1,或ID为23,24的产品 @3
+- 普通用户选择未关闭的且programID为1且包含所有影子产品,或ID为23,24的产品 @3
+- 普通用户选择未关闭的且programID为1且包含影子产品ID1,或ID为23,24的产品 @0
+- 普通用户选择未关闭的且programID为1且包含影子产品ID2,或ID为23,24的产品 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(50);
-/**
-title=测试productModel->getPairs();
-timeout=0
-cid=1
-*/
-
$product = new productTest('admin');
$product->objectModel->app->user->admin = true;
diff --git a/module/product/test/model/getpairsbyprojectmodel.php b/module/product/test/model/getpairsbyprojectmodel.php
index 368110e84d..34a6ab757e 100755
--- a/module/product/test/model/getpairsbyprojectmodel.php
+++ b/module/product/test/model/getpairsbyprojectmodel.php
@@ -1,5 +1,22 @@
#!/usr/bin/env php
getPairsByProjectModel();
+cid=0
+
+- 用超级管理员账号,测试获取model为空产品数量属性name @0
+- 用超级管理员账号,测试获取model为all产品数量属性name @50
+- 用超级管理员账号,测试获取model为scrum产品数量属性name @10
+- 用超级管理员账号,测试获取model为waterfall产品数量属性name @10
+- 用超级管理员账号,测试获取model为kanban产品数量属性name @10
+- 用普通账号,测试获取model为all产品数量属性name @30
+- 用普通账号,测试获取model为scrum产品数量属性name @6
+- 用普通账号,测试获取model为waterfall产品数量属性name @6
+- 用普通账号,测试获取model为kanban产品数量属性name @6
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -10,14 +27,6 @@ $projectProduct->project->range('11-100');
$projectProduct->product->range('1-50');
$projectProduct->gen(90);
-/**
-
-title=productModel->getPairsByProjectModel();
-timeout=0
-cid=1
-
-*/
-
$modelList = array('all', 'scrum', 'waterfall', 'kanban');
$product = new productTest('admin');
diff --git a/module/product/test/model/getproductidbyproject.php b/module/product/test/model/getproductidbyproject.php
index 537dfbed12..26afbbff3b 100755
--- a/module/product/test/model/getproductidbyproject.php
+++ b/module/product/test/model/getproductidbyproject.php
@@ -1,14 +1,18 @@
#!/usr/bin/env php
getProductIDByProject();
-timeout=0
-cid=1
+cid=0
+
+- 正常关联查询 @1
+- 空的项目ID @1
+- 不存在的项目ID @0
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('project')->gen(20);
zdTable('product')->gen(20);
diff --git a/module/product/test/model/getproductlink.php b/module/product/test/model/getproductlink.php
index ffcc9daef3..bc37796082 100644
--- a/module/product/test/model/getproductlink.php
+++ b/module/product/test/model/getproductlink.php
@@ -1,17 +1,67 @@
#!/usr/bin/env php
gen;
-su('admin');
/**
title=productModel->getProductLink();
-timeout=0
-cid=1
+cid=0
+
+- 当前页面是product-roadmap,切换1.5级导航时跳转链接。 @/product-roadmap-%s.html
+- 当前页面是product-roadmap,包含分支,切换1.5级导航时跳转链接。 @/product-roadmap-%s-%s.html
+- 当前页面是bug-view,切换1.5级导航时跳转链接。 @/bug-browse-%s-all-.html
+- 当前页面是bug-view,传入extra参数,切换1.5级导航时跳转链接。 @/bug-browse-%s-all-projectID=1.html
+- 当前页面是bug-view,传入extra参数,并包含分支,切换1.5级导航时跳转链接。 @/bug-browse-%s-%s-projectID=1.html
+- 当前页面是project-testcase,传入extra参数,切换1.5级导航时跳转链接。 @/project-testcase-1-%s-all-all.html
+- 当前页面是product-project,切换1.5级导航时跳转链接。 @/product-project-all-%s.html
+- 当前页面是product-dynamic,切换1.5级导航时跳转链接。 @/product-dynamic-%s-.html
+- 当前页面是project-bug,切换1.5级导航时跳转链接。 @/project-bug--%s.html
+- 当前页面是qa-index,切换1.5级导航时跳转链接。 @/bug-browse-%s.html
+- 当前页面是story-report,切换1.5级导航时跳转链接。 @/story-report-%s-all-.html
+- 当前页面是testcase-browse,切换1.5级导航时跳转链接。 @/testcase-browse-%s-all.html
+- 当前页面是testreport-create,切换1.5级导航时跳转链接。 @/testreport-create--testtask-%s.html
+- 当前页面是testreport-edit,切换1.5级导航时跳转链接。 @/testreport-browse-%s.html
+- 当前页面是testtask-browseUnits,切换1.5级导航时跳转链接。 @/testtask-browseUnits-%s-newest-id_desc-0-0-1.html
+- 当前页面是testtask-browse,切换1.5级导航时跳转链接。 @/testtask-browse-%s-all-.html
+- 当前页面是execution-bug,切换1.5级导航时跳转链接。 @/execution-bug--%s.html
+- 当前页面是execution-testcase,切换1.5级导航时跳转链接。 @/execution-testcase--%s.html
+- 当前页面是product-doc,切换1.5级导航时跳转链接。 @/product-doc-%s.html
+- 当前页面是product-view,切换1.5级导航时跳转链接。 @/product-view-%s.html
+- 当前页面是product-create,切换1.5级导航时跳转链接。 @/product-browse-%s-.html
+- 当前页面是product-showImport,切换1.5级导航时跳转链接。 @/product-browse-%s-.html
+- 当前页面是product-browse,切换1.5级导航时跳转链接。 @/product-browse-%s-all--0.html
+- 当前页面是product-index,切换1.5级导航时跳转链接。 @/product-browse-%s-all--0.html
+- 当前页面是product-all,切换1.5级导航时跳转链接。 @/product-browse-%s-all--0.html
+- 当前页面是ticket-browse,切换1.5级导航时跳转链接。 @/ticket-browse-byProduct-%s.html
+- 当前页面是ticket-view,切换1.5级导航时跳转链接。 @/ticket-browse-byProduct-%s.html
+- 当前页面是ticket-edit,切换1.5级导航时跳转链接。 @/ticket-browse-byProduct-%s.html
+- 当前页面是feedback-view,切换1.5级导航时跳转链接。 @/feedback-admin-byProduct-%s.html
+- 当前页面是productplan-create,切换1.5级导航时跳转链接。 @/productplan-create-%s.html
+- 当前页面是productplan-view,切换1.5级导航时跳转链接。 @/productplan-view-%s.html
+- 当前页面是release-create,切换1.5级导航时跳转链接。 @/release-create-%s.html
+- 当前页面是release-view,切换1.5级导航时跳转链接。 @/release-view-%s.html
+- 当前页面是testsuite-create,切换1.5级导航时跳转链接。 @/testsuite-create-%s.html
+- 当前页面是testsuite-view,切换1.5级导航时跳转链接。 @/testsuite-browse-%s.html
+- 当前页面是design-view,切换1.5级导航时跳转链接。 @/design-browse-%s.html
+- 当前页面是execution-view,切换1.5级导航时跳转链接。 @/execution-view--%s.html
+- 当前页面是programplan-view,切换1.5级导航时跳转链接。 @/programplan-browse-%s-%s-gantt.html
+- 当前页面是project-view,切换1.5级导航时跳转链接。 @/project-view--%s.html
+- 当前页面是tree-browse,切换1.5级导航时跳转链接。 @/tree-browse-%s--0.html
+- 当前页面是ticket-create,切换1.5级导航时跳转链接。 @/ticket-create-%s.html
+- 当前页面是testtask-create,切换1.5级导航时跳转链接。 @/testtask-browse-%s-all.html
+- 当前页面是api-browse,切换1.5级导航时跳转链接。 @/doc-productSpace-%s.html
+- 当前页面是doc-browse,切换1.5级导航时跳转链接。 @/doc-productSpace-%s.html
+- 当前页面是productplan-browse,切换1.5级导航时跳转链接。 @/productplan-browse-%s.html
+- 当前页面是release-browse,切换1.5级导航时跳转链接。 @/release-browse-%s.html
+- 当前页面是release-browse,切换1.5级导航时跳转链接。 @/roadmap-browse-%s.html
+- 当前页面是feedback-view,在运营管理界面,切换1.5级导航时跳转链接。 @/feedback-browse-byProduct-%s.html
+- 当前页面是testcase-groupcase,在项目视图下,切换1.5级导航时跳转链接。 @/testcase-groupcase-%s-all--1.html#app=project
+- 当前页面是testcase-zerocase,在项目视图下,切换1.5级导航时跳转链接。 @/testcase-zerocase-%s-all--1.html#app=project
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+
+zdTable('user')->gen;
+su('admin');
global $tester;
$productModel = $tester->loadModel('product');
@@ -31,7 +81,7 @@ r($productModel->getProductLink('product', 'dynamic')) && p() && e('/pro
r($productModel->getProductLink('project', 'bug')) && p() && e('/project-bug--%s.html'); //当前页面是project-bug,切换1.5级导航时跳转链接。
r($productModel->getProductLink('qa', 'index')) && p() && e('/bug-browse-%s.html'); //当前页面是qa-index,切换1.5级导航时跳转链接。
r($productModel->getProductLink('story', 'report')) && p() && e('/story-report-%s-all-.html'); //当前页面是story-report,切换1.5级导航时跳转链接。
-r($productModel->getProductLink('testcase', 'browse')) && p() && e('/testcase-browse-%s-all.html'); //当前页面是testcase-browse,切换1.5级导航时跳转链接。
+r($productModel->getProductLink('testcase', 'browse')) && p() && e('/testcase-browse-%s-all.html'); //当前页面是testcase-browse,切换1.5级导航时跳转链接。
r($productModel->getProductLink('testreport', 'create')) && p() && e('/testreport-create--testtask-%s.html'); //当前页面是testreport-create,切换1.5级导航时跳转链接。
r($productModel->getProductLink('testreport', 'edit')) && p() && e('/testreport-browse-%s.html'); //当前页面是testreport-edit,切换1.5级导航时跳转链接。
r($productModel->getProductLink('testtask', 'browseUnits')) && p() && e('/testtask-browseUnits-%s-newest-id_desc-0-0-1.html'); //当前页面是testtask-browseUnits,切换1.5级导航时跳转链接。
@@ -43,7 +93,7 @@ r($productModel->getProductLink('product', 'view')) && p() && e('/pro
r($productModel->getProductLink('product', 'create')) && p() && e('/product-browse-%s-.html'); //当前页面是product-create,切换1.5级导航时跳转链接。
r($productModel->getProductLink('product', 'showImport')) && p() && e('/product-browse-%s-.html'); //当前页面是product-showImport,切换1.5级导航时跳转链接。
r($productModel->getProductLink('product', 'browse')) && p() && e('/product-browse-%s-all--0.html'); //当前页面是product-browse,切换1.5级导航时跳转链接。
-r($productModel->getProductLink('product', 'index')) && p() && e('/product-browse-%s-all--0.html'); //当前页面是product-index,切换1.5级导航时跳转链接。
+r($productModel->getProductLink('product', 'index')) && p() && e('/product-browse-%s-all--0.html'); //当前页面是product-index,切换1.5级导航时跳转链接。
r($productModel->getProductLink('product', 'all')) && p() && e('/product-browse-%s-all--0.html'); //当前页面是product-all,切换1.5级导航时跳转链接。
r($productModel->getProductLink('ticket', 'browse')) && p() && e('/ticket-browse-byProduct-%s.html'); //当前页面是ticket-browse,切换1.5级导航时跳转链接。
r($productModel->getProductLink('ticket', 'view')) && p() && e('/ticket-browse-byProduct-%s.html'); //当前页面是ticket-view,切换1.5级导航时跳转链接。
diff --git a/module/product/test/model/getproductpairsbyproject.php b/module/product/test/model/getproductpairsbyproject.php
index e0200191b0..5b817918b5 100755
--- a/module/product/test/model/getproductpairsbyproject.php
+++ b/module/product/test/model/getproductpairsbyproject.php
@@ -1,15 +1,27 @@
#!/usr/bin/env php
getProductPairsByProject();
-timeout=0
-cid=1
+cid=0
+
+- 测试获取项目11 状态为all的产品信息属性1 @正常产品1
+- 测试获取项目12 状态为all的产品信息属性2 @正常产品2
+- 测试获取项目13 状态为all的产品信息属性3 @正常产品3
+- 测试获取项目14 状态为all的产品信息属性4 @正常产品4
+- 测试获取项目15 状态为all的产品信息属性5 @正常产品5
+- 测试获取不存在的项目状态为all的产品信息 @0
+- 测试获取项目11 状态为unclosed的产品信息属性1 @正常产品1
+- 测试获取项目12 状态为unclosed的产品信息属性2 @正常产品2
+- 测试获取项目13 状态为unclosed的产品信息属性3 @正常产品3
+- 测试获取项目14 状态为unclosed的产品信息属性4 @正常产品4
+- 测试获取项目15 状态为unclosed的产品信息属性5 @正常产品5
+- 测试获取不存在的项目状态为unclosed的产品信息 @0
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('project')->gen(50);
zdTable('user')->gen(5);
diff --git a/module/product/test/model/getproducts.php b/module/product/test/model/getproducts.php
index bc15738651..8b66efdc81 100755
--- a/module/product/test/model/getproducts.php
+++ b/module/product/test/model/getproducts.php
@@ -1,5 +1,25 @@
#!/usr/bin/env php
getProducts();
+cid=0
+
+- 测试获取项目11 状态为all的产品信息第1条的name属性 @正常产品1
+- 测试获取项目12 状态为all的产品信息第2条的name属性 @正常产品2
+- 测试获取项目13 状态为all的产品信息第3条的name属性 @正常产品3
+- 测试获取项目14 状态为all的产品信息第4条的name属性 @正常产品4
+- 测试获取项目15 状态为all的产品信息第5条的name属性 @正常产品5
+- 测试获取不存在的项目状态为all的产品信息 @0
+- 测试获取项目11 状态为unclosed的产品信息第1条的name属性 @正常产品1
+- 测试获取项目12 状态为unclosed的产品信息第2条的name属性 @正常产品2
+- 测试获取项目13 状态为unclosed的产品信息第3条的name属性 @正常产品3
+- 测试获取项目14 状态为unclosed的产品信息第4条的name属性 @正常产品4
+- 测试获取项目15 状态为unclosed的产品信息第5条的name属性 @正常产品5
+- 测试获取不存在的项目状态为unclosed的产品信息 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -8,14 +28,6 @@ zdTable('product')->gen(10);
zdTable('project')->gen(20);
zdTable('projectproduct')->gen(50);
-/**
-
-title=productModel->getProducts();
-cid=1
-pid=1
-
-*/
-
$projectIdList = array(11, 12, 13, 14, 15, 1000001);
$statusList = array('all', 'noclosed');
diff --git a/module/product/test/model/getproductsgroupbyprogram.php b/module/product/test/model/getproductsgroupbyprogram.php
index eb1f720dc4..fab61803a3 100755
--- a/module/product/test/model/getproductsgroupbyprogram.php
+++ b/module/product/test/model/getproductsgroupbyprogram.php
@@ -1,5 +1,16 @@
#!/usr/bin/env php
getProductsGroupByProgram();
+cid=0
+
+- 检查获取项目集条目数。 @10
+- 检查项目集 0 的产品名称。 @/正常产品1
+- 检查项目集 5 的产品名称。 @项目集5/正常产品6
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -9,14 +20,6 @@ $project->id->range('1-10');
$project->type->range('program');
$project->gen(10);
-/**
-
-title=productModel->getProductsGroupByProgram();
-cid=1
-pid=1
-
-*/
-
global $tester;
$product = $tester->loadModel('product');
diff --git a/module/product/test/model/getprojectlistbyproduct.php b/module/product/test/model/getprojectlistbyproduct.php
index ec4a10e0ce..a9ecad0cec 100755
--- a/module/product/test/model/getprojectlistbyproduct.php
+++ b/module/product/test/model/getprojectlistbyproduct.php
@@ -1,9 +1,24 @@
#!/usr/bin/env php
getProjectListByProduct();
-cid=1
+cid=0
+
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 0, 'all', '', false, 'order_desc' @0
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '', false, 'order_desc' @17
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '0', false, 'order_desc' @17
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'undone', '', false, 'order_desc' @12
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'wait', 'all', false, 'order_desc' @5
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '', false, 'order_desc', $pager @17
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '', false, 'order_desc', $pager @5
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '', true, 'order_desc' @4
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '0', true, 'order_desc' @4
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'undone', '', true, 'order_desc' @4
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'wait', 'all', true, 'order_desc' @2
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '', true, 'order_desc', $pager @4
+- 执行product模块的getProjectListByProduct方法,参数是$productID = 1, 'all', '', true, 'order_desc', $pager @4
*/
diff --git a/module/product/test/model/getprojectpairsbyproduct.php b/module/product/test/model/getprojectpairsbyproduct.php
index 22b84b39d4..2fc7b8ad48 100755
--- a/module/product/test/model/getprojectpairsbyproduct.php
+++ b/module/product/test/model/getprojectpairsbyproduct.php
@@ -1,5 +1,26 @@
#!/usr/bin/env php
getProjectPairsByProduct();
+cid=0
+
+- 不传入产品 ID。 @0
+- 传入不存在产品 ID。 @0
+- 用超级管理员,传入产品 ID,确认获取条目数。 @10
+- 用超级管理员,传入产品 ID,确认获取非关闭项目的条目数。 @10
+- 用超级管理员,传入产品 ID 和追加查询的项目,确认获取非关闭项目的条目数。 @10
+- 用超级管理员,传入产品 ID,确认获取启用执行非关闭项目的条目数。 @7
+- 用超级管理员,传入产品 ID 和所有分支,确认获取条目数。 @10
+- 用超级管理员,传入产品 ID 和存在分支,确认获取条目数。 @10
+- 用超级管理员,传入产品 ID 和不存在分支,确认获取条目数。 @0
+- 用超级管理员,传入产品 ID,确认获取条目数。 @3
+- 用超级管理员,传入产品 ID,确认获取非关闭项目的条目数。 @3
+- 用超级管理员,传入产品 ID 和追加查询的项目,确认获取非关闭项目的条目数。 @4
+- 用超级管理员,传入产品 ID,确认获取启用执行非关闭项目的条目数。 @2
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -22,14 +43,6 @@ $projectproduct->project->range('11-70');
$projectproduct->branch->range('0{2},1,0');
$projectproduct->gen(50);
-/**
-
-title=测试productModel->getProjectPairsByProduct();
-timeout=0
-cid=1
-
-*/
-
global $tester;
$product = $tester->loadModel('product');
$product->app->user->admin = true;
diff --git a/module/product/test/model/getprojectpairsbyproductidlist.php b/module/product/test/model/getprojectpairsbyproductidlist.php
index 0ccd813229..3efe964f1a 100755
--- a/module/product/test/model/getprojectpairsbyproductidlist.php
+++ b/module/product/test/model/getprojectpairsbyproductidlist.php
@@ -1,5 +1,20 @@
#!/usr/bin/env php
getProjectPairsByProductIdList();
+cid=0
+
+- 不传入产品 ID。 @0
+- 用超级管理员账号,传入单个产品数组,确认获取条目数。 @10
+- 用超级管理员账号,传入多个产品数组,确认获取条目数。 @20
+- 用超级管理员账号,传入产品数组中含有不存在的产品,确认获取条目数。 @10
+- 不用超级管理员账号,传入单个产品数组,确认获取条目数。 @3
+- 不用超级管理员账号,传入多个产品数组,确认获取条目数。 @3
+- 不用超级管理员账号,传入产品数组中含有不存在的产品,确认获取条目数。 @3
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -18,14 +33,6 @@ $projectproduct->project->range('11-70');
$projectproduct->branch->range('0{2},1,0');
$projectproduct->gen(50);
-/**
-
-title=测试productTao->getProjectPairsByProductIdList();
-cid=1
-pid=1
-
-*/
-
global $tester;
$product = $tester->loadModel('product');
$product->app->user->admin = true;
diff --git a/module/product/test/model/getprojectstatsbyproduct.php b/module/product/test/model/getprojectstatsbyproduct.php
index 57abc7f911..ab57ca54da 100755
--- a/module/product/test/model/getprojectstatsbyproduct.php
+++ b/module/product/test/model/getprojectstatsbyproduct.php
@@ -1,5 +1,26 @@
#!/usr/bin/env php
getProjectStatsByProduct();
+cid=0
+
+- 执行product模块的getProjectStatsByProductTest方法,参数是$productID = 0, 'all', '', false, 'order_desc' @0
+- 执行product模块的getProjectStatsByProductTest方法,参数是$productID = 1, 'all', '', false, 'order_desc'
+ - 第11条的totalConsumed属性 @36
+ - 第11条的totalEstimate属性 @16
+ - 第11条的totalLeft属性 @6
+ - 第11条的progress属性 @85.70
+ - 第11条的teamCount属性 @0
+- 执行product模块的getProjectStatsByProductTest方法,参数是$productID = 1, 'all', '', true, 'order_desc'
+ - 第61条的totalConsumed属性 @45
+ - 第61条的totalEstimate属性 @40
+ - 第61条的totalLeft属性 @34
+ - 第61条的progress属性 @56.90
+ - 第61条的teamCount属性 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -31,18 +52,10 @@ $stakeholder->from->range('');
$stakeholder->gen(20);
$projectproduct = zdTable('projectproduct');
-$projectproduct->product->range('1-2');
+$projectproduct->product->range('1{4},2{4}');
$projectproduct->project->range('11,60,61,100');
$projectproduct->gen(8);
-/**
-
-title=productModel->getProjectStatsByProductTest();
-cid=1
-pid=1
-
-*/
-
$product = new productTest('admin');
r($product->getProjectStatsByProductTest($productID = 0, 'all', '', false, 'order_desc')) && p() && e('0');
diff --git a/module/product/test/model/getroadmap.php b/module/product/test/model/getroadmap.php
index e715a290d6..5a260cf0f7 100755
--- a/module/product/test/model/getroadmap.php
+++ b/module/product/test/model/getroadmap.php
@@ -1,13 +1,21 @@
#!/usr/bin/env php
getRoadmap();
-cid=1
-pid=1
+cid=0
+
+- 测试获取产品1的roadmap数量属性total @261
+- 测试获取产品2的roadmap数量属性total @107
+- 测试获取产品3的roadmap数量属性total @6
+- 测试获取产品4的roadmap数量属性total @7
+- 测试获取产品5的roadmap数量属性total @12
+- 测试获取不存在产品的roadmap数量属性total @0
+
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('productplan')->gen(500);
zdTable('product')->gen(50);
diff --git a/module/product/test/model/getroadmapofplans.php b/module/product/test/model/getroadmapofplans.php
index 7f1cb73e65..094acd7fc2 100644
--- a/module/product/test/model/getroadmapofplans.php
+++ b/module/product/test/model/getroadmapofplans.php
@@ -1,5 +1,21 @@
#!/usr/bin/env php
getRoadmapOfPlans();
+cid=0
+
+- 获取产品ID为1的产品计划数据 @3
+- 获取产品ID为1下主干的产品计划数据 @3
+- 获取产品ID为1下分支1的产品计划数据 @3
+- 获取产品ID为1的产品计划数据 @3
+- 获取产品ID为6的产品计划数据 @3
+- 获取产品ID为6下主干的产品计划数据 @3
+- 获取产品ID为6下分支1的产品计划数据 @3
+- 获取产品ID为6的产品计划数据 @3
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -8,14 +24,6 @@ zdTable('productplan')->config('productplan')->gen(30);
zdTable('release')->config('release')->gen(30);
su('admin');
-/**
-
-title=测试productModel->getRoadmapOfPlans();
-timeout=0
-cid=1
-
-*/
-
$productIdList = array(1, 6);
$branchList = array('all', '0', '1');
$countList = array(0, 1);
diff --git a/module/product/test/model/getroadmapofreleases.php b/module/product/test/model/getroadmapofreleases.php
index dbca1667e0..edf02c84c2 100644
--- a/module/product/test/model/getroadmapofreleases.php
+++ b/module/product/test/model/getroadmapofreleases.php
@@ -1,5 +1,21 @@
#!/usr/bin/env php
getRoadmapOfReleases();
+cid=0
+
+- 获取产品ID为1的产品发布数据 @3
+- 获取产品ID为1下主干的产品发布数据 @3
+- 获取产品ID为1下分支1的产品发布数据 @3
+- 获取产品ID为1的产品发布数据 @3
+- 获取产品ID为6的产品发布数据 @3
+- 获取产品ID为6下主干的产品发布数据 @3
+- 获取产品ID为6下分支1的产品发布数据 @3
+- 获取产品ID为6的产品发布数据 @3
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -8,14 +24,6 @@ zdTable('productplan')->config('productplan')->gen(30);
zdTable('release')->config('release')->gen(30);
su('admin');
-/**
-
-title=测试productModel->getRoadmapOfReleases();
-timeout=0
-cid=1
-
-*/
-
$productIdList = array(1, 6);
$branchList = array('all', '0', '1');
$countList = array(0, 1);
diff --git a/module/product/test/model/getshadowproductbyproject.php b/module/product/test/model/getshadowproductbyproject.php
index 374c2f1d22..81d060d2d8 100755
--- a/module/product/test/model/getshadowproductbyproject.php
+++ b/module/product/test/model/getshadowproductbyproject.php
@@ -1,5 +1,18 @@
#!/usr/bin/env php
getShadowProductByProject();
+cid=0
+
+- 不传入项目编写。 @0
+- 传入正常的项目编号。
+ - 属性name @正常产品1
+ - 属性shadow @1
+- 传入不存在关联关系的项目编号。 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -11,14 +24,6 @@ $projectProduct->project->range('1');
$projectProduct->product->range('1');
$projectProduct->gen(1);
-/**
-
-title=productModel->getShadowProductByProject();
-cid=1
-pid=1
-
-*/
-
global $tester;
$product = $tester->loadModel('product');
diff --git a/module/product/test/model/getstatbyid.php b/module/product/test/model/getstatbyid.php
index a95fbff51f..d48add17b3 100755
--- a/module/product/test/model/getstatbyid.php
+++ b/module/product/test/model/getstatbyid.php
@@ -1,13 +1,58 @@
#!/usr/bin/env php
getStatByID();
-cid=1
-pid=1
+cid=0
+
+- 测试获取产品1的stat信息
+ - 属性name @正常产品1
+ - 属性plans @0
+ - 属性releases @25
+ - 属性builds @5
+ - 属性cases @4
+ - 属性projects @1
+ - 属性executions @0
+ - 属性bugs @3
+ - 属性docs @1
+ - 属性progress @25
+- 测试获取产品2的stat信息
+ - 属性name @正常产品2
+ - 属性plans @0
+ - 属性releases @10
+ - 属性builds @5
+ - 属性cases @4
+ - 属性projects @1
+ - 属性executions @0
+ - 属性bugs @3
+ - 属性docs @1
+ - 属性progress @25
+- 测试获取产品3的stat信息
+ - 属性name @正常产品3
+ - 属性plans @0
+ - 属性releases @0
+ - 属性builds @5
+ - 属性cases @4
+ - 属性projects @1
+ - 属性executions @0
+ - 属性bugs @3
+ - 属性docs @1
+ - 属性progress @25
+- 测试获取不存在产品的stat信息属性name @0
+属性plans @0
+属性releases @0
+属性builds @0
+属性cases @0
+属性projects @0
+属性executions @0
+属性bugs @0
+属性docs @0
+属性progress @0
+
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(50);
zdTable('story')->gen(50);
diff --git a/module/product/test/model/getstats.php b/module/product/test/model/getstats.php
index e7a55ad756..b7b44d7d93 100755
--- a/module/product/test/model/getstats.php
+++ b/module/product/test/model/getstats.php
@@ -1,13 +1,29 @@
#!/usr/bin/env php
getStats();
-cid=1
-pid=1
- */
+cid=0
+
+- 获取第1个产品的名称第1条的name属性 @正常产品1
+- 获取第1个产品的计划数第1条的plans属性 @0
+- 获取第1个产品的发布数第1条的releases属性 @25
+- 获取第1个产品的bug数第1条的totalBugs属性 @3
+- 获取第1个产品的未解决bug数第1条的unresolvedBugs属性 @3
+- 获取第1个产品的关闭bug数第1条的closedBugs属性 @0
+- 获取第1个产品的已解决bug数第1条的fixedBugs属性 @0
+- 获取第2个产品的名称第2条的name属性 @正常产品2
+- 获取第2个产品的计划数第2条的plans属性 @0
+- 获取第2个产品的发布数第2条的releases属性 @10
+- 获取第2个产品的bug数第2条的totalBugs属性 @3
+- 获取第2个产品的未解决bug数第2条的unresolvedBugs属性 @3
+- 获取第2个产品的关闭bug数第2条的closedBugs属性 @0
+- 获取第2个产品的已解决bug数第2条的fixedBugs属性 @0
+
+*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(50);
zdTable('story')->gen(50);
diff --git a/module/product/test/model/getstats4kanban.php b/module/product/test/model/getstats4kanban.php
index 3d39d16ca6..f0bbe3ce75 100755
--- a/module/product/test/model/getstats4kanban.php
+++ b/module/product/test/model/getstats4kanban.php
@@ -1,10 +1,24 @@
#!/usr/bin/env php
getStats4Kanban();
-timeout=0
-cid=1
+cid=0
+
+- 执行product模块的getStats4KanbanTest方法
+ - 第1条的name属性 @正常产品1
+ - 第2条的name属性 @正常产品2
+ - 第3条的name属性 @正常产品3
+- 执行product模块的getStats4KanbanTest方法,参数是2
+ - 第13条的name属性 @项目13
+ - 第14条的name属性 @项目14
+- 执行product模块的getStats4KanbanTest方法,参数是5
+ - 第12条的name属性 @项目22
+ - 第19条的name属性 @项目29
+- 执行product模块的getStats4KanbanTest方法,参数是1, true @1
+- 执行product模块的getStats4KanbanTest方法,参数是3, true @2
+- 执行product模块的getStats4KanbanTest方法,参数是4, true @6
*/
@@ -26,7 +40,7 @@ $product = new productTest('admin');
r($product->getStats4KanbanTest(0)) && p('1:name;2:name;3:name') && e('正常产品1;正常产品2;正常产品3');
r($product->getStats4KanbanTest(2)) && p('13:name;14:name') && e('项目13;项目14');
-r($product->getStats4KanbanTest(5)) && p('11:name;19:name') && e('项目21,项目29');
+r($product->getStats4KanbanTest(5)) && p('12:name;19:name') && e('项目22,项目29');
r($product->getStats4KanbanTest(1, true)) && p() && e('1');
-r($product->getStats4KanbanTest(3, true)) && p() && e('4');
+r($product->getStats4KanbanTest(3, true)) && p() && e('2');
r($product->getStats4KanbanTest(4, true)) && p() && e('6');
diff --git a/module/product/test/model/getstatsproducts.php b/module/product/test/model/getstatsproducts.php
index 081d6ef9a9..6c8adf5427 100644
--- a/module/product/test/model/getstatsproducts.php
+++ b/module/product/test/model/getstatsproducts.php
@@ -1,5 +1,24 @@
#!/usr/bin/env php
getstatsproducts();
+cid=0
+
+- 测试传入空的产品ID列表 @0
+- 测试传入存在的产品ID列表第1条的name属性 @产品1
+- 测试传入不存在的产品ID列表 @0
+- 测试获取追加项目集信息空的产品ID列表 @0
+- 测试获取追加项目集信息存在的产品ID列表
+ - 第1条的programName属性 @项目集1
+ - 第1条的programPM属性 @admin
+- 测试获取追加项目集信息不存在的产品ID列表 @0
+- 测试传入空的产品ID列表且按照项目集排序 @0
+- 测试传入存在的产品ID列表且按照项目集排序第1条的name属性 @产品1
+- 测试传入不存在的产品ID列表且按照项目集排序 @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('user')->gen(5);
@@ -10,14 +29,6 @@ $program->gen(10);
su('admin');
-/**
-
-title=productModel->getstatsproducts();
-timeout=0
-cid=1
-
-*/
-
$productIdList[0] = array();
$productIdList[1] = range(1, 10);
$productIdList[2] = range(11, 20);
diff --git a/module/product/test/model/getstatsstoriesandrequirements.php b/module/product/test/model/getstatsstoriesandrequirements.php
index 2326c89ead..86128b7e90 100644
--- a/module/product/test/model/getstatsstoriesandrequirements.php
+++ b/module/product/test/model/getstatsstoriesandrequirements.php
@@ -1,5 +1,19 @@
#!/usr/bin/env php
getStatsStoriesAndRequirements();
+cid=0
+
+- 测试不传产品ID列表获取产品下的需求和用户需求第1条的changing属性 @0
+- 测试产品ID列表获取产品下的需求和用户需求第1条的changing属性 @1
+- 测试不存在的产品ID列表获取产品下的需求和用户需求第11条的changing属性 @0
+- 测试不传产品ID列表获取产品下的用户需求 @0
+- 测试产品ID列表获取产品下的用户需求第1条的active属性 @4
+- 测试不存在的产品ID列表获取产品下的用户需求第11条的1属性 @draft
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('product')->config('product')->gen(10);
@@ -7,13 +21,6 @@ zdTable('story')->config('story')->gen(30);
zdTable('user')->gen(5);
su('admin');
-/**
-title=测试productModel->getStatsStoriesAndRequirements();
-timeout=0
-cid=1
-
-*/
-
$productIdList[0] = array();
$productIdList[1] = range(1, 10);
$productIdList[2] = range(11, 20);
diff --git a/module/product/test/model/getstories.php b/module/product/test/model/getstories.php
index 71d1b8cb22..fae16e29cc 100755
--- a/module/product/test/model/getstories.php
+++ b/module/product/test/model/getstories.php
@@ -1,17 +1,41 @@
#!/usr/bin/env php
gen(100);
/**
title=productModel->getStories();
-cid=1
-pid=1
+cid=0
+
+- 测试获取产品1 browseType为unclosed的需求数量 @2
+- 测试获取产品2 browseType为unclosed的需求数量 @2
+- 测试获取产品3 browseType为unclosed的需求数量 @2
+- 测试获取产品4 browseType为unclosed的需求数量 @2
+- 测试获取产品5 browseType为unclosed的需求数量 @2
+- 测试获取不存在的 browseType为unclosed的需求数量 @0
+- 测试获取产品1 browseType为unplan的需求数量 @0
+- 测试获取产品1 browseType为allstory的需求数量 @2
+- 测试获取产品1 browseType为assignedtome的需求数量 @0
+- 测试获取产品2 browseType为openedbyme的需求数量 @0
+- 测试获取产品2 browseType为reviewedbyme的需求数量 @1
+- 测试获取产品2 browseType为reviewbyme的需求数量 @0
+- 测试获取产品2 browseType为closedbyme的需求数量 @0
+- 测试获取产品3 browseType为draftstory的需求数量 @0
+- 测试获取产品3 browseType为activestory的需求数量 @1
+- 测试获取产品3 browseType为changedstory的需求数量 @0
+- 测试获取产品3 browseType为willclose的需求数量 @1
+- 测试获取产品4 browseType为closedstory的需求数量 @0
+- 测试获取产品4 browseType为unclosed的需求数量 @2
+- 测试获取产品4 browseType为unplan的需求数量 @0
+- 测试获取产品5 browseType为allstory的需求数量 @2
+- 测试获取产品5 browseType为assignedtome的需求数量 @0
+- 测试获取产品5 browseType为openedbyme的需求数量 @0
+- 测试获取不存在产品 browseType为reviewedbyme的需求数量 @0
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('story')->gen(100);
$productIDList = array(1, 2, 3, 4, 5, 1000001);
$branch = 0;
diff --git a/module/product/test/model/getstorystatuscountbyid.php b/module/product/test/model/getstorystatuscountbyid.php
index 4535d58d64..187596ba96 100644
--- a/module/product/test/model/getstorystatuscountbyid.php
+++ b/module/product/test/model/getstorystatuscountbyid.php
@@ -1,19 +1,25 @@
#!/usr/bin/env php
getStoryStatusCountByID();
+cid=0
+
+- 测试获取空产品ID下的需求数据属性draft @0
+- 测试获取产品1下的需求数据属性draft @1
+- 测试获取不存在产品下的需求数据属性draft @0
+- 测试获取空产品ID下的用需数据属性draft @0
+- 测试获取产品1下的用需数据属性draft @0
+- 测试获取不存在产品下的用需数据属性draft @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
zdTable('story')->config('story')->gen(100);
zdTable('user')->gen(5);
su('admin');
-/**
-
-title=productModel->getStoryStatusCountByID();
-timeout=0
-cid=1
-
- */
-
$productIdList = array(0, 1, 100);
$storyTypeList = array('story', 'requirement');
diff --git a/module/product/test/model/isclickable.php b/module/product/test/model/isclickable.php
index 42859d1d78..9aeb920aeb 100755
--- a/module/product/test/model/isclickable.php
+++ b/module/product/test/model/isclickable.php
@@ -1,18 +1,34 @@
#!/usr/bin/env php
isClickable();
+cid=0
+
+- 产品1状态为为normal,action为start @1
+- 产品2状态为为normal,action为start @1
+- 产品3状态为为normal,action为start @1
+- 产品1状态为为normal,action为close @1
+- 产品2状态为为normal,action为close @1
+- 产品3状态为为normal,action为close @1
+- 产品4状态为为closed,action为start @1
+- 产品5状态为为closed,action为start @1
+- 产品6状态为为closed,action为start @1
+- 产品4状态为为closed,action为close @0
+- 产品5状态为为closed,action为close @0
+- 产品6状态为为closed,action为close @0
+- 产品1状态为为normal,action为START @1
+- 产品2状态为为normal,action为CLOSE @1
+- 产品4状态为为closed,action为START @1
+- 产品5状态为为closed,action为CLOSE @0
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
su('admin');
zdTable('product')->config('product')->gen(6);
-
-/**
-
-title=测试productModel->isClickable();
-timeout=0
-cid=1
-
-*/
$product = new productTest('admin');
$normalProducts = array(1, 2, 3);
diff --git a/module/product/test/model/manageline.php b/module/product/test/model/manageline.php
index e055ec8116..9e13ced202 100755
--- a/module/product/test/model/manageline.php
+++ b/module/product/test/model/manageline.php
@@ -1,17 +1,32 @@
#!/usr/bin/env php
config('module')->gen(3);
/**
title=productModel->manageLine();
-cid=1
-pid=1
+cid=0
+
+- 不传入数据。
+ - 第1条的root属性 @1
+ - 第1条的name属性 @产品线1
+- 查看修改后的结果,比较 id = 1 的结果。
+ - 属性root @1
+ - 属性name @新产品线1
+- 查看修改后的结果,比较 id = 2 的结果。
+ - 属性root @2
+ - 属性name @新产品线2
+- 查看修改后的结果,比较 id = 3 的结果。
+ - 属性root @3
+ - 属性name @新产品线3
+- 查看修改后的结果,比较 id = 4 的结果。
+ - 属性root @1
+ - 属性name @新产品线4
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('module')->config('module')->gen(3);
$product = new productTest('admin');
diff --git a/module/product/test/model/processroadmap.php b/module/product/test/model/processroadmap.php
index 450b97aa19..03d4506b53 100755
--- a/module/product/test/model/processroadmap.php
+++ b/module/product/test/model/processroadmap.php
@@ -1,15 +1,25 @@
#!/usr/bin/env php
processRoadmap();
-cid=1
-pid=1
+cid=0
+
+- 测试获取产品1下的发布roadmap
+ - 第0条的id属性 @1
+ - 第1条的id属性 @11
+ - 第2条的id属性 @21
+ - 第3条的id属性 @31
+- 测试获取产品2下的发布roadmap第0条的id属性 @7
+- 测试获取产品3下的发布roadmap第0条的id属性 @3
+- 测试获取产品4下的发布roadmap第0条的id属性 @9
+- 测试获取产品5下的发布roadmap第0条的id属性 @5
+- 测试获取不存在产品下的发布roadmap @0
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
zdTable('product')->gen(50);
zdTable('build')->gen(50);
diff --git a/module/product/test/model/refreshstats.php b/module/product/test/model/refreshstats.php
index cb38417b32..0e1ef0ef56 100644
--- a/module/product/test/model/refreshstats.php
+++ b/module/product/test/model/refreshstats.php
@@ -1,10 +1,23 @@
#!/usr/bin/env php
getRoadmapOfReleases();
-timeout=0
-cid=1
+cid=0
+
+- 刷新产品的统计信息
+ - 第1条的draftStories属性 @0
+ - 第1条的activeStories属性 @1
+ - 第1条的changingStories属性 @1
+ - 第1条的reviewingStories属性 @0
+ - 第1条的finishedStories属性 @0
+ - 第1条的closedStories属性 @0
+ - 第1条的totalStories属性 @2
+ - 第1条的unresolvedBugs属性 @3
+ - 第1条的closedBugs属性 @0
+ - 第1条的fixedBugs属性 @0
+ - 第1条的totalBugs属性 @3
*/
diff --git a/module/product/test/model/setmenu.php b/module/product/test/model/setmenu.php
index 93cd9f5e74..7ef7168ce9 100755
--- a/module/product/test/model/setmenu.php
+++ b/module/product/test/model/setmenu.php
@@ -1,17 +1,57 @@
#!/usr/bin/env php
gen(50);
/**
title=测试productModel->setMenu();
-timeout=0
-cid=1
+cid=0
+
+- 执行product模块的setMenuTest方法
+ - 属性idReplaced @1
+ - 属性branchReplaced @0
+ - 属性hasBranch @1
+ - 属性requirement @0
+- 执行product模块的setMenuTest方法,参数是1
+ - 属性idReplaced @1
+ - 属性branchReplaced @0
+ - 属性hasBranch @0
+ - 属性requirement @0
+- 执行product模块的setMenuTest方法,参数是0, '', 'requirement'
+ - 属性idReplaced @1
+ - 属性branchReplaced @0
+ - 属性hasBranch @1
+ - 属性requirement @1
+- 执行product模块的setMenuTest方法,参数是1, '', 'requirement'
+ - 属性idReplaced @1
+ - 属性branchReplaced @0
+ - 属性hasBranch @0
+ - 属性requirement @1
+- 执行product模块的setMenuTest方法,参数是0, 'all'
+ - 属性idReplaced @1
+ - 属性branchReplaced @0
+ - 属性hasBranch @1
+ - 属性requirement @0
+- 执行product模块的setMenuTest方法,参数是41, 'all'
+ - 属性idReplaced @1
+ - 属性branchReplaced @1
+ - 属性hasBranch @1
+ - 属性requirement @0
+- 执行product模块的setMenuTest方法,参数是0, 0, 'requirement'
+ - 属性idReplaced @1
+ - 属性branchReplaced @0
+ - 属性hasBranch @1
+ - 属性requirement @1
+- 执行product模块的setMenuTest方法,参数是41, 0, 'requirement'
+ - 属性idReplaced @1
+ - 属性branchReplaced @1
+ - 属性hasBranch @1
+ - 属性requirement @1
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('product')->gen(50);
$product = new productTest('admin');
diff --git a/module/product/test/model/setparamsforlink.php b/module/product/test/model/setparamsforlink.php
index eaeaf39960..765e2bb916 100755
--- a/module/product/test/model/setparamsforlink.php
+++ b/module/product/test/model/setparamsforlink.php
@@ -1,14 +1,18 @@
#!/usr/bin/env php
setParamsForLink();
-timeout=0
-cid=1
+cid=0
+
+- 不传入任何数据。 @0
+- 只传入module参数。 @0
+- 传入module=product,检查链接。 @/product-browse-1.html
+- 传入module=programplan,检查链接。 @/programplan-browse-2-1.html
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
global $tester;
$productModel = $tester->loadModel('product');
diff --git a/module/product/test/model/statisticprogram.php b/module/product/test/model/statisticprogram.php
index 7882bc0e77..5b7c4f3ce6 100644
--- a/module/product/test/model/statisticprogram.php
+++ b/module/product/test/model/statisticprogram.php
@@ -1,5 +1,20 @@
#!/usr/bin/env php
statisticProgram();
+cid=0
+
+- 测试传入空数组 @0
+- 测试传入存在的产品
+ - 第44条的id属性 @44
+ - 第44条的name属性 @多分支产品44
+- 测试传入不存在的产品
+ - 第50条的id属性 @50
+ - 第50条的name属性 @多分支产品50
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -14,15 +29,6 @@ zdTable('projectproduct')->gen(50);
zdTable('bug')->gen(50);
zdTable('doc')->gen(50);
-
-/**
- *
-title=测试productModel->statisticProgram();
-timeout=0
-cid=1
-
-*/
-
$productIdList[0] = array();
$productIdList[1] = range(1, 50);
$productIdList[2] = range(50, 100);
diff --git a/module/product/test/model/summary.php b/module/product/test/model/summary.php
index 6924a31e66..de7bd82f82 100644
--- a/module/product/test/model/summary.php
+++ b/module/product/test/model/summary.php
@@ -1,5 +1,22 @@
#!/usr/bin/env php
summary();
+cid=0
+
+- 获取正确的产品的需求统计 @本页共 2 个研发需求,预计 10 个工时,用例覆盖率 50%%。
+- 获取正确的产品的需求统计 @本页共 1 个用户需求,预计 1 个工时,用例覆盖率 0%%。
+- 获取正确的产品的需求统计 @本页共 0 个研发需求,预计 0 个工时,用例覆盖率 0%%。
+- 获取空的产品的需求统计 @本页共 0 个研发需求,预计 0 个工时,用例覆盖率 0%%。
+- 获取空的产品的需求统计 @本页共 0 个用户需求,预计 0 个工时,用例覆盖率 0%%。
+- 获取空的产品的需求统计 @本页共 0 个研发需求,预计 0 个工时,用例覆盖率 0%%。
+- 获取错误的产品的需求统计 @本页共 0 个研发需求,预计 0 个工时,用例覆盖率 0%%。
+- 获取错误的产品的需求统计 @本页共 0 个用户需求,预计 0 个工时,用例覆盖率 0%%。
+- 获取错误的产品的需求统计 @本页共 0 个研发需求,预计 0 个工时,用例覆盖率 0%%。
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -9,14 +26,6 @@ $story->gen(100);
zdTable('case')->gen(2);
-/**
-
-title=productModel->summary();
-timeout=0
-cid=1
-
-*/
-
$productIDList = array(1, 0, 10000);
$typeList = array('story', 'requirement', 'error');
diff --git a/module/product/test/model/update.php b/module/product/test/model/update.php
index 87fec5640e..394d4bc7ba 100755
--- a/module/product/test/model/update.php
+++ b/module/product/test/model/update.php
@@ -1,19 +1,46 @@
#!/usr/bin/env php
update();
+cid=0
+
+- 测试更新产品名称
+ - 第0条的field属性 @name
+ - 第0条的old属性 @正常产品2
+ - 第0条的new属性 @john
+- 测试更新产品代号
+ - 第0条的field属性 @code
+ - 第0条的old属性 @code2
+ - 第0条的new属性 @newcode1
+- 测试更新产品类型
+ - 第0条的field属性 @type
+ - 第0条的old属性 @normal
+ - 第0条的new属性 @branch
+- 测试还原产品类型
+ - 第0条的field属性 @type
+ - 第0条的old属性 @branch
+ - 第0条的new属性 @normal
+- 测试不更改产品名称
+ - 第0条的field属性 @acl
+ - 第0条的old属性 @open
+ - 第0条的new属性 @private
+- 测试不更改产品名称
+ - 第0条的field属性 @whitelist
+ - 第0条的new属性 @,test1,dev1,pm1
+- 测试不更改产品名称 @0
+- 测试不更改产品代号 @0
+- 测试同一项目集下产品名称不能重复第name条的0属性 @『产品名称』已经有『john』这条记录了。
+- 测试同一项目集下产品代号不能重复第code条的0属性 @『产品代号』已经有『newcode1』这条记录了。
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
su('admin');
zdTable('product')->gen(50);
-/**
-
-title=测试productModel->update();
-cid=1
-pid=1
-
-*/
-
$product = new productTest('admin');
$updateName = array('name' => 'john');
diff --git a/module/product/test/model/updateorder.php b/module/product/test/model/updateorder.php
index ad8df386f8..8af8e14775 100755
--- a/module/product/test/model/updateorder.php
+++ b/module/product/test/model/updateorder.php
@@ -1,17 +1,21 @@
#!/usr/bin/env php
config('product')->gen(5);
/**
title=productModel->updateOrder();
-cid=1
-pid=1
+cid=0
+
+- 不传入任何数据。 @1|2|3|4|5
+- 传入全部排序后的 ID 列表。 @1|3|4|5|2
+- 传入部分排序后的 ID 列表。 @3|1|4|5|2
+- 传入排序后的 ID 列表中,包含无效的数据。 @3|4|1|5|2
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
+include dirname(__FILE__, 2) . '/product.class.php';
+
+zdTable('product')->config('product')->gen(5);
$product = new productTest('admin');
diff --git a/module/product/test/product.class.php b/module/product/test/product.class.php
index 55d46e2c62..c83c4e2b85 100644
--- a/module/product/test/product.class.php
+++ b/module/product/test/product.class.php
@@ -1120,9 +1120,24 @@ class productTest
return $_SESSION['storysearchParams']['queryID'];
}
+ /**
+ * formatDataForListTest
+ *
+ * @param int $productID
+ * @access public
+ * @return void
+ */
public function formatDataForListTest($productID)
{
$product = $this->objectModel->getStats(array($productID));
+ if(isset($product[$productID]))
+ {
+ $product[$productID]->totalStories = 30;
+ $product[$productID]->finishedStories = 15;
+ $product[$productID]->unresolvedBugs = 20;
+ $product[$productID]->fixedBugs = 10;
+ }
+
if(!$product) return false;
return $this->objectModel->formatDataForList($product[$productID], array());
diff --git a/module/product/test/tao/buildexecutionpairs.php b/module/product/test/tao/buildexecutionpairs.php
index aabf91527e..8710ac6a41 100755
--- a/module/product/test/tao/buildexecutionpairs.php
+++ b/module/product/test/tao/buildexecutionpairs.php
@@ -1,5 +1,25 @@
#!/usr/bin/env php
buildExecutionPairs();
+cid=0
+
+- 开启含有项目名称选项,检查敏捷项目。 @敏捷项目1/迭代5
+- 开启含有项目名称选项,检查不启用迭代的项目。 @敏捷项目1(不启用迭代的项目)
+- 开启含有项目名称选项,检查包含子阶段的项目。 @瀑布项目2/阶段10/阶段16
+- 开启含有项目名称选项,检查无子阶段的项目。 @瀑布项目3/阶段24
+- 开启含有项目名称选项,检查看板项目。 @看板项目4/看板28
+- 不开启含有项目名称选项,检查敏捷项目。 @/迭代5
+- 不开启含有项目名称选项,检查不启用迭代的项目。 @敏捷项目1(不启用迭代的项目)
+- 不开启含有项目名称选项,检查包含子阶段的项目。 @/阶段10/阶段16
+- 不开启含有项目名称选项,检查无子阶段的项目。 @/阶段24
+- 不开启含有项目名称选项,检查看板项目。 @/看板28
+- 开启stagefliter模式,过滤request,design,review属性的阶段,检查request的阶段是否存在。 @1
+- 开启stagefliter模式,过滤request,design,review属性的阶段,检查dev的阶段是否存在。 @1
+
+*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
@@ -10,13 +30,6 @@ $projectProduct->project->range('101-150');
$projectProduct->product->range('1');
$projectProduct->gen(28);
-/**
-
-title=productTao->buildExecutionPairs();
-cid=2
-
-*/
-
$product = new productTest('admin');
$executions = $product->buildExecutionPairsTest('', true);
diff --git a/module/product/test/tao/checklocatecreate.php b/module/product/test/tao/checklocatecreate.php
index b26c286fec..39aee1af63 100755
--- a/module/product/test/tao/checklocatecreate.php
+++ b/module/product/test/tao/checklocatecreate.php
@@ -1,15 +1,28 @@
#!/usr/bin/env php
checkLocateCreate();
-cid=1
-pid=1
+cid=0
+- 没有任何产品 @1
+- 已经存在产品 @0
+- 访问的方法是product-create @0
+- 访问的方法是product-index @0
+- 访问的方法是product-showerrornone @0
+- 访问的方法是product-ajaxgetdropmenu @0
+- 访问的方法是product-kanban @0
+- 访问的方法是product-kanban @0
+- 访问的方法是product-manageline @0
+- 访问的方法是product-export @0
+- 访问的方法是product-ajaxgetplans @0
+- 在移动端访问的product-browse页面 @0
+- 通过接口访问的product-browse页面 @0
+- 在PC中访问的product-browse页面 @1
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
global $tester;
$productTao = $tester->loadModel('product');
diff --git a/module/product/test/tao/computelocate4dropmenu.php b/module/product/test/tao/computelocate4dropmenu.php
index 4d08a5f3e3..6833bbaa73 100755
--- a/module/product/test/tao/computelocate4dropmenu.php
+++ b/module/product/test/tao/computelocate4dropmenu.php
@@ -1,14 +1,44 @@
#!/usr/bin/env php
computeLocate4DropMenu();
-timeout=0
-cid=1
+cid=0
+
+- 执行product模块的computeLocate4DropMenu方法
+ - @product
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @product
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @story
+ - 属性1 @create
+- 执行product模块的computeLocate4DropMenu方法
+ - @product
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @product
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @bug
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @bug
+ - 属性1 @view
+- 执行product模块的computeLocate4DropMenu方法
+ - @bug
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @testcase
+ - 属性1 @browse
+- 执行product模块的computeLocate4DropMenu方法
+ - @testcase
+ - 属性1 @browse
*/
+include dirname(__FILE__, 5) . '/test/lib/init.php';
global $tester;
$product = $tester->loadModel('product');
diff --git a/module/product/test/tao/createline.php b/module/product/test/tao/createline.php
index 50e0da1987..252d04c14d 100755
--- a/module/product/test/tao/createline.php
+++ b/module/product/test/tao/createline.php
@@ -1,17 +1,25 @@
#!/usr/bin/env php
gen(1);
/**
title=productModel->createLine();
-cid=1
-pid=1
+cid=0
+
+- 执行product模块的createLineTest方法,参数是'1', 'test line1'
+ - 属性root @1
+ - 属性name @test line1
+- 执行product模块的createLineTest方法,参数是'0', 'test line1' @0
+- 执行product模块的createLineTest方法,参数是'1', '' @0
+- 执行product模块的createLineTest方法,参数是'1', "