Merge branch 'fix/reblog-api' into 'develop'
Fix Reblog API Closes #2423 See merge request pleroma/pleroma!3261
This commit is contained in:
commit
958a7f6ed0
3 changed files with 34 additions and 1 deletions
|
@ -117,7 +117,7 @@ defmodule Pleroma.Web.ApiSpec.StatusOperation do
|
||||||
request_body("Parameters", %Schema{
|
request_body("Parameters", %Schema{
|
||||||
type: :object,
|
type: :object,
|
||||||
properties: %{
|
properties: %{
|
||||||
visibility: %Schema{allOf: [VisibilityScope], default: "public"}
|
visibility: %Schema{allOf: [VisibilityScope]}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
responses: %{
|
responses: %{
|
||||||
|
|
|
@ -744,6 +744,22 @@ defmodule Pleroma.Web.CommonAPITest do
|
||||||
refute Visibility.visible_for_user?(announce_activity, nil)
|
refute Visibility.visible_for_user?(announce_activity, nil)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "author can repeat own private statuses" do
|
||||||
|
author = insert(:user)
|
||||||
|
follower = insert(:user)
|
||||||
|
CommonAPI.follow(follower, author)
|
||||||
|
|
||||||
|
{:ok, activity} = CommonAPI.post(author, %{status: "cofe", visibility: "private"})
|
||||||
|
|
||||||
|
{:ok, %Activity{} = announce_activity} = CommonAPI.repeat(activity.id, author)
|
||||||
|
|
||||||
|
assert Visibility.is_private?(announce_activity)
|
||||||
|
refute Visibility.visible_for_user?(announce_activity, nil)
|
||||||
|
|
||||||
|
assert Visibility.visible_for_user?(activity, follower)
|
||||||
|
assert {:error, :not_found} = CommonAPI.repeat(activity.id, follower)
|
||||||
|
end
|
||||||
|
|
||||||
test "favoriting a status" do
|
test "favoriting a status" do
|
||||||
user = insert(:user)
|
user = insert(:user)
|
||||||
other_user = insert(:user)
|
other_user = insert(:user)
|
||||||
|
|
|
@ -954,6 +954,23 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
|
||||||
|
|
||||||
assert to_string(activity.id) == id
|
assert to_string(activity.id) == id
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "author can reblog own private status", %{conn: conn, user: user} do
|
||||||
|
{:ok, activity} = CommonAPI.post(user, %{status: "cofe", visibility: "private"})
|
||||||
|
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> put_req_header("content-type", "application/json")
|
||||||
|
|> post("/api/v1/statuses/#{activity.id}/reblog")
|
||||||
|
|
||||||
|
assert %{
|
||||||
|
"reblog" => %{"id" => id, "reblogged" => true, "reblogs_count" => 1},
|
||||||
|
"reblogged" => true,
|
||||||
|
"visibility" => "private"
|
||||||
|
} = json_response_and_validate_schema(conn, 200)
|
||||||
|
|
||||||
|
assert to_string(activity.id) == id
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "unreblogging" do
|
describe "unreblogging" do
|
||||||
|
|
Loading…
Reference in a new issue