Add support for sorting by various fields
This commit is contained in:
@@ -15,6 +15,7 @@ from hxbooks.search import (
|
||||
IsOperatorValue,
|
||||
QueryParser,
|
||||
SearchQuery,
|
||||
SortDirection,
|
||||
_convert_value, # noqa: PLC2701
|
||||
)
|
||||
|
||||
@@ -267,6 +268,21 @@ class TestTypeConversion:
|
||||
result = _convert_value(Field.IS, "invalid-status")
|
||||
assert result == IsOperatorValue.UNKNOWN
|
||||
|
||||
def test_convert_sort_field(self, parser: QueryParser) -> None:
|
||||
"""Test converting values for 'sort' field."""
|
||||
result = _convert_value(Field.SORT, "added")
|
||||
assert result == (Field.ADDED_DATE, SortDirection.ASC)
|
||||
|
||||
result = _convert_value(Field.SORT, "added-desc")
|
||||
assert result == (Field.ADDED_DATE, SortDirection.DESC)
|
||||
|
||||
# Invalid field or direction should fallback to a default value
|
||||
result = _convert_value(Field.SORT, "added-invalid")
|
||||
assert result == (Field.SORT, SortDirection.ASC)
|
||||
|
||||
result = _convert_value(Field.SORT, "invalid-asc")
|
||||
assert result == (Field.SORT, SortDirection.ASC)
|
||||
|
||||
|
||||
class TestParsingEdgeCases:
|
||||
"""Test edge cases and error handling in query parsing."""
|
||||
|
||||
Reference in New Issue
Block a user