summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/upload_test.exs12
-rw-r--r--test/web/mastodon_api/account_view_test.exs6
-rw-r--r--test/web/mastodon_api/mastodon_api_controller_test.exs79
-rw-r--r--test/web/mastodon_api/status_view_test.exs1
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