X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Fmastodon_api%2Fmastodon_api_controller_test.exs;h=d118026eb3b4d521c1d8bf59fd98e13912d1c6fc;hb=c6b9b777dacef2fce51e43a25e3af9c9fac9a87e;hp=af2351706517868b5328c61bef40718c881b5e04;hpb=8e94936553c978e5f0d3bb802a1932a6b505f86e;p=akkoma diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index af2351706..d118026eb 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -50,9 +50,9 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do conn = conn |> assign(:user, user) - |> post("/api/v1/statuses", %{"status" => "cofe"}) + |> post("/api/v1/statuses", %{"status" => "cofe", "spoiler_text" => "2hu"}) - assert %{"content" => "cofe", "id" => id} = json_response(conn, 200) + assert %{"content" => "cofe", "id" => id, "spoiler_text" => "2hu"} = json_response(conn, 200) assert Repo.get(Activity, id) end @@ -91,7 +91,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/statuses/#{activity.id}") assert %{"id" => id} = json_response(conn, 200) - assert id == activity.id + assert id == to_string(activity.id) end describe "deleting a status" do @@ -132,7 +132,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> post("/api/v1/statuses/#{activity.id}/reblog") assert %{"id" => id, "reblogged" => true, "reblogs_count" => 1} = json_response(conn, 200) - assert activity.id == id + assert to_string(activity.id) == id end end @@ -146,7 +146,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> post("/api/v1/statuses/#{activity.id}/favourite") assert %{"id" => id, "favourites_count" => 1, "favourited" => true} = json_response(conn, 200) - assert activity.id == id + assert to_string(activity.id) == id end end @@ -162,7 +162,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> post("/api/v1/statuses/#{activity.id}/unfavourite") assert %{"id" => id, "favourites_count" => 0, "favourited" => false} = json_response(conn, 200) - assert activity.id == id + assert to_string(activity.id) == id end end @@ -178,7 +178,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert [%{"id" => id}] = json_response(conn, 200) - assert id == note_two.id + assert id == to_string(note_two.id) end end @@ -238,7 +238,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert [%{"id" => id}] = json_response(conn, 200) - assert id == activity.id + assert id == to_string(activity.id) end test "getting followers", %{conn: conn} do @@ -287,14 +287,47 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> assign(:user, user) |> post("/api/v1/follows", %{"uri" => other_user.nickname}) - assert %{"id" => id, "following" => true} = json_response(conn, 200) + assert %{"id" => id} = json_response(conn, 200) + assert id == other_user.id + end + + test "blocking / unblocking a user", %{conn: conn} do + user = insert(:user) + other_user = insert(:user) + + conn = conn + |> assign(:user, user) + |> post("/api/v1/accounts/#{other_user.id}/block") + + assert %{"id" => id, "blocking" => true} = json_response(conn, 200) + + user = Repo.get(User, user.id) + conn = build_conn() + |> assign(:user, user) + |> post("/api/v1/accounts/#{other_user.id}/unblock") + + assert %{"id" => id, "blocking" => false} = json_response(conn, 200) + end + + test "getting a list of blocks", %{conn: conn} do + user = insert(:user) + other_user = insert(:user) + + {:ok, user} = User.block(user, other_user) + + conn = conn + |> assign(:user, user) + |> get("/api/v1/blocks") + + other_user_id = other_user.id + assert [%{"id" => ^other_user_id}] = json_response(conn, 200) end - test "unimplemented block/mute endpoints" do + test "unimplemented mute endpoints" do user = insert(:user) other_user = insert(:user) - ["block", "unblock", "mute", "unmute"] + ["mute", "unmute"] |> Enum.each(fn(endpoint) -> conn = build_conn() |> assign(:user, user) @@ -318,6 +351,19 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do end) end + test "account search", %{conn: conn} do + user = insert(:user) + user_two = insert(:user, %{nickname: "shp@shitposter.club"}) + user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) + + conn = conn + |> assign(:user, user) + |> get("/api/v1/accounts/search", %{"q" => "2hu"}) + + assert [account] = json_response(conn, 200) + assert account["id"] == user_three.id + end + test "search", %{conn: conn} do user = insert(:user) user_two = insert(:user, %{nickname: "shp@shitposter.club"}) @@ -337,7 +383,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert results["hashtags"] == [] [status] = results["statuses"] - assert status["id"] == activity.id + assert status["id"] == to_string(activity.id) end test "search fetches remote accounts", %{conn: conn} do @@ -363,6 +409,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/favourites") assert [status] = json_response(conn, 200) - assert status["id"] == activity.id + assert status["id"] == to_string(activity.id) end end