+ [misc] Add unit tests for programplanTao::setPlanBaseline() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ class programplanTest
|
||||
{
|
||||
global $tester;
|
||||
$this->objectModel = $tester->loadModel('programplan');
|
||||
$this->objectTao = $tester->loadTao('programplan');
|
||||
$tester->dao->delete()->from(TABLE_PROJECTSPEC)->exec();
|
||||
|
||||
$this->objectModel->app->user->admin = true;
|
||||
@@ -529,4 +530,20 @@ class programplanTest
|
||||
$this->objectModel->syncParentData($executionID, $parentID);
|
||||
return $this->objectModel->dao->select('*')->from(TABLE_TASK)->where('execution')->eq($executionID)->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test setPlanBaseline method.
|
||||
*
|
||||
* @param array $oldPlans
|
||||
* @param array $plans
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function setPlanBaselineTest(array $oldPlans, array $plans): array
|
||||
{
|
||||
$result = $this->objectTao->setPlanBaseline($oldPlans, $plans);
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanTao::setPlanBaseline()
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 执行programplan模块的setPlanBaseline方法,参数是$oldPlans, $newPlans
|
||||
- 第1条的name属性 @Plan A
|
||||
- 第1条的version属性 @1
|
||||
- 第1条的milestone属性 @1
|
||||
- 第1条的begin属性 @2023-01-01
|
||||
- 第1条的end属性 @2023-01-31
|
||||
- 执行programplan模块的setPlanBaseline方法,参数是$oldPlans, $newPlans2 第2条的name属性 @Plan B
|
||||
- 执行programplan模块的setPlanBaseline方法,参数是$oldPlans, array @0
|
||||
- 执行programplan模块的setPlanBaseline方法,参数是array 第1条的name属性 @New Plan A
|
||||
- 执行programplan模块的setPlanBaseline方法,参数是$oldPlans2, $newPlans4 第1条的version属性 @2
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5). '/test/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('programplan');
|
||||
|
||||
$oldPlans[1] = new stdclass();
|
||||
$oldPlans[1]->version = 1;
|
||||
$oldPlans[1]->name = 'Plan A';
|
||||
$oldPlans[1]->milestone = '1';
|
||||
$oldPlans[1]->begin = '2023-01-01';
|
||||
$oldPlans[1]->end = '2023-01-31';
|
||||
|
||||
$newPlans[1] = new stdclass();
|
||||
$newPlans[1]->id = 1;
|
||||
$newPlans[1]->currentName = 'Current Plan';
|
||||
|
||||
$newPlans2[2] = new stdclass();
|
||||
$newPlans2[2]->name = 'Plan B';
|
||||
|
||||
$newPlans3[1] = new stdclass();
|
||||
$newPlans3[1]->name = 'New Plan A';
|
||||
|
||||
$oldPlans2[1] = new stdclass();
|
||||
$oldPlans2[1]->version = 2;
|
||||
$oldPlans2[1]->name = '';
|
||||
$oldPlans2[1]->milestone = '0';
|
||||
$oldPlans2[1]->begin = '';
|
||||
$oldPlans2[1]->end = '';
|
||||
|
||||
$newPlans4[1] = new stdclass();
|
||||
$newPlans4[1]->currentName = 'Current Plan';
|
||||
|
||||
r($tester->programplan->setPlanBaseline($oldPlans, $newPlans)) && p('1:name,version,milestone,begin,end') && e('Plan A,1,1,2023-01-01,2023-01-31');
|
||||
r($tester->programplan->setPlanBaseline($oldPlans, $newPlans2)) && p('2:name') && e('Plan B');
|
||||
r($tester->programplan->setPlanBaseline($oldPlans, array())) && p() && e('0');
|
||||
r($tester->programplan->setPlanBaseline(array(), $newPlans3)) && p('1:name') && e('New Plan A');
|
||||
r($tester->programplan->setPlanBaseline($oldPlans2, $newPlans4)) && p('1:version') && e('2');
|
||||
Reference in New Issue
Block a user