logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: a0f42ecbca7d1aabc0fb699084865231e32ec6d9
parent: 705ea1b975779180c15d7b32d22f7fb9a11b2ed9
Author: rinpatch <rinpatch@sdf.org>
Date:   Fri, 27 Sep 2019 23:09:07 +0000

Merge branch 'fix/empty-attachment-statuses' into 'develop'

Fix not being able to post empty statuses with attachments

See merge request pleroma/pleroma!1734

Diffstat:

Mlib/pleroma/web/common_api/activity_draft.ex2+-
Mtest/web/mastodon_api/controllers/status_controller_test.exs22++++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/lib/pleroma/web/common_api/activity_draft.ex b/lib/pleroma/web/common_api/activity_draft.ex @@ -40,11 +40,11 @@ defmodule Pleroma.Web.CommonAPI.ActivityDraft do |> put_params(params) |> status() |> summary() + |> with_valid(&attachments/1) |> full_payload() |> expires_at() |> poll() |> with_valid(&in_reply_to/1) - |> with_valid(&attachments/1) |> with_valid(&in_reply_to_conversation/1) |> with_valid(&visibility/1) |> content() diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs @@ -99,6 +99,28 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do NaiveDateTime.to_iso8601(expiration.scheduled_at) end + test "posting an empty status with an attachment", %{conn: conn} do + user = insert(:user) + + file = %Plug.Upload{ + content_type: "image/jpg", + path: Path.absname("test/fixtures/image.jpg"), + filename: "an_image.jpg" + } + + {:ok, upload} = ActivityPub.upload(file, actor: user.ap_id) + + conn = + conn + |> assign(:user, user) + |> post("/api/v1/statuses", %{ + "media_ids" => [to_string(upload.id)], + "status" => "" + }) + + assert json_response(conn, 200) + end + test "replying to a status", %{conn: conn} do user = insert(:user) {:ok, replied_to} = CommonAPI.post(user, %{"status" => "cofe"})