This commit is contained in:
Your Name
2026-08-17 16:52:38 +08:00
parent 5f53aa0bbd
commit 8b9df1154c
42 changed files with 155 additions and 108 deletions
@@ -0,0 +1,47 @@
<?php
declare(strict_types=1);
require dirname(__DIR__) . '/vendor/autoload.php';
use app\adminapi\validate\tcm\DiagnosisValidate;
function diagnosisAddSceneExpect(bool $condition, string $message): void
{
if (!$condition) {
fwrite(STDERR, "FAIL: {$message}\n");
exit(1);
}
}
$validateSource = file_get_contents(
dirname(__DIR__) . '/app/adminapi/validate/tcm/DiagnosisValidate.php'
);
diagnosisAddSceneExpect(is_string($validateSource), 'DiagnosisValidate source is readable');
diagnosisAddSceneExpect(
str_contains($validateSource, "->remove('task', true)"),
'add scene strips the AI assistant task rule'
);
diagnosisAddSceneExpect(
str_contains($validateSource, "return \$this->only(['id', 'task', 'prompt']);"),
'aiAssistant scene still requires a task'
);
$addPayload = [
'patient_name' => '张三',
'phone' => '13800138000',
'gender' => 1,
'age' => 50,
'diagnosis_type' => 'follow_up',
'local_hospital_name' => '某医院',
];
$addScene = (new DiagnosisValidate())->scene('add');
$addOk = $addScene->check($addPayload);
diagnosisAddSceneExpect(
$addOk === true,
'add scene accepts a diagnosis payload without an AI assistant task'
. ($addOk ? '' : '; got: ' . $addScene->getError())
);
echo "Diagnosis add-scene validation: OK\n";