Files
llm/tests/1c/test_generate_1c_training_data.py
T

70 lines
2.3 KiB
Python

from __future__ import annotations
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
sys.path.insert(0, str(ROOT / "scripts"))
import generate_1c_training_data as gen # noqa: E402
def test_verified_write_records_capture_safe_route() -> None:
registry = {
"base_id": "upo_test",
"table": "ConfigSave",
"file_name": "form.0",
"patterns": [
{
"effective_section": "items",
"canonical_property": "title",
"presentation": "Заголовок",
"value_type": "string",
"write_path": "1.2.3",
"source_kind": "local",
"verification": "source_aware_readback",
}
],
}
records = gen.verified_write_records(registry, "registry-smoke", max_records=5)
assert len(records) == 1
record = records[0]
assert record["id"] == "registry-smoke-verified-write-001"
assert record["metadata"]["task"] == "metadata-write-verified"
assistant = record["messages"][-1]["content"]
assert "base_id: upo_test" in assistant
assert "apply_and_rollback" in assistant
assert "Не расширяй allowlist" in assistant
def test_write_learning_plan_records_keep_cases_manual() -> None:
plan = {
"workflow": ["capture_before", "capture_after", "diff", "smoke_rule"],
"cases": [
{
"id": "learn-001",
"action": "run_before_after_learning_for_parameter",
"property": "параметр 14",
"value_type": "integer_atom",
"write_path": "1.22.14",
"current_value": "2",
"manual_step": {
"target": "ФормаКоманднаяПанель",
"instruction": "Измени свойство в тестовой базе",
},
}
],
}
records = gen.write_learning_plan_records(plan, "plan-smoke", max_records=1)
assert len(records) == 1
record = records[0]
assert record["metadata"]["task"] == "metadata-write-learning-plan"
assistant = record["messages"][-1]["content"]
assert "Это не готовый allowlist" in assistant
assert "capture_before" in assistant
assert "smoke-проверки" in assistant