mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-20 09:43:29 +00:00
test: assert unregistered id-field queries actually match nothing
test_unregistered_id_field_folds_to_literal_text_not_error only checked that parse_user_query() didn't raise for a query like tag_id:5. Add a result-level acceptance test (matching test_acceptance.py's _matched_ids pattern, indexed against real documents) that asserts the matched-document-ID set is genuinely empty, not just that the parse step succeeds.
This commit is contained in:
committed by
stumpylog
parent
f5e7d309af
commit
35917be2d4
@@ -245,3 +245,19 @@ class TestMultitokenInNestedOr:
|
||||
backend.add_or_update(doc_b)
|
||||
matched = _matched_ids(backend, 'tag:"multi word tag" OR title:B')
|
||||
assert matched == {doc_a.pk, doc_b.pk}
|
||||
|
||||
|
||||
class TestUnregisteredIdFieldFoldsToLiteralText:
|
||||
"""tag_id, owner_id, etc. are intentionally excluded from the
|
||||
FieldRegistry - whoosh-compat parity leniency folds them into a literal
|
||||
text search rather than raising a diagnostic/400 (see docs/usage.md's
|
||||
advanced-search section). Prove the fold is inert against real data, not
|
||||
just that parsing doesn't raise."""
|
||||
|
||||
def test_tag_id_query_matches_nothing(
|
||||
self,
|
||||
backend: TantivyBackend,
|
||||
indexed_documents: dict[str, int],
|
||||
) -> None:
|
||||
matched = _matched_ids(backend, "tag_id:5")
|
||||
assert matched == set()
|
||||
|
||||
Reference in New Issue
Block a user