Skip to content

✅ Stratégie de Tests et Qualité

Le projet SK_CAPACITOR_DISPLAY suit une stratégie de test rigoureuse pour garantir la stabilité de l'application sur un parc matériel extrêmement hétérogène (Android, LG, Samsung, Chromecast, etc.).


🏗️ Niveaux de Tests

L'application est couverte par trois niveaux de tests complémentaires :

1. Tests Unitaires & d'Intégration (Vitest)

Ces tests valident la logique métier, les services, les stores et les utilitaires de manière isolée.

  • Outil : Vitest
  • Emplacement : Fichiers .spec.ts ou .test.ts situés à côté du code source dans src/.
  • Exécution : npm test
  • Couverture notable :
    • cmsPipeline.spec.ts : Validation du flux de démarrage et de récupération des données.
    • selectable.ts : Test du moteur de navigation au focus (D-pad).
    • contextStore.test.ts : Vérification de l'injection des variables Mustache et de la localisation.
    • appLauncher.spec.ts : Validation des stratégies de lancement d'applications par plateforme.

2. Tests End-to-End (Playwright)

Ces tests simulent des parcours utilisateurs complets dans un navigateur réel pour vérifier que les composants s'assemblent correctement.

  • Outil : Playwright
  • Emplacement : Dossier tests/ à la racine.
  • Exécution : npm run test:e2e (ou npm run test:e2e:ui pour le mode interactif).
  • Scénarios couverts :
    • focus-navigation.spec.ts : Simulation de navigation réelle avec les touches fléchées.
    • device-detection.spec.ts : Validation de l'identification correcte du type de matériel.
    • qr-generation.spec.ts : Vérification de l'affichage du QR Code d'association.
    • accessibility.spec.ts : Contrôle de la structure DOM et des rôles ARIA.

3. Vérification de Type & Linting

  • Typecheck : npm run typecheck (TypeScript strict).
  • Linting : npm run lint (ESLint avec règles personnalisées pour le projet).
  • Qualité Spécifique :
    • npm run lint:logs : Vérifie qu'aucun console.log n'a été oublié (doit utiliser le logger interne).
    • npm run lint:preferences : Valide l'usage correct du stockage local.

📺 Tests sur Matériel Réel

En raison des spécificités des OS de Smart TV, les tests automatisés sont complétés par des validations manuelles sur périphériques physiques :

  1. Déploiement Android : Utilisation de npx cap run android pour tester sur boîtier ou TV Android.
  2. Déploiement Tizen : Utilisation de tizen install pour pousser le package .wgt sur une TV Samsung de test.
  3. Debug à distance :
    • Android/Chromecast : via chrome://inspect.
    • LG webOS : via l'inspecteur sur le port 9998.
    • Samsung Tizen : via l'inspecteur Web de Tizen Studio.

🛠️ Outils de Diagnostique

L'application inclut des pages de debug internes (accessibles en mode développement) :

  • Bridge Debug : Pour simuler et visualiser les messages postMessage avec l'hôte.
  • Focus Debug : Overlay visuel affichant l'arborescence des éléments Selectable et l'élément actuellement focalisé.

Retour à l'accueil