#!/usr/bin/env php id->range('1-10'); $table->name->range('提示1,提示2,提示3,提示4,提示5,提示6,提示7,提示8,提示9,提示10'); $table->desc->range('描述1,描述2,描述3,描述4,描述5,描述6,描述7,描述8,描述9,描述10'); $table->module->range('story,task,bug,user,project{5}'); $table->status->range('draft{5},active{5}'); $table->createdBy->range('admin{10}'); $table->createdDate->range('`2023-01-01 10:00:00`'); $table->editedBy->range('admin'); $table->editedDate->range('`2023-01-01 11:00:00`'); $table->deleted->range('0{10}'); $table->gen(10); su('admin'); $aiTest = new aiModelTest(); // 测试步骤1:正常更新提示信息 $prompt = new stdClass(); $prompt->id = 1; $prompt->name = '更新后的提示1'; $prompt->desc = '更新后的描述1'; $prompt->module = 'story'; $prompt->status = 'active'; $originalPrompt = new stdClass(); $originalPrompt->id = 1; $originalPrompt->name = '提示1'; $originalPrompt->desc = '描述1'; $originalPrompt->module = 'story'; $originalPrompt->status = 'draft'; $originalPrompt->createdBy = 'admin'; r($aiTest->updatePromptTest($prompt, $originalPrompt)) && p() && e('1'); // 测试步骤2:仅修改状态为draft(取消发布) $prompt2 = new stdClass(); $prompt2->id = 2; $prompt2->name = '提示2'; $prompt2->desc = '描述2'; $prompt2->module = 'task'; $prompt2->status = 'draft'; $originalPrompt2 = new stdClass(); $originalPrompt2->id = 2; $originalPrompt2->name = '提示2'; $originalPrompt2->desc = '描述2'; $originalPrompt2->module = 'task'; $originalPrompt2->status = 'active'; $originalPrompt2->createdBy = 'admin'; r($aiTest->updatePromptTest($prompt2, $originalPrompt2)) && p() && e('1'); // 测试步骤3:仅修改状态为active(发布) $prompt3 = new stdClass(); $prompt3->id = 3; $prompt3->name = '提示3'; $prompt3->desc = '描述3'; $prompt3->module = 'bug'; $prompt3->status = 'active'; $originalPrompt3 = new stdClass(); $originalPrompt3->id = 3; $originalPrompt3->name = '提示3'; $originalPrompt3->desc = '描述3'; $originalPrompt3->module = 'bug'; $originalPrompt3->status = 'draft'; $originalPrompt3->createdBy = 'admin'; r($aiTest->updatePromptTest($prompt3, $originalPrompt3)) && p() && e('1'); // 测试步骤4:无效ID更新 $prompt4 = new stdClass(); $prompt4->id = 999; $prompt4->name = '不存在的提示'; $prompt4->desc = '不存在的描述'; $prompt4->module = 'story'; $prompt4->status = 'active'; r($aiTest->updatePromptTest($prompt4, null)) && p() && e('1'); // 测试步骤5:名称重复验证 $prompt5 = new stdClass(); $prompt5->id = 4; $prompt5->name = '提示2'; $prompt5->desc = '重复名称测试'; $prompt5->module = 'user'; $prompt5->status = 'active'; r($aiTest->updatePromptTest($prompt5, null)) && p('name:0') && e('该名称已使用,请尝试其他名称。'); // 测试步骤6:必填字段验证 $prompt6 = new stdClass(); $prompt6->id = 5; $prompt6->name = ''; $prompt6->desc = '空名称测试'; $prompt6->module = 'project'; $prompt6->status = 'active'; r($aiTest->updatePromptTest($prompt6, null)) && p('name:0') && e('『name』不能为空。');