misskey_api/endpoint/users/groups/
joined.rs1use crate::model::user_group::UserGroup;
2
3use serde::Serialize;
4
5#[derive(Serialize, Default, Debug, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct Request {}
8
9impl misskey_core::Request for Request {
10 type Response = Vec<UserGroup>;
11 const ENDPOINT: &'static str = "users/groups/joined";
12}
13
14#[cfg(test)]
15mod tests {
16 use super::Request;
17 use crate::test::{ClientExt, TestClient};
18
19 #[tokio::test]
20 async fn request() {
21 let client = TestClient::new();
22 let (new_user, new_user_client) = client.admin.create_user().await;
23 let group = client
24 .test(crate::endpoint::users::groups::create::Request {
25 name: "test".to_string(),
26 })
27 .await;
28 client
29 .test(crate::endpoint::users::groups::invite::Request {
30 group_id: group.id.clone(),
31 user_id: new_user.id.clone(),
32 })
33 .await;
34 let invitation = new_user_client
35 .test(crate::endpoint::i::user_group_invites::Request {
36 limit: None,
37 since_id: None,
38 until_id: None,
39 })
40 .await
41 .pop()
42 .unwrap();
43 new_user_client
44 .test(
45 crate::endpoint::users::groups::invitations::accept::Request {
46 invitation_id: invitation.id,
47 },
48 )
49 .await;
50
51 new_user_client.test(Request::default()).await;
52 }
53}