diff --git a/module/action/test/tao/getdocliblinparameters.php b/module/action/test/tao/getdocliblinparameters.php new file mode 100755 index 0000000000..0021285b57 --- /dev/null +++ b/module/action/test/tao/getdocliblinparameters.php @@ -0,0 +1,94 @@ +#!/usr/bin/env php +objectID = 1; +$action1->product = ''; +$action1->project = ''; +$action1->execution = ''; +r($actionTest->getDocLibLinkParametersTest($action1)) && p('0') && e('custom'); // 步骤1:正常情况 + +// 测试步骤2:产品类型文档库(只有product属性) +$action2 = new stdClass(); +$action2->objectID = 2; +$action2->product = '3'; +$action2->project = ''; +$action2->execution = ''; +r($actionTest->getDocLibLinkParametersTest($action2)) && p('0') && e('product'); // 步骤2:边界值 + +// 测试步骤3:执行类型文档库(有execution属性) +$action3 = new stdClass(); +$action3->objectID = 3; +$action3->product = ''; +$action3->project = ''; +$action3->execution = '5'; +r($actionTest->getDocLibLinkParametersTest($action3)) && p('0') && e('execution'); // 步骤3:异常输入 + +// 测试步骤4:项目类型文档库(只有project属性) +$action4 = new stdClass(); +$action4->objectID = 4; +$action4->product = ''; +$action4->project = '6'; +$action4->execution = ''; +r($actionTest->getDocLibLinkParametersTest($action4)) && p('0') && e('project'); // 步骤4:权限验证 + +// 测试步骤5:execution优先于project的测试 +$action5 = new stdClass(); +$action5->objectID = 5; +$action5->product = ''; +$action5->project = '8'; +$action5->execution = '9'; +r($actionTest->getDocLibLinkParametersTest($action5)) && p('0') && e('execution'); // 步骤5:业务规则 + +// 测试步骤6:优先级测试(product优先级最高) +$action6 = new stdClass(); +$action6->objectID = 6; +$action6->product = '7'; +$action6->project = '8'; +$action6->execution = '9'; +r($actionTest->getDocLibLinkParametersTest($action6)) && p('0') && e('product'); // 步骤6:复杂业务逻辑 + +// 测试步骤7:边界值测试(带逗号的libObjectID处理) +$action7 = new stdClass(); +$action7->objectID = 7; +$action7->product = ',10,'; +$action7->project = ''; +$action7->execution = ''; +r($actionTest->getDocLibLinkParametersTest($action7)) && p('2') && e('10'); // 步骤7:数据处理 + +// 测试步骤8:边界值测试(空的libObjectID导致返回false) +$action8 = new stdClass(); +$action8->objectID = 8; +$action8->product = ','; +$action8->project = ''; +$action8->execution = ''; +r($actionTest->getDocLibLinkParametersTest($action8)) && p() && e('0'); // 步骤8:错误处理 \ No newline at end of file