2023-06-22 13:14:07 +02:00
|
|
|
use chorus::{errors::ChorusResult, types::GuildMember};
|
2023-11-20 14:03:06 +01:00
|
|
|
// PRETTYFYME: Move common wasm setup to common.rs
|
|
|
|
#[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;
|
|
|
|
|
2023-11-20 14:03:06 +01:00
|
|
|
#[cfg(target_arch = "wasm32")]
|
|
|
|
#[wasm_bindgen_test]
|
|
|
|
async fn add_remove_role_wasm() {
|
2023-11-20 14:11:56 +01:00
|
|
|
add_remove_role().unwrap()
|
2023-11-20 14:03:06 +01:00
|
|
|
}
|
|
|
|
|
2023-06-10 00:39:04 +02:00
|
|
|
#[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;
|
2023-08-13 15:54:07 +02:00
|
|
|
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
|
|
|
}
|