Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion adoption_sources/rescue_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,17 @@ def _build_species_filters(species: Sequence[str]) -> tuple[list[dict], str]:
documented RescueGroups multi-species search example. #124 was silently
rejected by the live API (zero results), so any change here must be
re-verified against the real API (tests/test_rescue_groups_live.py).

The API's documented operations are ``equal``/``notequal``/``contains``/
etc. -- there is no ``equals``, and an unrecognized operation is silently
ignored, which is why #124 returned zero results.
"""
if not species:
raise ValueError("At least one species is required")
filters = [
{
"fieldName": "species.singular",
"operation": "equals",
"operation": "equal",
"criteria": FILTER_SPECIES_SINGULAR[plural],
}
for plural in species
Expand Down
Empty file added cutepets.log
Empty file.
8 changes: 4 additions & 4 deletions tests/test_rescue_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ def test_two_species_uses_or_filter_processing(self):
self.assertEqual(
filters,
[
{"fieldName": "species.singular", "operation": "equals", "criteria": "Dog"},
{"fieldName": "species.singular", "operation": "equals", "criteria": "Cat"},
{"fieldName": "species.singular", "operation": "equal", "criteria": "Dog"},
{"fieldName": "species.singular", "operation": "equal", "criteria": "Cat"},
],
)
self.assertEqual(filter_processing, "1 OR 2")
Expand Down Expand Up @@ -174,8 +174,8 @@ def test_posts_single_multi_species_request(self, mock_session_factory):
self.assertEqual(
payload["data"]["filters"],
[
{"fieldName": "species.singular", "operation": "equals", "criteria": "Dog"},
{"fieldName": "species.singular", "operation": "equals", "criteria": "Cat"},
{"fieldName": "species.singular", "operation": "equal", "criteria": "Dog"},
{"fieldName": "species.singular", "operation": "equal", "criteria": "Cat"},
],
)
self.assertEqual(payload["data"]["filterProcessing"], "1 OR 2")
Expand Down
Loading