62 lines
1.9 KiB
Rust
62 lines
1.9 KiB
Rust
use shared_entity::error_code::ErrorCode;
|
|
|
|
use crate::user::utils::generate_unique_registered_user_client;
|
|
|
|
#[tokio::test]
|
|
async fn add_workspace_members_not_enough_permission() {
|
|
let (c1, _user1) = generate_unique_registered_user_client().await;
|
|
let (c2, _user2) = generate_unique_registered_user_client().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 email = c1.token().read().as_ref().unwrap().user.email.to_owned();
|
|
let err = c1
|
|
.add_workspace_members(user2_workspace_id, [email].to_vec())
|
|
.await
|
|
.unwrap_err();
|
|
assert_eq!(err.code, ErrorCode::NotEnoughPermissions);
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn add_workspace_members_then_delete() {
|
|
let (c1, _user1) = generate_unique_registered_user_client().await;
|
|
let (c2, _user2) = generate_unique_registered_user_client().await;
|
|
let c2_email = c2.token().read().as_ref().unwrap().user.email.clone();
|
|
|
|
let c1_workspace = c1.workspaces().await.unwrap();
|
|
let c1_workspace_id = c1_workspace.first().unwrap().workspace_id;
|
|
|
|
let email = c2.token().read().as_ref().unwrap().user.email.to_owned();
|
|
c1.add_workspace_members(c1_workspace_id, [email].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));
|
|
}
|
|
|
|
let email = c2.token().read().as_ref().unwrap().user.email.to_owned();
|
|
c1.remove_workspace_members(c1_workspace_id, [email].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));
|
|
}
|
|
}
|