Code/tests/integration/test_fiches.py
Stéphan Peccini cf91d0b69e
test(integration): 3 scénarios E2E Playwright (Fiches, Analyse, Plan d'action)
- Infrastructure test : StreamlitApp helper, réinitialisation session, serveur dédié port 8502
- Scénario Fiches : sélection dossier Assemblage + fiche casques VR
- Scénario Analyse : Serveur→Pays géo, Germanium, Chine, filtre IHH Pays, vérification Sankey
- Scénario Plan d'action : Serveur + Germanium, vérification dashboard criticités

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 11:52:40 +01:00

38 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""Test E2E Scénario 1 : Navigation et affichage des fiches."""
import pytest
from playwright.sync_api import expect
pytestmark = pytest.mark.integration
def test_selectionner_dossier_et_fiche(app):
"""Sélectionne Assemblage puis la première fiche et vérifie le contenu."""
page = app.page
# Naviguer vers l'onglet Fiches
app.naviguer_vers("Fiches")
expect(page.get_by_role("heading", name="Découverte des fiches")).to_be_visible(timeout=10000)
# Sélectionner le dossier Assemblage
app.choisir_selectbox("catégorie de fiches", "Assemblage")
expect(page.get_by_text("Choisissez une fiche")).to_be_visible(timeout=10000)
# Sélectionner la première fiche (pattern unique pour éviter l'ambiguïté avec "catégorie de fiches")
app.choisir_selectbox("Choisissez une fiche", "Fiche assemblage casques VR.md")
# Vérifier le titre de la fiche
expect(page.get_by_role("heading", name="Fiche assemblage Casque VR")).to_be_visible(timeout=10000)
# Vérifier les sections principales (les titres apparaissent dans <summary> et <h2>,
# on utilise .first pour éviter la strict mode violation)
expect(page.get_by_text("Présentation synthétique").first).to_be_visible()
expect(page.get_by_text("Composants assemblés").first).to_be_visible()
expect(page.get_by_text("Principaux assembleurs").first).to_be_visible()
# Vérifier le tableau de version
expect(page.get_by_text("Version initiale")).to_be_visible()
# Vérifier la section tickets
expect(page.get_by_text("Gestion des tickets")).to_be_visible()