Initial SQL-only 1C adapter baseline
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
sys.path.insert(0, str(ROOT / "scripts"))
|
||||
|
||||
from resolve_1c_fact import load_json, resolve_from_snapshot # noqa: E402
|
||||
|
||||
|
||||
SNAPSHOT = ROOT / "plugins" / "1c" / "metadata" / "examples" / "metadata.example.json"
|
||||
|
||||
|
||||
def resolve(member: str | None = None, *, table_section: str | None = None) -> dict:
|
||||
return resolve_from_snapshot(
|
||||
load_json(SNAPSHOT),
|
||||
snapshot_path=SNAPSHOT,
|
||||
kind="Справочник",
|
||||
object_name="Номенклатура",
|
||||
member=member,
|
||||
area="any",
|
||||
table_section=table_section,
|
||||
view="effective",
|
||||
extension=None,
|
||||
)
|
||||
|
||||
|
||||
def test_object_result_has_canonical_path() -> None:
|
||||
result = resolve()
|
||||
|
||||
assert result["exists"] is True
|
||||
assert result["object"]["canonical_path"] == "Справочник.Номенклатура"
|
||||
assert result["match"]["canonical_path"] == "Справочник.Номенклатура"
|
||||
assert result["match"]["path_kind"] == "metadata_object"
|
||||
|
||||
|
||||
def test_attribute_result_has_canonical_path() -> None:
|
||||
result = resolve("Артикул")
|
||||
|
||||
assert result["exists"] is True
|
||||
assert result["match"]["canonical_path"] == "Справочник.Номенклатура.Артикул"
|
||||
assert result["match"]["path_kind"] == "metadata_member"
|
||||
|
||||
|
||||
def test_tabular_section_attribute_has_context_path() -> None:
|
||||
result = resolve("Цена", table_section="Цены")
|
||||
|
||||
assert result["exists"] is True
|
||||
assert result["match"]["canonical_path"] == "Справочник.Номенклатура.Цены.Цена"
|
||||
assert result["match"]["context_path"] == "Цены.Цена"
|
||||
assert result["match"]["path_kind"] == "metadata_member"
|
||||
|
||||
Reference in New Issue
Block a user