From cc27c2d99eaed813083ed3f0c013f57bcaafd7ad Mon Sep 17 00:00:00 2001 From: Rutger <35080130+Rutgerdj@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:57:56 +0100 Subject: [PATCH] Add test to verify that the extra row fetched in pagination is not passed to after_action --- test/page_test.exs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/page_test.exs b/test/page_test.exs index fcc340dc20..126e7f33dc 100644 --- a/test/page_test.exs +++ b/test/page_test.exs @@ -13,6 +13,11 @@ defmodule ThisTest.Obj do defaults [:read, create: :*] read :list_objs do + prepare after_action(fn _, results, _ -> + Process.put(:after_action_result_count, length(results)) + {:ok, results} + end) + pagination do keyset? true offset? true @@ -79,6 +84,10 @@ defmodule Ash.Test.PageTest do describe "offset" do test "pass", %{ids: ids} do p1 = ThisTest.Domain.list_objs!(page: [offset: 0]) + + # Default limit is 3 + assert Process.get(:after_action_result_count) == 3 + assert %Ash.Page.Offset{results: [_, _, _], more?: true} = p1 assert p1.results |> Enum.map(& &1.id) == Enum.drop(ids, 0) |> Enum.take(3)