#!/usr/bin/env php id->range('1-10'); $project->name->range('项目1,项目2,项目3,项目4,项目5,项目6,项目7,项目8,项目9,项目10'); $project->code->range('project1,project2,project3,project4,project5,project6,project7,project8,project9,project10'); $project->status->range('wait{3},doing{3},suspended{2},closed{2}'); $project->hasProduct->range('1{5},0{5}'); $project->multiple->range('1{6},0{4}'); $project->model->range('scrum{4},waterfall{3},kanban{3}'); $project->gen(10); $action = zenData('action'); $action->id->range('1-20'); $action->objectType->range('project{20}'); $action->objectID->range('1-10'); $action->actor->range('admin{20}'); $action->action->range('Activated{5},Started{5},Suspended{5},Closed{5}'); $action->gen(20); // 3. 用户登录(选择合适角色) su('admin'); // 4. 创建测试实例(变量名与模块名一致) $projectzenTest = new projectzenTest(); // 5. 设置全局POST数据为测试做准备 global $_POST; // 测试步骤1:有评论有变更的情况 $_POST['comment'] = '激活项目的评论'; r($projectzenTest->responseAfterActivateTest(1, array('status' => array('suspended', 'doing')))) && p() && e('success'); // 测试步骤2:有评论无变更的情况 $_POST['comment'] = '激活项目'; r($projectzenTest->responseAfterActivateTest(2, array())) && p() && e('success'); // 测试步骤3:无评论有变更的情况 $_POST['comment'] = ''; r($projectzenTest->responseAfterActivateTest(3, array('begin' => array('2024-01-01', '2024-02-01')))) && p() && e('success'); // 测试步骤4:无评论无变更的情况 $_POST['comment'] = ''; r($projectzenTest->responseAfterActivateTest(4, array())) && p() && e('success'); // 测试步骤5:无效项目ID的处理 r($projectzenTest->responseAfterActivateTest(null, array())) && p() && e('projectID parameter cannot be null');