Fix blocks import

This commit is contained in:
Egor Kislitsyn 2020-04-22 18:13:13 +04:00
parent 88b82e5c3e
commit e7771424a8
2 changed files with 26 additions and 2 deletions

View file

@ -216,7 +216,8 @@ def blocks_import(conn, %{"list" => %Plug.Upload{} = listfile}) do
end
def blocks_import(%{assigns: %{user: blocker}} = conn, %{"list" => list}) do
User.blocks_import(blocker, _blocked_identifiers = String.split(list))
blocked_identifiers = list |> String.split() |> Enum.map(&String.trim_leading(&1, "@"))
User.blocks_import(blocker, blocked_identifiers)
json(conn, "job started")
end

View file

@ -96,7 +96,7 @@ test "requires 'follow' or 'write:follows' permissions" do
end
end
test "it imports with different nickname variations", %{conn: conn} do
test "it imports follows with different nickname variations", %{conn: conn} do
[user2, user3, user4, user5, user6] = insert_list(5, :user)
identifiers =
@ -160,6 +160,29 @@ test "it imports blocks users from file", %{user: user1, conn: conn} do
)
end
end
test "it imports blocks with different nickname variations", %{conn: conn} do
[user2, user3, user4, user5, user6] = insert_list(5, :user)
identifiers =
[
user2.ap_id,
user3.nickname,
"@" <> user4.nickname,
user5.nickname <> "@localhost",
"@" <> user6.nickname <> "@localhost"
]
|> Enum.join(" ")
response =
conn
|> post("/api/pleroma/blocks_import", %{"list" => identifiers})
|> json_response(:ok)
assert response == "job started"
assert [job_result] = ObanHelpers.perform_all()
assert job_result == [user2, user3, user4, user5, user6]
end
end
describe "PUT /api/pleroma/notification_settings" do