Add tests for Reshare::to_activity and build_undo
This commit is contained in:
parent
e2077bed59
commit
e5bc84badf
@ -199,3 +199,60 @@ impl NewReshare {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::*;
|
||||||
|
use crate::diesel::Connection;
|
||||||
|
use crate::{inbox::tests::fill_database, tests::db};
|
||||||
|
use assert_json_diff::assert_json_eq;
|
||||||
|
use serde_json::{json, to_value};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn to_activity() {
|
||||||
|
let conn = db();
|
||||||
|
conn.test_transaction::<_, Error, _>(|| {
|
||||||
|
let (posts, _users, _blogs) = fill_database(&conn);
|
||||||
|
let post = &posts[0];
|
||||||
|
let user = &post.get_authors(&conn)?[0];
|
||||||
|
let reshare = Reshare::insert(&*conn, NewReshare::new(post, user))?;
|
||||||
|
let act = reshare.to_activity(&conn).unwrap();
|
||||||
|
|
||||||
|
let expected = json!({
|
||||||
|
"actor": "https://plu.me/@/admin/",
|
||||||
|
"cc": ["https://plu.me/@/admin/followers"],
|
||||||
|
"id": "https://plu.me/@/admin/reshare/https://plu.me/~/BlogName/testing",
|
||||||
|
"object": "https://plu.me/~/BlogName/testing",
|
||||||
|
"to": ["https://www.w3.org/ns/activitystreams#Public"],
|
||||||
|
"type": "Announce",
|
||||||
|
});
|
||||||
|
assert_json_eq!(to_value(act)?, expected);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn build_undo() {
|
||||||
|
let conn = db();
|
||||||
|
conn.test_transaction::<_, Error, _>(|| {
|
||||||
|
let (posts, _users, _blogs) = fill_database(&conn);
|
||||||
|
let post = &posts[0];
|
||||||
|
let user = &post.get_authors(&conn)?[0];
|
||||||
|
let reshare = Reshare::insert(&*conn, NewReshare::new(post, user))?;
|
||||||
|
let act = reshare.build_undo(&*conn)?;
|
||||||
|
|
||||||
|
let expected = json!({
|
||||||
|
"actor": "https://plu.me/@/admin/",
|
||||||
|
"cc": ["https://plu.me/@/admin/followers"],
|
||||||
|
"id": "https://plu.me/@/admin/reshare/https://plu.me/~/BlogName/testing#delete",
|
||||||
|
"object": "https://plu.me/@/admin/reshare/https://plu.me/~/BlogName/testing#delete",
|
||||||
|
"to": ["https://www.w3.org/ns/activitystreams#Public"],
|
||||||
|
"type": "Announce",
|
||||||
|
});
|
||||||
|
assert_json_eq!(to_value(act)?, expected);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user