From ab6f39c19266f4e3c3ba3a2d7ccef0558d4d2e42 Mon Sep 17 00:00:00 2001 From: Kitaiti Makoto Date: Wed, 23 Feb 2022 01:07:57 +0900 Subject: [PATCH] Add test for Blog::to_activity() --- plume-models/src/blogs.rs | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/plume-models/src/blogs.rs b/plume-models/src/blogs.rs index a95805da..1f1e7e20 100644 --- a/plume-models/src/blogs.rs +++ b/plume-models/src/blogs.rs @@ -643,7 +643,9 @@ pub(crate) mod tests { blog_authors::*, instance::tests as instance_tests, medias::NewMedia, tests::db, users::tests as usersTests, Connection as Conn, }; + use assert_json_diff::assert_json_eq; use diesel::Connection; + use serde_json::to_value; pub(crate) fn fill_database(conn: &Conn) -> (Vec, Vec) { instance_tests::fill_database(conn); @@ -1038,4 +1040,50 @@ pub(crate) mod tests { Ok(()) }) } + + #[test] + fn to_activity() { + let conn = &db(); + conn.test_transaction::<_, Error, _>(|| { + let (_users, blogs) = fill_database(&conn); + let blog = &blogs[0]; + let act = blog.to_activity(conn)?; + + let expected = json!({ + "followers": null, + "following": null, + "icon": { + "attributedTo": "", + "type": "Image", + "url": "" + }, + "id": "https://plu.me/~/BlogName/", + "image": { + "attributedTo": "", + "type": "Image", + "url": "" + }, + "inbox": "https://plu.me/~/BlogName/inbox", + "liked": null, + "name": "Blog name", + "outbox": "https://plu.me/~/BlogName/outbox", + "preferredUsername": "BlogName", + "publicKey": { + "id": "https://plu.me/~/BlogName/#main-key", + "owner": "https://plu.me/~/BlogName/", + "publicKeyPem": blog.public_key + }, + "source": { + "content": "This is a small blog", + "mediaType": "text/markdown" + }, + "summary": "", + "type": "Group" + }); + + assert_json_eq!(to_value(act)?, expected); + + Ok(()) + }); + } }