From c185063847c947d6d5a2fbcf6ee7c3d70c74a9ab Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Tue, 30 Jul 2024 09:55:29 +0800 Subject: [PATCH] fix: publish nothing should result in error --- src/api/workspace.rs | 4 +++- tests/workspace/publish.rs | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/api/workspace.rs b/src/api/workspace.rs index dde1872d..3db8a653 100644 --- a/src/api/workspace.rs +++ b/src/api/workspace.rs @@ -1223,7 +1223,9 @@ async fn post_publish_collabs_handler( } if accumulator.is_empty() { - return Ok(Json(AppResponse::Ok())); + return Err( + AppError::InvalidRequest(String::from("did not receive any data to publish")).into(), + ); } biz::workspace::ops::publish_collabs(&state.pg_pool, &workspace_id, &user_uuid, &accumulator) .await?; diff --git a/tests/workspace/publish.rs b/tests/workspace/publish.rs index beffa4ea..0f0948be 100644 --- a/tests/workspace/publish.rs +++ b/tests/workspace/publish.rs @@ -82,6 +82,16 @@ async fn test_publish_doc() { let view_id_1 = uuid::Uuid::new_v4(); let publish_name_2 = "publish-name-2"; let view_id_2 = uuid::Uuid::new_v4(); + + { + // cannot publish nothing + let err = c + .publish_collabs::(&workspace_id, vec![]) + .await + .unwrap_err(); + assert_eq!(err.code, ErrorCode::InvalidRequest); + } + c.publish_collabs::( &workspace_id, vec![