improve event organizer search

This commit is contained in:
2026-07-05 17:53:33 +02:00
parent e57eb48c88
commit 36c01902a1
4 changed files with 78 additions and 2 deletions
+29
View File
@@ -4,6 +4,7 @@ import pytest
from django.core.exceptions import ValidationError
from django.db import connection
from django.test.utils import CaptureQueriesContext
from django.urls import reverse
from django.utils import timezone
from events.admin import EventDateColumn, OrganizersColumn
@@ -572,3 +573,31 @@ def test_graphql_event_index_returns_all_fields_for_comprehensive_event(
assert datetime.fromisoformat(venue_occ["end"]) == venue_occ_db.end
assert datetime.fromisoformat(custom_occ["start"]) == custom_occ_db.start
assert datetime.fromisoformat(custom_occ["end"]) == custom_occ_db.end
@pytest.fixture
def searchable_organizers(db):
return [
EventOrganizer.objects.create(name="Arrangementsutvalget", slug="arrangementsutvalget"),
EventOrganizer.objects.create(name="Cinema Neuf", slug="kino"),
]
@pytest.mark.parametrize(
"url_name",
["event_organizer_chooser:choose", "wagtailsnippets_events_eventorganizer:list"],
)
def test_organizer_search_matches_substrings_of_name_and_slug(
admin_client, searchable_organizers, url_name
):
url = reverse(url_name)
# mid-word match inside a compound name
content = admin_client.get(url, {"q": "utvalget"}).content.decode()
assert "Arrangementsutvalget" in content
assert "Cinema Neuf" not in content
# slug-only match
content = admin_client.get(url, {"q": "kino"}).content.decode()
assert "Cinema Neuf" in content
assert "Arrangementsutvalget" not in content