fix for packs pagination
This commit is contained in:
parent
02ca8a363f
commit
1a704e1f1e
@ -32,8 +32,8 @@ defmodule Pleroma.Emoji.Pack do
|
|||||||
|
|
||||||
defp paginate(entities, page, page_size) do
|
defp paginate(entities, page, page_size) do
|
||||||
entities
|
entities
|
||||||
|> Enum.take(page * page_size)
|
|> Enum.chunk_every(page_size)
|
||||||
|> Enum.take(-page_size)
|
|> Enum.at(page - 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
@spec show(keyword()) :: {:ok, t()} | {:error, atom()}
|
@spec show(keyword()) :: {:ok, t()} | {:error, atom()}
|
||||||
@ -470,7 +470,7 @@ defmodule Pleroma.Emoji.Pack do
|
|||||||
# with the API so it should be sufficient
|
# with the API so it should be sufficient
|
||||||
with {:create_dir, :ok} <- {:create_dir, File.mkdir_p(emoji_path)},
|
with {:create_dir, :ok} <- {:create_dir, File.mkdir_p(emoji_path)},
|
||||||
{:ls, {:ok, results}} <- {:ls, File.ls(emoji_path)} do
|
{:ls, {:ok, results}} <- {:ls, File.ls(emoji_path)} do
|
||||||
{:ok, results}
|
{:ok, Enum.sort(results)}
|
||||||
else
|
else
|
||||||
{:create_dir, {:error, e}} -> {:error, :create_dir, e}
|
{:create_dir, {:error, e}} -> {:error, :create_dir, e}
|
||||||
{:ls, {:error, e}} -> {:error, :ls, e}
|
{:ls, {:error, e}} -> {:error, :ls, e}
|
||||||
|
@ -31,6 +31,11 @@ defmodule Pleroma.Web.PleromaAPI.EmojiPackControllerTest do
|
|||||||
resp = conn |> get("/api/pleroma/emoji/packs") |> json_response_and_validate_schema(200)
|
resp = conn |> get("/api/pleroma/emoji/packs") |> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
assert resp["count"] == 3
|
assert resp["count"] == 3
|
||||||
|
|
||||||
|
assert resp["packs"]
|
||||||
|
|> Map.keys()
|
||||||
|
|> length() == 3
|
||||||
|
|
||||||
shared = resp["packs"]["test_pack"]
|
shared = resp["packs"]["test_pack"]
|
||||||
assert shared["files"] == %{"blank" => "blank.png", "blank2" => "blank2.png"}
|
assert shared["files"] == %{"blank" => "blank.png", "blank2" => "blank2.png"}
|
||||||
assert Map.has_key?(shared["pack"], "download-sha256")
|
assert Map.has_key?(shared["pack"], "download-sha256")
|
||||||
@ -47,7 +52,12 @@ defmodule Pleroma.Web.PleromaAPI.EmojiPackControllerTest do
|
|||||||
|> json_response_and_validate_schema(200)
|
|> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
assert resp["count"] == 3
|
assert resp["count"] == 3
|
||||||
[pack1] = Map.keys(resp["packs"])
|
|
||||||
|
packs = Map.keys(resp["packs"])
|
||||||
|
|
||||||
|
assert length(packs) == 1
|
||||||
|
|
||||||
|
[pack1] = packs
|
||||||
|
|
||||||
resp =
|
resp =
|
||||||
conn
|
conn
|
||||||
@ -55,7 +65,9 @@ defmodule Pleroma.Web.PleromaAPI.EmojiPackControllerTest do
|
|||||||
|> json_response_and_validate_schema(200)
|
|> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
assert resp["count"] == 3
|
assert resp["count"] == 3
|
||||||
[pack2] = Map.keys(resp["packs"])
|
packs = Map.keys(resp["packs"])
|
||||||
|
assert length(packs) == 1
|
||||||
|
[pack2] = packs
|
||||||
|
|
||||||
resp =
|
resp =
|
||||||
conn
|
conn
|
||||||
@ -63,7 +75,9 @@ defmodule Pleroma.Web.PleromaAPI.EmojiPackControllerTest do
|
|||||||
|> json_response_and_validate_schema(200)
|
|> json_response_and_validate_schema(200)
|
||||||
|
|
||||||
assert resp["count"] == 3
|
assert resp["count"] == 3
|
||||||
[pack3] = Map.keys(resp["packs"])
|
packs = Map.keys(resp["packs"])
|
||||||
|
assert length(packs) == 1
|
||||||
|
[pack3] = packs
|
||||||
assert [pack1, pack2, pack3] |> Enum.uniq() |> length() == 3
|
assert [pack1, pack2, pack3] |> Enum.uniq() |> length() == 3
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user