AppFlowy-Cloud/tests/client/workspace.rs

72 lines
1.8 KiB
Rust

use shared_entity::error_code::ErrorCode;
use crate::{client::utils::REGISTERED_USERS_MUTEX, user_1_signed_in, user_2_signed_in};
#[tokio::test]
async fn add_workspace_members_not_enough_permission() {
let _guard = REGISTERED_USERS_MUTEX.lock().await;
let mut c1 = user_1_signed_in().await;
let mut c2 = user_2_signed_in().await;
let user2_workspace = c2.workspaces().await.unwrap();
let user2_workspace_id = user2_workspace.first().unwrap().workspace_id;
// attempt to add user2 to user1's workspace
// using user1's client
let err = c1
.add_workspace_members(
user2_workspace_id,
[c1.token().unwrap().user.email.to_owned()].to_vec(),
)
.await
.unwrap_err();
assert_eq!(err.code, ErrorCode::NotEnoughPermissions);
}
#[tokio::test]
async fn add_workspace_members_then_delete() {
let _guard = REGISTERED_USERS_MUTEX.lock().await;
let mut c1 = user_1_signed_in().await;
let c2 = user_2_signed_in().await;
let c2_email = &c2.token().unwrap().user.email;
let c1_workspace = c1.workspaces().await.unwrap();
let c1_workspace_id = c1_workspace.first().unwrap().workspace_id;
c1.add_workspace_members(
c1_workspace_id,
[c2.token().unwrap().user.email.to_owned()].to_vec(),
)
.await
.unwrap();
{
// check if user2's email is in c1's workspace members
assert!(c1
.get_workspace_members(c1_workspace_id)
.await
.unwrap()
.iter()
.any(|w| w.email == *c2_email));
}
c1.remove_workspace_members(
c1_workspace_id,
[c2.token().unwrap().user.email.to_owned()].to_vec(),
)
.await
.unwrap();
{
// check if user2's email is NOT in c1's workspace members
assert!(!c1
.get_workspace_members(c1_workspace_id)
.await
.unwrap()
.iter()
.any(|w| w.email == *c2_email));
}
}