diff options
Diffstat (limited to 'test/mastodon-search-tests.el')
-rw-r--r-- | test/mastodon-search-tests.el | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/test/mastodon-search-tests.el b/test/mastodon-search-tests.el new file mode 100644 index 0000000..b8521f3 --- /dev/null +++ b/test/mastodon-search-tests.el @@ -0,0 +1,141 @@ + + +(defconst mastodon-search--single-account-query + '((id . "242971") + (username . "mousebot") + (acct . "mousebot") + (display_name . ": ( ) { : | : & } ; :") + (locked . t) + (bot . :json-false) + (discoverable . t) + (group . :json-false) + (created_at . "2020-04-14T00:00:00.000Z") + (note . "<p>poetry, writing, dmt, desertion, trash, black metal, translation, hegel, language, autonomia....</p><p><a href=\"https://anarchive.mooo.com\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">anarchive.mooo.com</span><span class=\"invisible\"></span></a><br /><a href=\"https://pleasantlybabykid.tumblr.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">pleasantlybabykid.tumblr.com/</span><span class=\"invisible\"></span></a><br />IG: <a href=\"https://bibliogram.snopyta.org/u/martianhiatus\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">bibliogram.snopyta.org/u/marti</span><span class=\"invisible\">anhiatus</span></a><br />photos alt: <span class=\"h-card\"><a href=\"https://todon.eu/@goosebot\" class=\"u-url mention\">@<span>goosebot</span></a></span><br />git: <a href=\"https://git.blast.noho.st/mouse\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">git.blast.noho.st/mouse</span><span class=\"invisible\"></span></a></p><p>want to trade chapbooks or zines? hmu!</p><p>he/him or they/them</p>") + (url . "https://todon.nl/@mousebot") + (avatar . "https://todon.nl/system/accounts/avatars/000/242/971/original/0a5e801576af597b.jpg") + (avatar_static . "https://todon.nl/system/accounts/avatars/000/242/971/original/0a5e801576af597b.jpg") + (header . "https://todon.nl/system/accounts/headers/000/242/971/original/f85f7f1048237fd4.jpg") + (header_static . "https://todon.nl/system/accounts/headers/000/242/971/original/f85f7f1048237fd4.jpg") + (followers_count . 226) + (following_count . 634) + (statuses_count . 3807) + (last_status_at . "2021-11-05") + (emojis . + []) + (fields . + [((name . "dark to") + (value . "themselves") + (verified_at)) + ((name . "its raining") + (value . "plastic") + (verified_at)) + ((name . "dis") + (value . "integration") + (verified_at)) + ((name . "ungleichzeitigkeit und") + (value . "gleichzeitigkeit, philosophisch") + (verified_at))])) + "A sample mastodon account search result (parsed json)") + +(defconst mastodon-search-test-single-tag + '((name . "TeamBringBackVisibleScrollbars") (url . "https://todon.nl/tags/TeamBringBackVisibleScrollbars") (history . [((day . "1636156800") (uses . "0") (accounts . "0")) ((day . "1636070400") (uses . "0") (accounts . "0")) ((day . "1635984000") (uses . "0") (accounts . "0")) ((day . "1635897600") (uses . "0") (accounts . "0")) ((day . "1635811200") (uses . "0") (accounts . "0")) ((day . "1635724800") (uses . "0") (accounts . "0")) ((day . "1635638400") (uses . "0") (accounts . "0"))]))) + +(defconst mastodon-search-test-single-status + '((id . "107230316503209282") + (created_at . "2021-11-06T13:19:40.628Z") + (in_reply_to_id) + (in_reply_to_account_id) + (sensitive . :json-false) + (spoiler_text . "") + (visibility . "direct") + (language . "en") + (uri . "https://todon.nl/users/mousebot/statuses/107230316503209282") + (url . "https://todon.nl/@mousebot/107230316503209282") + (replies_count . 0) + (reblogs_count . 0) + (favourites_count . 0) + (favourited . :json-false) + (reblogged . :json-false) + (muted . :json-false) + (bookmarked . :json-false) + (content . "<p>This is a nice test toot, for testing purposes. Thank you.</p>") + (reblog) + (application + (name . "mastodon.el") + (website . "https://github.com/jdenen/mastodon.el")) + (account + (id . "242971") + (username . "mousebot") + (acct . "mousebot") + (display_name . ": ( ) { : | : & } ; :") + (locked . t) + (bot . :json-false) + (discoverable . t) + (group . :json-false) + (created_at . "2020-04-14T00:00:00.000Z") + (note . "<p>poetry, writing, dmt, desertion, trash, black metal, translation, hegel, language, autonomia....</p><p><a href=\"https://anarchive.mooo.com\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">anarchive.mooo.com</span><span class=\"invisible\"></span></a><br /><a href=\"https://pleasantlybabykid.tumblr.com/\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">pleasantlybabykid.tumblr.com/</span><span class=\"invisible\"></span></a><br />IG: <a href=\"https://bibliogram.snopyta.org/u/martianhiatus\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"ellipsis\">bibliogram.snopyta.org/u/marti</span><span class=\"invisible\">anhiatus</span></a><br />photos alt: <span class=\"h-card\"><a href=\"https://todon.eu/@goosebot\" class=\"u-url mention\">@<span>goosebot</span></a></span><br />git: <a href=\"https://git.blast.noho.st/mouse\" rel=\"nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">git.blast.noho.st/mouse</span><span class=\"invisible\"></span></a></p><p>want to trade chapbooks or zines? hmu!</p><p>he/him or they/them</p>") + (url . "https://todon.nl/@mousebot") + (avatar . "https://todon.nl/system/accounts/avatars/000/242/971/original/0a5e801576af597b.jpg") + (avatar_static . "https://todon.nl/system/accounts/avatars/000/242/971/original/0a5e801576af597b.jpg") + (header . "https://todon.nl/system/accounts/headers/000/242/971/original/f85f7f1048237fd4.jpg") + (header_static . "https://todon.nl/system/accounts/headers/000/242/971/original/f85f7f1048237fd4.jpg") + (followers_count . 226) + (following_count . 634) + (statuses_count . 3807) + (last_status_at . "2021-11-05") + (emojis . + []) + (fields . + [((name . "dark to") + (value . "themselves") + (verified_at)) + ((name . "its raining") + (value . "plastic") + (verified_at)) + ((name . "dis") + (value . "integration") + (verified_at)) + ((name . "ungleichzeitigkeit und") + (value . "gleichzeitigkeit, philosophisch") + (verified_at))])) + (media_attachments . + []) + (mentions . + [((id . "242971") + (username . "mousebot") + (url . "https://todon.nl/@mousebot") + (acct . "mousebot"))]) + (tags . + []) + (emojis . + []) + (card) + (poll))) + +(ert-deftest mastodon-search-test-get-user-info-@ () + "Should build a list from a single account for company completion." + (let ((account mastodon-search--single-account-query)) + (should (equal (mastodon-search--get-user-info-@ account) + '(": ( ) { : | : & } ; :" "@mousebot" "https://todon.nl/@mousebot"))))) + +(ert-deftest mastodon-search-test-get-user-info () + "Should build a list from a single account for company completion." + (let ((account mastodon-search--single-account-query)) + (should (equal (mastodon-search--get-user-info account) + '(": ( ) { : | : & } ; :" "mousebot" "https://todon.nl/@mousebot"))))) + +(ert-deftest mastodon-search-test-get-hashtag-info () + "Should build a list of hashtag name and URL." + (let ((tag mastodon-search-test-single-tag)) + (should (equal (mastodon-search--get-hashtag-info tag) + '("TeamBringBackVisibleScrollbars" + "https://todon.nl/tags/TeamBringBackVisibleScrollbars"))))) + +(ert-deftest mastodon-search-test-get-status-info () + "Should return a list of ID, timestamp, content, and spoiler." + (let ((status mastodon-search-test-single-status)) + (should (equal (mastodon-search--get-status-info status) + '("107230316503209282" + "2021-11-06T13:19:40.628Z" + "" + "<p>This is a nice test toot, for testing purposes. Thank you.</p>"))))) |