更新
This commit is contained in:
@@ -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";
|
||||
Reference in New Issue
Block a user