diff --git a/src/postgrest/tests/_async/test_request_builder.py b/src/postgrest/tests/_async/test_request_builder.py index 9cdc0baa..5e077eee 100644 --- a/src/postgrest/tests/_async/test_request_builder.py +++ b/src/postgrest/tests/_async/test_request_builder.py @@ -45,6 +45,20 @@ def test_select_with_head(self, request_builder: AsyncRequestBuilder): assert builder.request.http_method == "HEAD" assert builder.request.json is None + def test_select_with_head_and_embedded_filter( + self, request_builder: AsyncRequestBuilder + ): + builder = ( + request_builder + .select("*, ref!inner(*)", count=CountMethod.exact, head=True) + .eq("ref.foo", 123) + ) + + assert builder.request.params["select"] == "*,ref!inner(*)" + assert builder.request.params["ref.foo"] == "eq.123" + assert builder.request.headers["prefer"] == "count=exact" + assert builder.request.http_method == "HEAD" + def test_select_as_csv(self, request_builder: AsyncRequestBuilder): builder = request_builder.select("*").csv() diff --git a/src/postgrest/tests/_sync/test_request_builder.py b/src/postgrest/tests/_sync/test_request_builder.py index 435f8ab5..ba9b4ba3 100644 --- a/src/postgrest/tests/_sync/test_request_builder.py +++ b/src/postgrest/tests/_sync/test_request_builder.py @@ -45,6 +45,20 @@ def test_select_with_head(self, request_builder: SyncRequestBuilder): assert builder.request.http_method == "HEAD" assert builder.request.json is None + def test_select_with_head_and_embedded_filter( + self, request_builder: SyncRequestBuilder + ): + builder = ( + request_builder + .select("*, ref!inner(*)", count=CountMethod.exact, head=True) + .eq("ref.foo", 123) + ) + + assert builder.request.params["select"] == "*,ref!inner(*)" + assert builder.request.params["ref.foo"] == "eq.123" + assert builder.request.headers["prefer"] == "count=exact" + assert builder.request.http_method == "HEAD" + def test_select_as_csv(self, request_builder: SyncRequestBuilder): builder = request_builder.select("*").csv()