### Plan de tests (fonctionnels et intégration UI) Ce document recense les cas de test à couvrir. Il ne fournit pas encore d’implémentation outillée. ### Authentification 4NK - Accès `/login` et affichage de la modal sur soumission d’un identifiant ≠ `1234` - Activation du **mode démo** en saisissant `1234` et redirection vers `/dashboard` - Stockage des tokens en session (mock) et récupération du `pairingId` - Comportement lorsque l’iframe ne répond pas (timeouts et messages d’erreur) ### Dashboard - Affichage des badges « Mode Démo » quand le mock est actif - Rendu des indicateurs de stockage (barres de progression et valeurs) - Chat intégré en tête de page (présence et saisie), conversation globale « My Work » en premier - Navigation latérale (mise en surbrillance de la page active, libellé « My work ») - Intégration du chat dans la page: la section Messages est visible et fonctionnelle (liste + saisie) - Ordre des sections: le chat apparaît avant « Documents récents » et « Activité récente » - Suppression du menu Chat: l’item « Messages » n’apparaît plus dans la sidebar - Indicateur « NEW » visible pour documents/dossiers récents (vue liste et grille) - Indicateurs sous le chat: Stockage permanent, Stockage temporaire, Nouveaux dossiers ### Formulaire de contact (`/contact`) - Validation client (description ≥ 10 caractères) - Envoi: sérialisation des champs vers `FormData`, appel `submitContactForm` - Validation serveur (zod) et gestion des erreurs (messages compréhensibles) - Succès: reset du formulaire et rendu de la carte de confirmation ### Demande de devis formation (`/formation` → devis) - Vérification des champs obligatoires côté serveur (zod) - Envoi de l’email vers `contact@docv.fr` - Gestion des erreurs SMTP (variables manquantes, échec de transport) ### Emailing (lib/email.ts) - Absence de variables SMTP → échec contrôlé et message explicite - Construction des emails HTML et texte (présence des champs, remplacements `\n` → `
`) ### Users (invitations par passphrase) - Modale d’invitation: rôle obligatoire, email optionnel, titre document/dossier optionnel - Passphrase visible: 4 mots (liste interne) + code 6 caractères, bouton « Copier » - Lien d’invitation généré et copiable - Envoi d’email optionnel: contenu inclut rôle, contexte, passphrase et lien (si fourni) - Notification de validation: récapitulatif contexte + mots + code ### Accessibilité et UI - Focus management, labels et `aria-` sur les composants d’entrée - Contraste et lisibilité des messages d’erreur/succès