diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/upload_test.exs | 12 | ||||
-rw-r--r-- | test/web/mastodon_api/account_view_test.exs | 6 | ||||
-rw-r--r-- | test/web/mastodon_api/mastodon_api_controller_test.exs | 79 | ||||
-rw-r--r-- | test/web/mastodon_api/status_view_test.exs | 1 |
4 files changed, 85 insertions, 13 deletions
diff --git a/test/upload_test.exs b/test/upload_test.exs index 71041e83c..f90c4d713 100644 --- a/test/upload_test.exs +++ b/test/upload_test.exs @@ -9,5 +9,17 @@ defmodule Pleroma.UploadTest do assert data["name"] == "an [image.jpg" assert List.first(data["url"])["href"] == "http://localhost:4001/media/#{data["uuid"]}/an%20%5Bimage.jpg" end + + test "fixes an incorrect content type" do + file = %Plug.Upload{content_type: "application/octet-stream", path: Path.absname("test/fixtures/image.jpg"), filename: "an [image.jpg"} + data = Upload.store(file) + assert hd(data["url"])["mediaType"] == "image/jpeg" + end + + test "does not modify a valid content type" do + file = %Plug.Upload{content_type: "image/png", path: Path.absname("test/fixtures/image.jpg"), filename: "an [image.jpg"} + data = Upload.store(file) + assert hd(data["url"])["mediaType"] == "image/png" + end end end diff --git a/test/web/mastodon_api/account_view_test.exs b/test/web/mastodon_api/account_view_test.exs index c62cb4f36..eccfe0b36 100644 --- a/test/web/mastodon_api/account_view_test.exs +++ b/test/web/mastodon_api/account_view_test.exs @@ -8,7 +8,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do user = insert(:user, %{info: %{"note_count" => 5, "follower_count" => 3}, nickname: "shp@shitposter.club", inserted_at: ~N[2017-08-15 15:47:06.597036]}) expected = %{ - id: user.id, + id: to_string(user.id), username: "shp", acct: user.nickname, display_name: user.name, @@ -37,7 +37,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do user = insert(:user) expected = %{ - id: user.id, + id: to_string(user.id), acct: user.nickname, username: user.nickname, url: user.ap_id @@ -54,7 +54,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do {:ok, user} = User.block(user, other_user) expected = %{ - id: other_user.id, + id: to_string(other_user.id), following: true, followed_by: false, blocking: true, diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index e876b0af4..f506d56a1 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -81,7 +81,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/accounts/verify_credentials") assert %{"id" => id} = json_response(conn, 200) - assert id == user.id + assert id == to_string(user.id) end test "get a status", %{conn: conn} do @@ -263,7 +263,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert [relationship] = json_response(conn, 200) - assert other_user.id == relationship["id"] + assert to_string(other_user.id) == relationship["id"] end end @@ -274,7 +274,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/accounts/#{user.id}") assert %{"id" => id} = json_response(conn, 200) - assert id == user.id + assert id == to_string(user.id) conn = build_conn() |> get("/api/v1/accounts/-1") @@ -319,7 +319,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/accounts/#{other_user.id}/followers") assert [%{"id" => id}] = json_response(conn, 200) - assert id = user.id + assert id == to_string(user.id) end test "getting following", %{conn: conn} do @@ -331,7 +331,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/accounts/#{user.id}/following") assert [%{"id" => id}] = json_response(conn, 200) - assert id = other_user.id + assert id == to_string(other_user.id) end test "following / unfollowing a user", %{conn: conn} do @@ -357,7 +357,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> post("/api/v1/follows", %{"uri" => other_user.nickname}) assert %{"id" => id} = json_response(conn, 200) - assert id == other_user.id + assert id == to_string(other_user.id) end test "blocking / unblocking a user", %{conn: conn} do @@ -388,7 +388,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> assign(:user, user) |> get("/api/v1/blocks") - other_user_id = other_user.id + other_user_id = to_string(other_user.id) assert [%{"id" => ^other_user_id}] = json_response(conn, 200) end @@ -403,7 +403,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> post("/api/v1/accounts/#{other_user.id}/#{endpoint}") assert %{"id" => id} = json_response(conn, 200) - assert id == other_user.id + assert id == to_string(other_user.id) end) end @@ -430,7 +430,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do |> get("/api/v1/accounts/search", %{"q" => "2hu"}) assert [account] = json_response(conn, 200) - assert account["id"] == user_three.id + assert account["id"] == to_string(user_three.id) end test "search", %{conn: conn} do @@ -447,7 +447,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert results = json_response(conn, 200) [account] = results["accounts"] - assert account["id"] == user_three.id + assert account["id"] == to_string(user_three.id) assert results["hashtags"] == [] @@ -455,6 +455,15 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert status["id"] == to_string(activity.id) end + test "search fetches remote statuses", %{conn: conn} do + conn = conn + |> get("/api/v1/search", %{"q" => "https://shitposter.club/notice/2827873"}) + assert results = json_response(conn, 200) + + [status] = results["statuses"] + assert status["uri"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment" + end + test "search fetches remote accounts", %{conn: conn} do conn = conn |> get("/api/v1/search", %{"q" => "shp@social.heldscal.la", "resolve" => "true"}) @@ -480,4 +489,54 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do assert [status] = json_response(conn, 200) assert status["id"] == to_string(activity.id) end + + describe "updating credentials" do + test "updates the user's bio" do + user = insert(:user) + + conn = conn + |> assign(:user, user) + |> patch("/api/v1/accounts/update_credentials", %{"note" => "I drink #cofe"}) + + assert user = json_response(conn, 200) + assert user["note"] == "I drink #cofe" + end + + test "updates the user's name" do + user = insert(:user) + + conn = conn + |> assign(:user, user) + |> patch("/api/v1/accounts/update_credentials", %{"display_name" => "markorepairs"}) + + assert user = json_response(conn, 200) + assert user["display_name"] == "markorepairs" + end + + test "updates the user's avatar" do + user = insert(:user) + + new_avatar = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an_image.jpg"} + + conn = conn + |> assign(:user, user) + |> patch("/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) + + assert user = json_response(conn, 200) + assert user["avatar"] != "https://placehold.it/48x48" + end + + test "updates the user's banner" do + user = insert(:user) + + new_header = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an_image.jpg"} + + conn = conn + |> assign(:user, user) + |> patch("/api/v1/accounts/update_credentials", %{"header" => new_header}) + + assert user = json_response(conn, 200) + assert user["header"] != "https://placehold.it/700x335" + end + end end diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs index 69d86ea82..601e551a9 100644 --- a/test/web/mastodon_api/status_view_test.exs +++ b/test/web/mastodon_api/status_view_test.exs @@ -103,5 +103,6 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do assert represented[:id] == to_string(reblog.id) assert represented[:reblog][:id] == to_string(activity.id) + assert represented[:emojis] == [] end end |