Improve search quality, ORM efficiency, and filter consistency
This commit is contained in:
@ -4,6 +4,8 @@ import pytest
|
||||
from django.contrib.auth.models import User
|
||||
from django.urls import reverse
|
||||
|
||||
from apps.ingestion.models import IngestionRun
|
||||
from apps.ingestion.services.sync import run_sync_job
|
||||
from apps.players.models import Nationality, Player, Position, Role
|
||||
from apps.scouting.models import SavedSearch
|
||||
|
||||
@ -47,3 +49,25 @@ def test_saved_search_run_filters_player_results(client):
|
||||
assert response.status_code == 200
|
||||
assert "Marco Rossi" in response.content.decode()
|
||||
assert "Luca Bianchi" not in response.content.decode()
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_ingestion_output_is_searchable_in_ui_and_api(settings, client):
|
||||
settings.PROVIDER_DEFAULT_NAMESPACE = "mvp_demo"
|
||||
run = run_sync_job(provider_namespace="mvp_demo", job_type=IngestionRun.JobType.FULL_SYNC)
|
||||
assert run.status == IngestionRun.RunStatus.SUCCESS
|
||||
|
||||
player = Player.objects.filter(origin_competition__isnull=False).order_by("id").first()
|
||||
assert player is not None
|
||||
assert player.origin_competition_id is not None
|
||||
|
||||
params = {"origin_competition": player.origin_competition_id}
|
||||
ui_response = client.get(reverse("players:index"), data=params)
|
||||
api_response = client.get(reverse("api:players"), data=params)
|
||||
|
||||
assert ui_response.status_code == 200
|
||||
assert api_response.status_code == 200
|
||||
ui_ids = {item.id for item in ui_response.context["players"]}
|
||||
api_ids = {item["id"] for item in api_response.json()["results"]}
|
||||
assert player.id in ui_ids
|
||||
assert player.id in api_ids
|
||||
|
||||
Reference in New Issue
Block a user