chorus/tests/members.rs

31 lines
1.1 KiB
Rust
Raw Permalink Normal View History

2023-06-22 13:14:07 +02:00
use chorus::{errors::ChorusResult, types::GuildMember};
2023-11-20 14:03:06 +01:00
#[cfg(target_arch = "wasm32")]
use wasm_bindgen_test::*;
#[cfg(target_arch = "wasm32")]
wasm_bindgen_test_configure!(run_in_browser);
2023-06-22 13:14:07 +02:00
2023-06-10 00:39:04 +02:00
mod common;
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
#[cfg_attr(not(target_arch = "wasm32"), tokio::test)]
2023-06-22 13:14:07 +02:00
async fn add_remove_role() -> ChorusResult<()> {
2023-06-10 00:39:04 +02:00
let mut bundle = common::setup().await;
let guild = bundle.guild.read().unwrap().id;
let role = bundle.role.read().unwrap().id;
2023-08-12 19:31:31 +02:00
let member_id = bundle.user.object.read().unwrap().id;
2023-06-22 13:14:07 +02:00
GuildMember::add_role(&mut bundle.user, guild, member_id, role).await?;
let member = GuildMember::get(&mut bundle.user, guild, member_id)
2023-06-10 17:35:09 +02:00
.await
.unwrap();
2023-06-22 13:14:07 +02:00
assert!(member.roles.contains(&role));
GuildMember::remove_role(&mut bundle.user, guild, member_id, role).await?;
let member = GuildMember::get(&mut bundle.user, guild, member_id)
2023-06-10 17:35:09 +02:00
.await
.unwrap();
2023-06-22 13:14:07 +02:00
assert!(!member.roles.contains(&role));
common::teardown(bundle).await;
Ok(())
2023-06-10 00:39:04 +02:00
}