+ Add case for afterMerge method.
This commit is contained in:
@@ -416,4 +416,25 @@ class branchTest
|
||||
$branches = $this->objectModel->dao->select('*')->from(TABLE_BRANCH)->where('deleted')->eq(0)->andWhere('product')->eq($productID)->fetchAll();
|
||||
return count($branches);
|
||||
}
|
||||
|
||||
/**
|
||||
* 合并分支后的其他数据处理。
|
||||
* other data process after merge branch.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param string $mergedBranches
|
||||
* @param object $data
|
||||
* @access public
|
||||
* @return array|int
|
||||
*/
|
||||
public function afterMergeTest(int $productID, string $mergedBranches, object $data): array|int
|
||||
{
|
||||
$targetBranch = $data->targetBranch;
|
||||
$objectID = $this->objectModel->afterMerge($productID, $targetBranch, $mergedBranches, $data);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$releases = $this->objectModel->dao->select('*')->from(TABLE_RELEASE)->where('deleted')->eq(0)->andWhere('branch')->in($data->mergedBranchIDList)->fetchAll();
|
||||
return count($releases);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/branch.class.php';
|
||||
|
||||
zdTable('product')->config('product')->gen(10);
|
||||
zdTable('branch')->config('branch')->gen(30);
|
||||
zdTable('projectproduct')->config('projectproduct')->gen(30);
|
||||
zdTable('productplan')->config('productplan')->gen(30);
|
||||
zdTable('release')->config('release')->gen(30);
|
||||
zdTable('build')->config('build')->gen(30);
|
||||
zdTable('story')->config('story')->gen(30);
|
||||
zdTable('user')->gen(5);
|
||||
zdTable('module')->gen(0);
|
||||
zdTable('bug')->gen(0);
|
||||
zdTable('case')->gen(0);
|
||||
zdTable('projectstory')->gen(0);
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 branchModel->afterMerge();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
*/
|
||||
|
||||
$productID = array(6, 7);
|
||||
$mergedBranches = array(1, 4, 6);
|
||||
|
||||
$mergeBranch1 = new stdclass();
|
||||
$mergeBranch1->createBranch = 0;
|
||||
$mergeBranch1->mergedBranchIDList = array(1);
|
||||
$mergeBranch1->targetBranch = 2;
|
||||
|
||||
$mergeBranch2 = new stdclass();
|
||||
$mergeBranch2->name = '新建合并的分支';
|
||||
$mergeBranch2->desc = '合并分支的描述';
|
||||
$mergeBranch2->createBranch = 1;
|
||||
$mergeBranch2->mergedBranchIDList = array(2);
|
||||
$mergeBranch2->targetBranch = 0;
|
||||
|
||||
$mergeBranch3 = new stdclass();
|
||||
$mergeBranch3->createBranch = 0;
|
||||
$mergeBranch3->mergedBranchIDList = array(4, 5);
|
||||
$mergeBranch3->targetBranch = 0;
|
||||
|
||||
$branchTester = new branchTest();
|
||||
r($branchTester->afterMergeTest($productID[0], $mergedBranches[0], $mergeBranch1)) && p() && e('0'); // 测试合并分支1 到 分支2
|
||||
r($branchTester->afterMergeTest($productID[0], $mergedBranches[1], $mergeBranch2)) && p() && e('1'); // 测试合并分支4 到 新建分支
|
||||
r($branchTester->afterMergeTest($productID[1], $mergedBranches[2], $mergeBranch3)) && p() && e('1'); // 测试合并分支6 到 主干
|
||||
@@ -0,0 +1,17 @@
|
||||
title: zt_build
|
||||
author: Shujie Tian
|
||||
version: 1.0.0
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-30
|
||||
- field: name
|
||||
range: 1-30
|
||||
prefix: '版本'
|
||||
- field: product
|
||||
range: 1-10{3}
|
||||
- field: branch
|
||||
renge: '0{16},2-14'
|
||||
- field: date
|
||||
range: '`2021-01-01`,`2021-06-01`,`2022-01-01`,`2022-07-01`,`2030-01-01`'
|
||||
- field: stories
|
||||
range: '`,1,2,3`,`11,12,13,14`,[]{13},`,1,2,3,52,53,56,58`,`51,54,57,59,`,`62,66,68,`'
|
||||
@@ -0,0 +1,21 @@
|
||||
title: zt_productplan
|
||||
author: Shujie Tian
|
||||
version: 1.0.0
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: title
|
||||
range: 1-100
|
||||
prefix: '计划'
|
||||
- field: product
|
||||
range: 1-10{3}
|
||||
- field: branch
|
||||
range: '0{16},2-14'
|
||||
- field: parent
|
||||
range: '`-1`,1,0{98}'
|
||||
- field: status
|
||||
range: wait,doing,done,closed
|
||||
- field: begin
|
||||
range: '`2021-01-01`,`2021-06-01`,`2022-01-01`,`2022-07-01`,`2030-01-01`'
|
||||
- field: end
|
||||
range: '`2021-01-30`,`2021-06-30`,`2022-01-30`,`2022-07-30`,`2030-01-01`'
|
||||
@@ -0,0 +1,21 @@
|
||||
title: zt_release
|
||||
author: Shujie Tian
|
||||
version: 1.0.0
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: name
|
||||
range: 1-100
|
||||
prefix: '发布'
|
||||
- field: product
|
||||
range: 1-10{3}
|
||||
- field: branch
|
||||
range: '0{16},2-14'
|
||||
- field: status
|
||||
range: 'normal{20},terminate{10}'
|
||||
- field: date
|
||||
range: '`2021-01-01`,`2021-06-01`,`2022-01-01`,`2022-07-01`,`2030-01-01`'
|
||||
- field: build
|
||||
renge: 1-30
|
||||
- field: stories
|
||||
range: '`,1,2,3`,`11,12,13,14`,[]{13},`,1,2,3,52,53,56,58`,`51,54,57,59,`,`62,66,68,`'
|
||||
@@ -0,0 +1,17 @@
|
||||
title: zt_story
|
||||
author: Shujie Tian
|
||||
version: 1.0.0
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-100
|
||||
- field: title
|
||||
range: 1-100
|
||||
prefix: '需求'
|
||||
- field: product
|
||||
range: 1-10{10}
|
||||
- field: branch
|
||||
range: '0{55},2-15{5}'
|
||||
- field: stage
|
||||
range: 'wait,planned,projected,developing,developed,testing,tested,verified,released,closed'
|
||||
- field: status
|
||||
range: 'draft,changing,active{7},closed'
|
||||
Reference in New Issue
Block a user