diff --git a/services/api-server/src/api_server/html5.py b/services/api-server/src/api_server/html5.py index ab80805..adbe2fe 100644 --- a/services/api-server/src/api_server/html5.py +++ b/services/api-server/src/api_server/html5.py @@ -1019,6 +1019,7 @@ def render_html5_authoring_rollback_result(project_id: str, result: object | Non {escape(rollback_change_id)} {escape(version_id)} + {_authoring_apply_summary("rollback", status, rollback_change_id or change_id, version_id)}
Rollback применен в workspace для проекта {escape(project_id)}.
""" diff --git a/services/api-server/tests/test_api.py b/services/api-server/tests/test_api.py index 1f1a1fb..916da98 100644 --- a/services/api-server/tests/test_api.py +++ b/services/api-server/tests/test_api.py @@ -2748,6 +2748,25 @@ def test_authoring_context_and_completion_preview(tmp_path: Path): assert rollback_apply_payload["version"]["payload"]["kind"] == "AUTHORING_ROLLBACK" assert rollback_apply_payload["rollback_change_id"].startswith("rollback.") + html5_rollback_apply = client.post( + f"/html5/projects/{project_id}/authoring/changes/{apply_payload['change_id']}/apply-rollback", + data={ + "expected_rollback_version_id": rollback_payload["rollback_version_id"], + "approved_by": "dev.ivan", + "approval_note": "rollback html5 checked", + "task_id": "task.rollback", + "session_id": "session.rollback", + }, + ) + assert html5_rollback_apply.status_code == 200 + assert "text/html" in html5_rollback_apply.headers["content-type"] + assert "data-html5-authoring-result" in html5_rollback_apply.text + assert "data-html5-authoring-apply-summary" in html5_rollback_apply.text + assert 'data-html5-authoring-apply-kind="rollback"' in html5_rollback_apply.text + assert "ROLLED_BACK_TO_WORKSPACE" in html5_rollback_apply.text + assert rollback_apply_payload["rollback_change_id"] in html5_rollback_apply.text + assert "