diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 18 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 39 |
2 files changed, 41 insertions, 16 deletions
diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index 766268ce9..eb952a230 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -331,11 +331,21 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do test "with credentials", %{conn: conn, user: current_user} do note_activity = insert(:note_activity) - conn = conn - |> with_credentials(current_user.nickname, "test") - |> post("/api/statuses/retweet/#{note_activity.id}.json") + request_path = "/api/statuses/retweet/#{note_activity.id}.json" - assert json_response(conn, 200) + user = Repo.get_by(User, ap_id: note_activity.data["actor"]) + response = conn + |> with_credentials(user.nickname, "test") + |> post(request_path) + assert json_response(response, 400) == %{"error" => "You cannot repeat your own notice.", + "request" => request_path} + + response = conn + |> with_credentials(current_user.nickname, "test") + |> post(request_path) + activity = Repo.get(Activity, note_activity.id) + current_user = Repo.get_by(User, ap_id: note_activity.data["actor"]) + assert json_response(response, 200) == ActivityRepresenter.to_map(activity, %{user: current_user}) end end diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 273093eba..590428423 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -155,32 +155,47 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do assert status == ActivityRepresenter.to_map(activity, %{for: user, user: actor}) end - test "Follow another user" do + test "Follow another user using user_id" do user = insert(:user) followed = insert(:user) - { :ok, user, followed, activity } = TwitterAPI.follow(user, followed.id) + {:ok, user, followed, _activity } = TwitterAPI.follow(user, %{"user_id" => followed.id}) + assert user.following == [User.ap_followers(followed)] + + { :error, msg } = TwitterAPI.follow(user, %{"user_id" => followed.id}) + assert msg == "Could not follow user: #{followed.nickname} is already on your list." + end - user = Repo.get(User, user.id) - follow = Repo.get(Activity, activity.id) + test "Follow another user using screen_name" do + user = insert(:user) + followed = insert(:user) + {:ok, user, followed, _activity } = TwitterAPI.follow(user, %{"screen_name" => followed.nickname}) assert user.following == [User.ap_followers(followed)] - assert follow == activity - { :error, msg } = TwitterAPI.follow(user, followed.id) + { :error, msg } = TwitterAPI.follow(user, %{"screen_name" => followed.nickname}) assert msg == "Could not follow user: #{followed.nickname} is already on your list." end - test "Unfollow another user" do - followed = insert(:user) - user = insert(:user, %{following: [User.ap_followers(followed)]}) + test "Unfollow another user using user_id" do + unfollowed = insert(:user) + user = insert(:user, %{following: [User.ap_followers(unfollowed)]}) + + {:ok, user, unfollowed } = TwitterAPI.unfollow(user, %{"user_id" => unfollowed.id}) + assert user.following == [] - { :ok, user, _followed } = TwitterAPI.unfollow(user, followed.id) + { :error, msg } = TwitterAPI.unfollow(user, %{"user_id" => unfollowed.id}) + assert msg == "Not subscribed!" + end - user = Repo.get(User, user.id) + test "Unfollow another user using screen_name" do + unfollowed = insert(:user) + user = insert(:user, %{following: [User.ap_followers(unfollowed)]}) + {:ok, user, unfollowed } = TwitterAPI.unfollow(user, %{"screen_name" => unfollowed.nickname}) assert user.following == [] - { :error, msg } = TwitterAPI.unfollow(user, followed.id) + + { :error, msg } = TwitterAPI.unfollow(user, %{"screen_name" => unfollowed.nickname}) assert msg == "Not subscribed!" end |