updated tests
This commit is contained in:
parent
179fa32dd5
commit
494bb6bac6
3 changed files with 35 additions and 26 deletions
|
@ -44,6 +44,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|||
alias Pleroma.Web.OAuth.Authorization
|
||||
alias Pleroma.Web.OAuth.Scopes
|
||||
alias Pleroma.Web.OAuth.Token
|
||||
alias Pleroma.Web.RichMedia
|
||||
alias Pleroma.Web.TwitterAPI.TwitterAPI
|
||||
|
||||
alias Pleroma.Web.ControllerHelper
|
||||
|
@ -1530,19 +1531,16 @@ defp fetch_suggestion_id(attrs) do
|
|||
end
|
||||
end
|
||||
|
||||
def status_card(%{assigns: %{user: user}} = conn, %{"id" => status_id}) do
|
||||
with %Activity{} = activity <- Activity.get_by_id(status_id),
|
||||
def status_card(%{assigns: %{user: user}} = conn, %{"id" => id}) do
|
||||
with %Activity{} = activity <- Activity.get_by_id(id),
|
||||
true <- Visibility.visible_for_user?(activity, user) do
|
||||
data =
|
||||
StatusView.render(
|
||||
"card.json",
|
||||
Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity)
|
||||
)
|
||||
data = RichMedia.Helpers.fetch_data_for_activity(activity)
|
||||
|
||||
json(conn, data)
|
||||
conn
|
||||
|> put_view(StatusView)
|
||||
|> render("card.json", data)
|
||||
else
|
||||
_e ->
|
||||
json(conn, %{})
|
||||
_e -> {:error, :not_found}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -343,9 +343,7 @@ def render("card.json", %{rich_media: rich_media, page_url: page_url}) do
|
|||
}
|
||||
end
|
||||
|
||||
def render("card.json", _) do
|
||||
nil
|
||||
end
|
||||
def render("card.json", _), do: nil
|
||||
|
||||
def render("attachment.json", %{attachment: attachment}) do
|
||||
[attachment_url | _] = attachment["url"]
|
||||
|
|
|
@ -2798,6 +2798,18 @@ test "max pinned statuses", %{conn: conn, user: user, activity: activity_one} do
|
|||
%{user: user}
|
||||
end
|
||||
|
||||
test "returns empty result when rich_media disabled", %{conn: conn, user: user} do
|
||||
Config.put([:rich_media, :enabled], false)
|
||||
{:ok, activity} = CommonAPI.post(user, %{"status" => "https://example.com/ogp"})
|
||||
|
||||
response =
|
||||
conn
|
||||
|> get("/api/v1/statuses/#{activity.id}/card")
|
||||
|> json_response(200)
|
||||
|
||||
assert response == nil
|
||||
end
|
||||
|
||||
test "returns rich-media card", %{conn: conn, user: user} do
|
||||
{:ok, activity} = CommonAPI.post(user, %{"status" => "https://example.com/ogp"})
|
||||
|
||||
|
@ -2869,22 +2881,23 @@ test "replaces missing description with an empty string", %{conn: conn, user: us
|
|||
}
|
||||
end
|
||||
|
||||
test "returns empty object when id invalid", %{conn: conn} do
|
||||
response =
|
||||
conn
|
||||
|> get("/api/v1/statuses/9eoozpwTul5mjSEDRI/card")
|
||||
|> json_response(200)
|
||||
|
||||
assert response == %{}
|
||||
test "returns 404 response when id invalid", %{conn: conn} do
|
||||
assert %{"error" => "Record not found"} =
|
||||
conn
|
||||
|> get("/api/v1/statuses/9eoozpwTul5mjSEDRI/card")
|
||||
|> json_response(404)
|
||||
end
|
||||
|
||||
test "returns empty object when id isn't FlakeID", %{conn: conn} do
|
||||
response =
|
||||
conn
|
||||
|> get("/api/v1/statuses/3ebbadd1-eb14-4e20-8118/card")
|
||||
|> json_response(200)
|
||||
test "returns 404 response when id isn't FlakeID", %{conn: conn} do
|
||||
assert %{"error" => "Record not found"} =
|
||||
conn
|
||||
|> get("/api/v1/statuses/3ebbadd1-eb14-4e20-8118/card")
|
||||
|> json_response(404)
|
||||
|
||||
assert response == %{}
|
||||
assert %{"error" => "Record not found"} =
|
||||
conn
|
||||
|> get("/api/v1/statuses/8118/card")
|
||||
|> json_response(404)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue