saved_snippets: Add support for editing saved snippets.

Fixes #33708.
This commit is contained in:
Vector73
2025-03-13 10:03:41 +00:00
committed by Tim Abbott
parent 224a3eed87
commit b31024be47
24 changed files with 405 additions and 22 deletions

View File

@@ -1152,7 +1152,7 @@ def create_saved_snippet(client: Client) -> None:
@openapi_test_function("/saved_snippets:get")
def get_saved_snippets(client: Client) -> None:
def get_saved_snippets(client: Client) -> int:
# {code_example|start}
# Get all the saved snippets.
result = client.call_endpoint(
@@ -1163,12 +1163,26 @@ def get_saved_snippets(client: Client) -> None:
assert_success_response(result)
validate_against_openapi_schema(result, "/saved_snippets", "get", "200")
return result["saved_snippets"][0]["id"]
@openapi_test_function("/saved_snippets/{saved_snippet_id}:patch")
def edit_saved_snippet(client: Client, saved_snippet_id: int) -> None:
# {code_example|start}
# Edit a saved snippet.
request = {"title": "New welcome message", "content": "Welcome to Zulip!"}
result = client.call_endpoint(
request=request,
url=f"/saved_snippets/{saved_snippet_id}",
method="PATCH",
)
# {code_example|end}
assert_success_response(result)
validate_against_openapi_schema(result, "/saved_snippets/{saved_snippet_id}", "patch", "200")
@openapi_test_function("/saved_snippets/{saved_snippet_id}:delete")
def delete_saved_snippet(client: Client) -> None:
saved_snippet_id = client.call_endpoint(url="/saved_snippets", method="GET")["saved_snippets"][
0
]["id"]
def delete_saved_snippet(client: Client, saved_snippet_id: int) -> None:
# {code_example|start}
# Delete a saved snippet.
result = client.call_endpoint(
@@ -1840,8 +1854,13 @@ def test_users(client: Client, owner_client: Client) -> None:
get_alert_words(client)
add_alert_words(client)
create_saved_snippet(client)
get_saved_snippets(client)
delete_saved_snippet(client)
# Calling this again to pass the curl examples tests as the
# `delete-saved-snippet` endpoint is called before `edit-saved-snippet`
# causing "Saved snippet does not exist." error.
create_saved_snippet(client)
saved_snippet_id = get_saved_snippets(client)
edit_saved_snippet(client, saved_snippet_id)
delete_saved_snippet(client, saved_snippet_id)
remove_alert_words(client)
add_apns_token(client)
remove_apns_token(client)