Add HTML5 object context modes
CI / python (push) Has been cancelled
CI / rust (push) Has been cancelled

This commit is contained in:
2026-05-17 01:05:22 +03:00
parent 48070f0f70
commit 477a94d302
3 changed files with 99 additions and 21 deletions
+31
View File
@@ -318,6 +318,10 @@ def test_html5_object_context_fragment(tmp_path: Path):
assert "data-html5-object-actions" in context.text
assert f"/projects/{project_id}/objects/schema/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82.%D0%97%D0%B0%D0%BA%D0%B0%D0%B7%D0%9F%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D1%82%D0%B5%D0%BB%D1%8F" in context.text
assert f"/projects/{project_id}/objects/impact/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82.%D0%97%D0%B0%D0%BA%D0%B0%D0%B7%D0%9F%D0%BE%D0%BA%D1%83%D0%BF%D0%B0%D1%82%D0%B5%D0%BB%D1%8F" in context.text
assert "mode=schema" in context.text
assert "mode=impact" in context.text
assert "mode=privacy" in context.text
assert 'hx-target="[data-html5-object-context]"' in context.text
assert 'hx-target="[data-html5-flowchart]"' in context.text
assert 'hx-target="[data-html5-source]"' in context.text
assert 'hx-target="[data-html5-symbol-detail]"' in context.text
@@ -357,6 +361,33 @@ def test_html5_object_context_fragment(tmp_path: Path):
assert "read, write, post" in context.text or "post, read, write" in context.text
assert "<html" not in context.text
schema_context = client.get(
f"/html5/projects/{project_id}/objects/context/Документ.ЗаказПокупателя",
params={"mode": "schema"},
)
assert schema_context.status_code == 200
assert 'data-html5-object-mode="schema"' in schema_context.text
assert "Object context · schema" in schema_context.text
assert "Контрагент" in schema_context.text
impact_context = client.get(
f"/html5/projects/{project_id}/objects/context/Документ.ЗаказПокупателя",
params={"mode": "impact"},
)
assert impact_context.status_code == 200
assert 'data-html5-object-mode="impact"' in impact_context.text
assert "Object context · impact" in impact_context.text
assert "HTTPConnection" in impact_context.text
privacy_context = client.get(
f"/html5/projects/{project_id}/objects/context/Документ.ЗаказПокупателя",
params={"mode": "privacy"},
)
assert privacy_context.status_code == 200
assert 'data-html5-object-mode="privacy"' in privacy_context.text
assert "Object context · privacy" in privacy_context.text
assert "PERSONAL_DATA" in privacy_context.text
def test_html5_flowchart_fragment(tmp_path: Path):
client = TestClient(app)