Preserve extension names in form write selectors
This commit is contained in:
@@ -3024,6 +3024,7 @@ def test_saved_state_forms_search_disambiguates_same_form_name_by_owner(monkeypa
|
||||
|
||||
def test_saved_state_forms_search_default_is_name_first(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
file_name = "extension-guid__form-guid.0"
|
||||
monkeypatch.setattr(adapter_server, "extension_filter_to_guid", lambda *args, **kwargs: ("extension-guid", None))
|
||||
monkeypatch.setattr(
|
||||
adapter_server,
|
||||
"storage_files_list",
|
||||
@@ -3080,6 +3081,7 @@ def test_saved_state_forms_search_default_is_name_first(monkeypatch: pytest.Monk
|
||||
{
|
||||
"base_id": "upo_test",
|
||||
"tables": ["ConfigCASSave"],
|
||||
"extension": "test2",
|
||||
"ref": "Catalog.test2",
|
||||
"form": "t_Форма",
|
||||
"command": "ЗаменаДомена",
|
||||
@@ -3092,11 +3094,13 @@ def test_saved_state_forms_search_default_is_name_first(monkeypatch: pytest.Monk
|
||||
form = result["forms"][0]
|
||||
assert form["qualified_name"] == "test2.t_Форма"
|
||||
assert form["selector"] == {
|
||||
"extension": "test2",
|
||||
"ref": "Catalog.test2",
|
||||
"form": "t_Форма",
|
||||
"qualified_name": "test2.t_Форма",
|
||||
}
|
||||
assert form["matches"][0]["selector"] == {
|
||||
"extension": "test2",
|
||||
"ref": "Catalog.test2",
|
||||
"form": "t_Форма",
|
||||
"qualified_name": "test2.t_Форма",
|
||||
@@ -3125,6 +3129,47 @@ def test_saved_state_forms_search_default_is_name_first(monkeypatch: pytest.Monk
|
||||
assert storage_marker not in str(result)
|
||||
|
||||
|
||||
def test_saved_state_form_search_resolves_owner_for_internal_name_first_write(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
monkeypatch.setattr(
|
||||
adapter_server,
|
||||
"metadata_form_decode",
|
||||
lambda payload: {
|
||||
"status": "ok",
|
||||
"source": {"kind": "live_sql", "table": payload["table"], "file_name": payload["file_name"]},
|
||||
"form": {"file_name": payload["file_name"]},
|
||||
"profile": {"items": [], "commands": []},
|
||||
"counts": {"items": 0, "commands": 0},
|
||||
},
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
adapter_server,
|
||||
"saved_state_form_descriptor_identity",
|
||||
lambda **kwargs: {"name": "t_Форма", "synonym": "T форма", "guid": "form-guid"},
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
adapter_server,
|
||||
"saved_state_related_descriptor_identity",
|
||||
lambda **kwargs: {
|
||||
"kind": "Catalog",
|
||||
"name": "test2",
|
||||
"synonym": "Test2",
|
||||
"guid": "owner-guid",
|
||||
},
|
||||
)
|
||||
|
||||
row = adapter_server.saved_state_form_search_row(
|
||||
base_id="upo_test",
|
||||
table="ConfigCASSave",
|
||||
file_name="extension-guid__form-guid.0",
|
||||
payload={"include_storage": True, "form": "t_Форма"},
|
||||
timeout_seconds=30,
|
||||
)
|
||||
|
||||
assert row is not None
|
||||
assert row["owner"]["kind"] == "Catalog"
|
||||
assert row["owner"]["name"] == "test2"
|
||||
|
||||
|
||||
def test_saved_state_forms_search_help_exposes_owner_and_form_selectors() -> None:
|
||||
method = {
|
||||
row["name"]: row
|
||||
|
||||
Reference in New Issue
Block a user