From bd21e8e1a882f6ce9be94aae51e93f54bdee8177 Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Tue, 30 Apr 2024 11:48:24 +0800 Subject: [PATCH] fix: test case when user is already in workspace --- tests/workspace/member_crud.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tests/workspace/member_crud.rs b/tests/workspace/member_crud.rs index 9d7c9188..e61d8fb1 100644 --- a/tests/workspace/member_crud.rs +++ b/tests/workspace/member_crud.rs @@ -1,4 +1,5 @@ use app_error::ErrorCode; +use client_api::entity::AFWorkspaceInvitationStatus; use client_api_test_util::{api_client_with_email, TestClient}; use database_entity::dto::{AFAccessLevel, AFRole, QueryCollabMembers}; use shared_entity::dto::workspace_dto::WorkspaceMemberInvitation; @@ -91,9 +92,30 @@ async fn add_duplicate_workspace_members() { c1.invite_and_accepted_workspace_member(&workspace_id, &c2, AFRole::Member) .await .unwrap(); - c1.invite_and_accepted_workspace_member(&workspace_id, &c2, AFRole::Member) + + // next invite should do nothing since c2 is already a workspace member + c1.api_client + .invite_workspace_members( + &workspace_id, + vec![WorkspaceMemberInvitation { + email: c2.email().await, + role: AFRole::Member, + }], + ) .await .unwrap(); + + // should not find any invitation + let invitations = c2 + .api_client + .list_workspace_invitations(Some(AFWorkspaceInvitationStatus::Pending)) + .await + .unwrap(); + let is_none = invitations + .iter() + .find(|inv| inv.workspace_id.to_string().as_str() == workspace_id) + .is_none(); + assert!(is_none); } #[tokio::test]