aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormarty hiatt <martianhiatus [a t] riseup [d o t] net>2022-11-26 10:49:03 +0100
committermarty hiatt <martianhiatus [a t] riseup [d o t] net>2022-11-26 10:49:03 +0100
commit6f017799fa13dd53015ce4159202893f2a590888 (patch)
tree95f13b29a6e2615e2f139f7d45a9eade0b8e08e8 /test
parent14b7547c385648565eba8a4bac3dc8afa5ebf978 (diff)
parent55c91270734da9e6a11060b3bea7aad152d40680 (diff)
Merge branch 'develop' into HEAD
Diffstat (limited to 'test')
-rw-r--r--test/mastodon-notifications-tests.el6
-rw-r--r--test/mastodon-profile-tests.el22
-rw-r--r--test/mastodon-tl-tests.el119
-rw-r--r--test/mastodon-toot-tests.el57
4 files changed, 110 insertions, 94 deletions
diff --git a/test/mastodon-notifications-tests.el b/test/mastodon-notifications-tests.el
index 7c87933..942a7cb 100644
--- a/test/mastodon-notifications-tests.el
+++ b/test/mastodon-notifications-tests.el
@@ -187,11 +187,11 @@
"Ensure get request format for notifictions is accurate."
(let ((mastodon-instance-url "https://instance.url"))
(with-mock
- (mock (mastodon-http--get-json "https://instance.url/api/v1/notifications"))
- (mock (mastodon-profile-fetch-server-account-settings)
+ (mock (mastodon-http--get-json "https://instance.url/api/v1/notifications" nil))
+ (mock (mastodon-profile--fetch-server-account-settings)
=> '(max_toot_chars 1312 privacy "public" display_name "Eugen" discoverable t locked :json-false bot :json-false sensitive :json-false language ""))
- (mastodon-notifications--get))))
+ (mastodon-notifications-get))))
(defun mastodon-notifications--test-type (fun sample)
"Test notification draw functions.
diff --git a/test/mastodon-profile-tests.el b/test/mastodon-profile-tests.el
index 267e48b..1ce9514 100644
--- a/test/mastodon-profile-tests.el
+++ b/test/mastodon-profile-tests.el
@@ -172,7 +172,8 @@ The search will happen as if called without the \"@\"."
(with-mock
(mock (mastodon-http--get-json
- "https://instance.url/api/v1/accounts/search?q=gargron"))
+ "https://instance.url/api/v1/accounts/search"
+ '(("q" . "gargron"))))
(let ((mastodon-instance-url "https://instance.url"))
;; We don't check anything from the return value. We only care
@@ -182,7 +183,9 @@ The search will happen as if called without the \"@\"."
(ert-deftest mastodon-profile--search-account-by-handle--filters-out-false-results ()
"Should ignore results that don't match the searched handle."
(with-mock
- (mock (mastodon-http--get-json *)
+ (mock (mastodon-http--get-json
+ "https://instance.url/api/v1/accounts/search"
+ '(("q" . "Gargron")))
=>
(vector ccc-profile-json gargron-profile-json))
@@ -197,7 +200,9 @@ The search will happen as if called without the \"@\"."
TODO: We need to decide if this is actually desired or not."
(with-mock
- (mock (mastodon-http--get-json *) => (vector gargron-profile-json))
+ (mock (mastodon-http--get-json *
+ '(("q" . "gargron")))
+ => (vector gargron-profile-json))
(let ((mastodon-instance-url "https://instance.url"))
(should
@@ -232,7 +237,7 @@ content generation in the function under test."
(if (version< emacs-version "27.1")
(mock (image-type-available-p 'imagemagick) => t)
(mock (image-transforms-p) => t))
- (mock (mastodon-http--get-json "https://instance.url/api/v1/accounts/1/statuses")
+ (mock (mastodon-http--get-json "https://instance.url/api/v1/accounts/1/statuses" nil)
=>
gargon-statuses-json)
(mock (mastodon-profile--get-statuses-pinned *)
@@ -246,9 +251,11 @@ content generation in the function under test."
(mock (shr-render-region * *) => nil)
;; Don't perform the actual update call at the end.
;;(mock (mastodon-tl--timeline *))
- (mock (mastodon-profile-fetch-server-account-settings)
+ (mock (mastodon-profile--fetch-server-account-settings)
=> '(max_toot_chars 1312 privacy "public" display_name "Eugen" discoverable t locked :json-false bot :json-false sensitive :json-false language ""))
+ (mock (mastodon-profile--format-joined-date-string *) => "Joined March 2016")
+
(let ((mastodon-tl--show-avatars t)
(mastodon-tl--display-media-p t)
(mastodon-instance-url "https://instance.url"))
@@ -264,7 +271,10 @@ content generation in the function under test."
"@Gargron\n"
" ------------\n"
"<p>Developer of Mastodon and administrator of mastodon.social. I post service announcements, development updates, and personal stuff.</p>\n"
- "_ Patreon __ :: <a href=\"https://www.patreon.com/mastodon\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"\">patreon.com/mastodon</span><span class=\"invisible\"></span></a>_ Homepage _ :: <a href=\"https://zeonfederated.com\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">zeonfederated.com</span><span class=\"invisible\"></span></a>\n"
+ "_ Patreon __ :: <a href=\"https://www.patreon.com/mastodon\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://www.</span><span class=\"\">patreon.com/mastodon</span><span class=\"invisible\"></span></a>_ Homepage _ :: <a href=\"https://zeonfederated.com\" rel=\"me nofollow noopener noreferrer\" target=\"_blank\"><span class=\"invisible\">https://</span><span class=\"\">zeonfederated.com</span><span class=\"invisible\"></span></a>"
+ "\n"
+ "Joined March 2016"
+ "\n\n"
" ------------\n"
" TOOTS: 70741 | FOLLOWERS: 470905 | FOLLOWING: 451\n"
" ------------\n"
diff --git a/test/mastodon-tl-tests.el b/test/mastodon-tl-tests.el
index bb5d00f..a80c3ee 100644
--- a/test/mastodon-tl-tests.el
+++ b/test/mastodon-tl-tests.el
@@ -175,27 +175,30 @@ Strict-Transport-Security: max-age=31536000
"Should request toots older than max_id."
(let ((mastodon-instance-url "https://instance.url"))
(with-mock
- (mock (mastodon-http--get-json "https://instance.url/api/v1/timelines/foo?max_id=12345"))
- (mastodon-tl--more-json "timelines/foo" 12345))))
+ (mock (mastodon-http--get-json "https://instance.url/api/v1/timelines/foo"
+ '(("max_id" . "12345"))))
+ (mastodon-tl--more-json "timelines/foo" "12345"))))
(ert-deftest mastodon-tl--more-json-id-string ()
"Should request toots older than max_id.
-`mastodon-tl--more-json' should accept and id that is either
-a string or a numeric."
+ `mastodon-tl--more-json' should accept and id that is either
+ a string or a numeric."
(let ((mastodon-instance-url "https://instance.url"))
(with-mock
- (mock (mastodon-http--get-json "https://instance.url/api/v1/timelines/foo?max_id=12345"))
+ (mock (mastodon-http--get-json "https://instance.url/api/v1/timelines/foo"
+ '(("max_id" . "12345"))))
(mastodon-tl--more-json "timelines/foo" "12345"))))
(ert-deftest mastodon-tl--update-json-id-string ()
"Should request toots more recent than since_id.
-`mastodon-tl--updated-json' should accept and id that is either
-a string or a numeric."
+ `mastodon-tl--updated-json' should accept and id that is either
+ a string or a numeric."
(let ((mastodon-instance-url "https://instance.url"))
(with-mock
- (mock (mastodon-http--get-json "https://instance.url/api/v1/timelines/foo?since_id=12345"))
+ (mock (mastodon-http--get-json "https://instance.url/api/v1/timelines/foo"
+ '(("since_id" . "12345"))))
(mastodon-tl--updated-json "timelines/foo" "12345"))))
(ert-deftest mastodon-tl--relative-time-description ()
@@ -413,7 +416,7 @@ a string or a numeric."
(handle2-location 65))
(should (string= (substring-no-properties byline)
"Account 42 (@acct42@example.space)
- Boosted Account 43 (@acct43@example.space) original time
+ Boosted Account 43 (@acct43@example.space) original time
------------
"))
(should (eq (get-text-property handle1-location 'mastodon-tab-stop byline)
@@ -446,7 +449,7 @@ a string or a numeric."
'mastodon-tl--byline-author
'mastodon-tl--byline-boosted))
"Account 42 (@acct42@example.space)
- Boosted Account 43 (@acct43@example.space) original time
+ Boosted Account 43 (@acct43@example.space) original time
------------
")))))
@@ -470,7 +473,7 @@ a string or a numeric."
'mastodon-tl--byline-author
'mastodon-tl--byline-boosted))
"(B) (F) Account 42 (@acct42@example.space)
- Boosted Account 43 (@acct43@example.space) original time
+ Boosted Account 43 (@acct43@example.space) original time
------------
")))))
@@ -808,8 +811,8 @@ a string or a numeric."
(defun tl-tests--property-values-at (property ranges)
"Returns a list with property values at the given ranges.
-The property value for PROPERTY within a region is assumed to be
-constant."
+ The property value for PROPERTY within a region is assumed to be
+ constant."
(let (result)
(dolist (range ranges (nreverse result))
(push (get-text-property (car range) property) result))))
@@ -1047,53 +1050,53 @@ correct value for following, as well as notifications enabled or disabled."
(let ((response-buffer-true (current-buffer)))
(insert mastodon-tl--follow-notify-true-response)
(with-mock
- (mock (mastodon-http--post url-follow-only nil nil)
- => response-buffer-true)
- (should
- (equal
- (mastodon-tl--do-user-action-function url-follow-only
- user-name
- user-handle
- "follow")
- "User some-user (@some-user@instance.url) followed!"))
- (mock (mastodon-http--post url-mute nil nil)
- => response-buffer-true)
- (should
- (equal
- (mastodon-tl--do-user-action-function url-mute
- user-name
- user-handle
- "mute")
- "User some-user (@some-user@instance.url) muted!"))
- (mock (mastodon-http--post url-block nil nil)
- => response-buffer-true)
- (should
- (equal
- (mastodon-tl--do-user-action-function url-block
- user-name
- user-handle
- "block")
- "User some-user (@some-user@instance.url) blocked!")))
+ (mock (mastodon-http--post url-follow-only)
+ => response-buffer-true)
+ (should
+ (equal
+ (mastodon-tl--do-user-action-function url-follow-only
+ user-name
+ user-handle
+ "follow")
+ "User some-user (@some-user@instance.url) followed!"))
+ (mock (mastodon-http--post url-mute)
+ => response-buffer-true)
+ (should
+ (equal
+ (mastodon-tl--do-user-action-function url-mute
+ user-name
+ user-handle
+ "mute")
+ "User some-user (@some-user@instance.url) muted!"))
+ (mock (mastodon-http--post url-block)
+ => response-buffer-true)
+ (should
+ (equal
+ (mastodon-tl--do-user-action-function url-block
+ user-name
+ user-handle
+ "block")
+ "User some-user (@some-user@instance.url) blocked!")))
(with-mock
- (mock (mastodon-http--post url-true nil nil) => response-buffer-true)
- (should
- (equal
- (mastodon-tl--do-user-action-function url-true
- user-name
- user-handle
- "follow"
- "true")
- "Receiving notifications for user some-user (@some-user@instance.url)!")))))
+ (mock (mastodon-http--post url-true) => response-buffer-true)
+ (should
+ (equal
+ (mastodon-tl--do-user-action-function url-true
+ user-name
+ user-handle
+ "follow"
+ "true")
+ "Receiving notifications for user some-user (@some-user@instance.url)!")))))
(with-temp-buffer
(let ((response-buffer-false (current-buffer)))
(insert mastodon-tl--follow-notify-false-response)
(with-mock
- (mock (mastodon-http--post url-false nil nil) => response-buffer-false)
- (should
- (equal
- (mastodon-tl--do-user-action-function url-false
- user-name
- user-handle
- "follow"
- "false")
- "Not receiving notifications for user some-user (@some-user@instance.url)!")))))))
+ (mock (mastodon-http--post url-false) => response-buffer-false)
+ (should
+ (equal
+ (mastodon-tl--do-user-action-function url-false
+ user-name
+ user-handle
+ "follow"
+ "false")
+ "Not receiving notifications for user some-user (@some-user@instance.url)!")))))))
diff --git a/test/mastodon-toot-tests.el b/test/mastodon-toot-tests.el
index 39e0984..b88510c 100644
--- a/test/mastodon-toot-tests.el
+++ b/test/mastodon-toot-tests.el
@@ -120,11 +120,12 @@ mention string."
"Should refuse to delete toot."
(let ((toot mastodon-toot-test-base-toot))
(with-mock
- (mock (mastodon-auth--user-acct) => "joebogus")
- ;; (mock (mastodon-toot--own-toot-p toot) => nil)
- (mock (mastodon-tl--property 'toot-json) => mastodon-toot-test-base-toot)
- (should (equal (mastodon-toot--delete-toot)
- "You can only delete (and redraft) your own toots.")))))
+ (mock (mastodon-auth--user-acct) => "joebogus")
+ ;; (mock (mastodon-toot--own-toot-p toot) => nil)
+ (mock (mastodon-tl--property 'toot-json) => mastodon-toot-test-base-toot)
+ (mock (mastodon-tl--property 'base-toot) => toot)
+ (should (equal (mastodon-toot--delete-toot)
+ "You can only delete (and redraft) your own toots.")))))
(ert-deftest mastodon-toot--delete-toot ()
"Should return correct triaged response to a legitimate DELETE request."
@@ -133,16 +134,17 @@ mention string."
(let ((delete-response (current-buffer))
(toot mastodon-toot-test-base-toot))
(with-mock
- (mock (mastodon-tl--property 'toot-json) => toot)
- ;; (mock (mastodon-toot--own-toot-p toot) => t)
- (mock (mastodon-auth--user-acct) => "acct42@example.space")
- (mock (mastodon-http--api (format "statuses/61208"))
- => "https://example.space/statuses/61208")
- (mock (y-or-n-p "Delete this toot? ") => t)
- (mock (mastodon-http--delete "https://example.space/statuses/61208")
- => delete-response)
- (should (equal (mastodon-toot--delete-toot)
- "Toot deleted!"))))))
+ (mock (mastodon-tl--property 'toot-json) => toot)
+ (mock (mastodon-tl--property 'base-toot) => toot)
+ ;; (mock (mastodon-toot--own-toot-p toot) => t)
+ (mock (mastodon-auth--user-acct) => "acct42@example.space")
+ (mock (mastodon-http--api (format "statuses/61208"))
+ => "https://example.space/statuses/61208")
+ (mock (y-or-n-p "Delete this toot? ") => t)
+ (mock (mastodon-http--delete "https://example.space/statuses/61208")
+ => delete-response)
+ (should (equal (mastodon-toot--delete-toot)
+ "Toot deleted!"))))))
(ert-deftest mastodon-toot-action-pin ()
"Should return callback provided by `mastodon-toot--pin-toot-toggle'."
@@ -152,14 +154,14 @@ mention string."
(toot mastodon-toot-test-base-toot)
(id 61208))
(with-mock
- (mock (mastodon-tl--property 'base-toot-id) => id)
- (mock (mastodon-http--api "statuses/61208/pin")
- => "https://example.space/statuses/61208/pin")
- (mock (mastodon-http--post "https://example.space/statuses/61208/pin" nil nil)
- => pin-response)
- (should (equal (mastodon-toot--action "pin" (lambda ()
- (message "Toot pinned!")))
- "Toot pinned!"))))))
+ (mock (mastodon-tl--property 'base-toot-id) => id)
+ (mock (mastodon-http--api "statuses/61208/pin")
+ => "https://example.space/statuses/61208/pin")
+ (mock (mastodon-http--post "https://example.space/statuses/61208/pin")
+ => pin-response)
+ (should (equal (mastodon-toot--action "pin" (lambda ()
+ (message "Toot pinned!")))
+ "Toot pinned!"))))))
(ert-deftest mastodon-toot--pin-toot-fail ()
(with-temp-buffer
@@ -167,7 +169,8 @@ mention string."
(let ((pin-response (current-buffer))
(toot mastodon-toot-test-base-toot))
(with-mock
- (mock (mastodon-tl--property 'toot-json) => toot)
- (mock (mastodon-auth--user-acct) => "joebogus@example.space")
- (should (equal (mastodon-toot--pin-toot-toggle)
- "You can only pin your own toots."))))))
+ (mock (mastodon-tl--property 'toot-json) => toot)
+ (mock (mastodon-tl--property 'base-toot) => toot)
+ (mock (mastodon-auth--user-acct) => "joebogus@example.space")
+ (should (equal (mastodon-toot--pin-toot-toggle)
+ "You can only pin your own toots."))))))