diff options
author | kaniini <ariadne@dereferenced.org> | 2019-07-15 19:47:23 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-07-15 19:47:23 +0000 |
commit | d80bcd270d6c915c91b212d5549fc866e5d5e4e9 (patch) | |
tree | cc1af678f1fe1bbbd7feaf5aad592cb96a28286b /test/web/common_api/common_api_test.exs | |
parent | 30d7e22784eaeb36099bd9e7a197b8a9676b6123 (diff) | |
parent | b74300bc7a02912489033ea23ccaf876881ef650 (diff) | |
download | pleroma-d80bcd270d6c915c91b212d5549fc866e5d5e4e9.tar.gz pleroma-d80bcd270d6c915c91b212d5549fc866e5d5e4e9.zip |
Merge branch 'tests/mastodon-common-api' into 'develop'
Add more tests for MastodonAPIController and CommonAPI
See merge request pleroma/pleroma!1425
Diffstat (limited to 'test/web/common_api/common_api_test.exs')
-rw-r--r-- | test/web/common_api/common_api_test.exs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 7d8eeb12e..16b3f121d 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -141,6 +141,25 @@ defmodule Pleroma.Web.CommonAPITest do assert activity.recipients == [list.ap_id, user.ap_id] assert activity.data["listMessage"] == list.ap_id end + + test "it returns error when status is empty and no attachments" do + user = insert(:user) + + assert {:error, "Cannot post an empty status without attachments"} = + CommonAPI.post(user, %{"status" => ""}) + end + + test "it returns error when character limit is exceeded" do + limit = Pleroma.Config.get([:instance, :limit]) + Pleroma.Config.put([:instance, :limit], 5) + + user = insert(:user) + + assert {:error, "The status is over the character limit"} = + CommonAPI.post(user, %{"status" => "foobar"}) + + Pleroma.Config.put([:instance, :limit], limit) + end end describe "reactions" do @@ -413,4 +432,23 @@ defmodule Pleroma.Web.CommonAPITest do assert Repo.get(Activity, follow_activity_three.id).data["state"] == "pending" end end + + describe "vote/3" do + test "does not allow to vote twice" do + user = insert(:user) + other_user = insert(:user) + + {:ok, activity} = + CommonAPI.post(user, %{ + "status" => "Am I cute?", + "poll" => %{"options" => ["Yes", "No"], "expires_in" => 20} + }) + + object = Object.normalize(activity) + + {:ok, _, object} = CommonAPI.vote(other_user, object, [0]) + + assert {:error, "Already voted"} == CommonAPI.vote(other_user, object, [1]) + end + end end |