updated tests

This commit is contained in:
Maksim Pechnikov 2019-09-23 22:37:30 +03:00
parent 179fa32dd5
commit 494bb6bac6
3 changed files with 35 additions and 26 deletions

View file

@ -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

View file

@ -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"]

View file

@ -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