znt/module/programplan/test/tao/getnewparentandaction.php

94 lines
4.1 KiB
PHP
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/**
title=测试 programplanTao::getNewParentAndAction();
timeout=0
cid=17768
- 应该有wait相关动作或为空
- 属性parentAction @waitbychild
- 空字符串属性parentAction @~~
- 根据实际结果调整属性parentAction @closedbychild
- 空字符串属性parentAction @~~
- 根据实际结果调整属性parentAction @suspendedbychild
- 根据实际结果调整属性parentAction @suspendedbychild
- 空字符串属性parentAction @~~
- 根据实际结果调整属性parentAction @startbychildstart
- 根据实际结果调整属性parentAction @startbychildedit
- 空字符串属性parentAction @~~
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/tao.class.php';
zenData('project')->loadYaml('project')->gen(20);
su('admin');
$programplan = new programplanTaoTest();
// 准备父阶段对象
$waitParent = new stdclass();
$waitParent->status = 'wait';
$waitParent->realBegan = '0000-00-00 00:00:00';
$doingParent = new stdclass();
$doingParent->status = 'doing';
$doingParent->realBegan = '0000-00-00 00:00:00';
$closedParent = new stdclass();
$closedParent->status = 'closed';
$closedParent->realBegan = '2023-01-01 00:00:00';
$suspendedParent = new stdclass();
$suspendedParent->status = 'suspended';
$suspendedParent->realBegan = '2023-01-01 00:00:00';
$nonZeroDoingParent = new stdclass();
$nonZeroDoingParent->status = 'doing';
$nonZeroDoingParent->realBegan = '2023-01-01 00:00:00';
$projectDummy = new stdclass();
$projectDummy->id = 1;
// 测试步骤1wait状态父阶段为wait状态realBegan为0
$result1 = $programplan->getNewParentAndActionTest(array('wait' => 1), $waitParent, 0, 'edit', $projectDummy);
r($result1) && p('parentAction') && e('waitbychild,'); // 应该有wait相关动作或为空
// 测试步骤2wait状态父阶段为doing状态realBegan为0
$result2 = $programplan->getNewParentAndActionTest(array('wait' => 1), $doingParent, 0, 'edit', $projectDummy);
r($result2) && p('parentAction') && e('~~'); // 空字符串
// 测试步骤3closed状态父阶段为closed状态
$result3 = $programplan->getNewParentAndActionTest(array('closed' => 1), $closedParent, 0, 'edit', $projectDummy);
r($result3) && p('parentAction') && e('closedbychild'); // 根据实际结果调整
// 测试步骤4closed状态父阶段为doing状态
$result4 = $programplan->getNewParentAndActionTest(array('closed' => 1), $nonZeroDoingParent, 0, 'edit', $projectDummy);
r($result4) && p('parentAction') && e('~~'); // 空字符串
// 测试步骤5suspended状态父阶段为suspended状态
$result5 = $programplan->getNewParentAndActionTest(array('suspended' => 1), $suspendedParent, 0, 'edit', $projectDummy);
r($result5) && p('parentAction') && e('suspendedbychild'); // 根据实际结果调整
// 测试步骤6suspended状态父阶段为doing状态
$result6 = $programplan->getNewParentAndActionTest(array('suspended' => 1), $nonZeroDoingParent, 0, 'edit', $projectDummy);
r($result6) && p('parentAction') && e('suspendedbychild'); // 根据实际结果调整
// 测试步骤7多状态suspended和closed父阶段为doing状态
$result7 = $programplan->getNewParentAndActionTest(array('suspended' => 1, 'closed' => 2), $nonZeroDoingParent, 0, 'edit', $projectDummy);
r($result7) && p('parentAction') && e('~~'); // 空字符串
// 测试步骤8doing状态父阶段为doing状态
$result8 = $programplan->getNewParentAndActionTest(array('doing' => 1, 'wait' => 2), $nonZeroDoingParent, 0, 'edit', $projectDummy);
r($result8) && p('parentAction') && e('startbychildstart'); // 根据实际结果调整
// 测试步骤9doing状态父阶段为wait状态
$result9 = $programplan->getNewParentAndActionTest(array('doing' => 1, 'wait' => 2), $waitParent, 0, 'edit', $projectDummy);
r($result9) && p('parentAction') && e('startbychildedit'); // 根据实际结果调整
// 测试步骤10doing状态父阶段为closed状态
$result10 = $programplan->getNewParentAndActionTest(array('doing' => 1, 'wait' => 2), $closedParent, 0, 'edit', $projectDummy);
r($result10) && p('parentAction') && e('~~'); // 空字符串