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