From 5d3ceafec57ab6c635dfca41f4e0f2422d30d880 Mon Sep 17 00:00:00 2001 From: Oguz Kocer Date: Mon, 1 Sep 2025 20:41:34 -0400 Subject: [PATCH] Add `/posts//autosaves` related errors and their integration tests --- wp_api/src/api_error.rs | 2 + .../tests/test_post_autosaves_err.rs | 48 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 wp_api_integration_tests/tests/test_post_autosaves_err.rs diff --git a/wp_api/src/api_error.rs b/wp_api/src/api_error.rs index 9cdb96406..32d540393 100644 --- a/wp_api/src/api_error.rs +++ b/wp_api/src/api_error.rs @@ -282,6 +282,8 @@ pub enum WpErrorCode { PostInvalidPageNumber, #[serde(rename = "rest_post_invalid_parent")] PostInvalidParent, + #[serde(rename = "rest_post_no_autosave")] + PostNoAutosave, #[serde(rename = "rest_revision_invalid_offset_number")] RevisionInvalidOffsetNumber, #[serde(rename = "rest_revision_invalid_page_number")] diff --git a/wp_api_integration_tests/tests/test_post_autosaves_err.rs b/wp_api_integration_tests/tests/test_post_autosaves_err.rs new file mode 100644 index 000000000..6b5b9ec79 --- /dev/null +++ b/wp_api_integration_tests/tests/test_post_autosaves_err.rs @@ -0,0 +1,48 @@ +use wp_api::{ + post_revisions::PostRevisionId, + posts::{PostCreateParams, PostId}, +}; +use wp_api_integration_tests::prelude::*; + +#[tokio::test] +#[parallel] +async fn list_err_post_invalid_parent() { + api_client() + .autosaves() + .list_with_edit_context(&PostId(99999999)) + .await + .assert_wp_error(WpErrorCode::PostInvalidParent) +} + +#[tokio::test] +#[parallel] +async fn retrieve_err_post_invalid_parent() { + api_client() + .autosaves() + .retrieve_with_edit_context(&PostId(99999999), &PostRevisionId(1)) + .await + .assert_wp_error(WpErrorCode::PostInvalidParent) +} + +#[tokio::test] +#[parallel] +async fn retrieve_err_post_no_autosave() { + api_client() + .autosaves() + .retrieve_with_edit_context( + &PostId(TestCredentials::instance().revisioned_post_id), + &PostRevisionId(1), + ) + .await + .assert_wp_error(WpErrorCode::PostNoAutosave) +} + +#[tokio::test] +#[parallel] +async fn create_err_post_invalid_id() { + api_client() + .autosaves() + .create(&PostId(99999999), &PostCreateParams::default()) + .await + .assert_wp_error(WpErrorCode::PostInvalidId) +}