- 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>
38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
"""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()
|