aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormousebot <mousebot@riseup.net>2021-11-06 14:53:24 +0100
committermousebot <mousebot@riseup.net>2021-11-06 15:25:11 +0100
commit14476572dafe12454015189f67d8f29f50b25ccb (patch)
tree81220d8bc3f936ff006e0f92ea4438d47e57af73
parent7718f0b3126407916447c66ac627114693513b04 (diff)
add tests for -search.el
-rw-r--r--test/ert-helper.el1
-rw-r--r--test/mastodon-search-tests.el141
2 files changed, 142 insertions, 0 deletions
diff --git a/test/ert-helper.el b/test/ert-helper.el
index d3e0016..a6d6692 100644
--- a/test/ert-helper.el
+++ b/test/ert-helper.el
@@ -1,3 +1,4 @@
+(load-file "lisp/mastodon-search.el")
(load-file "lisp/mastodon-async.el")
(load-file "lisp/mastodon-http.el")
(load-file "lisp/mastodon-auth.el")
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>")))))