9f85908ff3
- Modernized the frontend with HTMX for server-driven UI and Alpine.js for client state. - Refactored anime, player, and recommendation logic into modular routers. - Updated README.md to reflect the latest project state and technologies (v2.4). - Added Plyr.io for an improved streaming experience. - Improved project structure with componentized templates. - Added Playwright and Vitest configuration for frontend testing.
41 lines
1.8 KiB
Python
41 lines
1.8 KiB
Python
import pytest
|
|
from fastapi.testclient import TestClient
|
|
from main import app
|
|
|
|
client = TestClient(app)
|
|
|
|
def test_anime_search_htmx():
|
|
"""Vérifie que la recherche d'anime renvoie du HTML avec HTMX"""
|
|
response = client.get("/api/anime/search?q=Naruto", headers={"HX-Request": "true"})
|
|
assert response.status_code == 200
|
|
assert "search-results-container" in response.text
|
|
assert "anime-card" in response.text
|
|
|
|
def test_series_search_htmx():
|
|
"""Vérifie que la recherche de séries renvoie du HTML avec HTMX"""
|
|
response = client.get("/api/series/search?q=Breaking", headers={"HX-Request": "true"})
|
|
assert response.status_code == 200
|
|
assert "search-results-container" in response.text
|
|
# On vérifie que soit on a des résultats, soit le message "aucune série trouvée"
|
|
assert "anime-grid" in response.text or "aucune série TV trouvée" in response.text.lower()
|
|
|
|
def test_recommendations_htmx():
|
|
"""Vérifie que les recommandations renvoient du HTML"""
|
|
response = client.get("/api/recommendations", headers={"HX-Request": "true"})
|
|
assert response.status_code == 200
|
|
assert "recommendations-grid" in response.text
|
|
|
|
def test_latest_releases_htmx():
|
|
"""Vérifie que les sorties récentes renvoient du HTML"""
|
|
response = client.get("/api/releases/latest", headers={"HX-Request": "true"})
|
|
assert response.status_code == 200
|
|
assert "releases-grid" in response.text
|
|
|
|
def test_episode_list_htmx():
|
|
"""Vérifie que la liste des épisodes renvoie du HTML"""
|
|
# Utilisation d'un lien bidon pour tester le rendu du composant
|
|
test_url = "https://anime-sama.fr/anime/vostfr/naruto"
|
|
response = client.get(f"/api/anime/episodes?url={test_url}", headers={"HX-Request": "true"})
|
|
assert response.status_code == 200
|
|
assert "episode-list-container" in response.text
|