68 KiB
Cahier de Tests - OptiqueStock
Application de Gestion de Magasin d'Optique
Version: 1.0
Date de création: 27 février 2026
Auteur: Z.ai Code
Application: OptiqueStock - Next.js 16 + Prisma + SQLite
Table des Matières
- Introduction
- Environnement de Test
- Module 1: Gestion des Clients
- Module 2: Gestion des Produits
- Module 3: Gestion des Fournisseurs
- Module 4: Achats & Stock
- Module 5: Point de Vente (POS)
- Module 6: Atelier
- Module 7: Rapports
- Tests Intégrateurs
- Tests de Performance
Introduction
Objectif du Cahier de Tests
Ce cahier de tests définit l'ensemble des tests fonctionnels à effectuer pour valider le bon fonctionnement de l'application OptiqueStock. Il couvre tous les modules de l'application et permet de s'assurer que chaque fonctionnalité répond aux spécifications requises.
Périmètre
- Tests fonctionnels de tous les modules
- Tests d'intégration entre modules
- Tests de flux métier complets
- Validation des calculs optiques
- Vérification des exports de données
Conventions
- ✅ = Test réussi
- ❌ = Test échoué
- ⚠️ = Test avec avertissements
- 🔄 = En cours
- N/A = Non applicable
Environnement de Test
Pré-requis Techniques
- Navigateur moderne (Chrome, Firefox, Safari, Edge)
- Connexion internet active
- JavaScript activé
- Cookies autorisés
Pré-requis Données
- Base de données SQLite initialisée
- Schéma Prisma synchronisé
- Aucun compte admin requis pour ce test
Accès à l'Application
- URL de développement: Panneau de prévisualisation à droite
- Environnement: Développement local
Module 1: Gestion des Clients
1.1 Liste des Clients
Test 1.1.1: Affichage de la liste des clients
ID: TC-CLI-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier que la liste des clients s'affiche correctement avec toutes les informations.
Préconditions:
- Avoir au moins un client en base de données
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Gestion Clients" depuis la page d'accueil
- Observer l'affichage de la liste des clients
- Vérifier les colonnes visibles: Nom, Prénom, Téléphone, Ville, Date de création, Actions
Résultats attendus:
- La liste des clients s'affiche immédiatement
- Les colonnes sont présentes et bien alignées
- Les données sont correctes pour chaque client
- Un bouton "Nouveau Client" est visible
- Une barre de recherche est présente
- Le nombre total de clients est affiché
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 1.1.2: Recherche de clients
ID: TC-CLI-002
Priorité: Haute
Type: Fonctionnel
Description: Vérifier que la recherche de clients fonctionne correctement.
Préconditions:
- Avoir au moins 3 clients en base de données
- Être sur la page de la liste des clients
Étapes de test:
- Dans la barre de recherche, saisir le nom d'un client existant (ex: "Dupont")
- Observer le filtrage des résultats
- Saisir un numéro de téléphone existant
- Observer le filtrage des résultats
- Saisir un texte qui ne correspond à aucun client
- Vérifier l'affichage
Résultats attendus:
- La recherche par nom fonctionne
- La recherche par téléphone fonctionne
- Les résultats se mettent à jour en temps réel
- Un message "Aucun client trouvé" s'affiche si aucun résultat
- La recherche est insensible à la casse
Critère de réussite: Tous les critères ci-dessus doivent être validés
1.2 Création d'un Client
Test 1.2.1: Création client valide
ID: TC-CLI-003
Priorité: Critique
Type: Fonctionnel
Description: Créer un nouveau client avec toutes les informations valides.
Préconditions:
- Être sur la page de la liste des clients
Étapes de test:
- Cliquer sur le bouton "Nouveau Client"
- Remplir le formulaire avec:
- Nom: "Martin"
- Prénom: "Sophie"
- Email: "sophie.martin@test.com"
- Téléphone: "0612345678"
- Adresse: "15 Rue de la Paix"
- Ville: "Paris"
- Code postal: "75001"
- Date de naissance: "15/05/1985"
- Notes: "Client VIP"
- Cliquer sur "Enregistrer"
- Vérifier que le client apparaît dans la liste
- Cliquer sur le bouton "Voir" pour ce client
Résultats attendus:
- Le formulaire s'ouvre dans une boîte de dialogue
- Tous les champs sont remplis correctement
- Le bouton "Enregistrer" est actif
- Le client est créé avec succès
- Un message de confirmation s'affiche
- Le nouveau client apparaît dans la liste
- Les détails du client s'affichent correctement
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 1.2.2: Création client avec champs obligatoires manquants
ID: TC-CLI-004
Priorité: Haute
Type: Validation
Description: Vérifier que la validation empêche la création sans nom ou prénom.
Préconditions:
- Être sur le formulaire de création de client
Étapes de test:
- Cliquer sur "Nouveau Client"
- Ne remplir que l'email et le téléphone
- Cliquer sur "Enregistrer"
- Vérifier les messages d'erreur
Résultats attendus:
- Le formulaire ne se valide pas
- Des messages d'erreur s'affichent pour le nom
- Des messages d'erreur s'affichent pour le prénom
- Le client n'est pas créé
- Le formulaire reste ouvert
Critère de réussite: Tous les critères ci-dessus doivent être validés
1.3 Modification d'un Client
Test 1.3.1: Modification client existant
ID: TC-CLI-005
Priorité: Haute
Type: Fonctionnel
Description: Modifier les informations d'un client existant.
Préconditions:
- Avoir un client existant
- Être sur la page de détail du client
Étapes de test:
- Cliquer sur le bouton "Voir" d'un client
- Cliquer sur le bouton "Modifier"
- Changer le téléphone: "0698765432"
- Ajouter des notes: "Préférence pour montures en titane"
- Cliquer sur "Mettre à jour"
- Vérifier que les modifications sont enregistrées
Résultats attendus:
- Le formulaire pré-rempli avec les données actuelles
- Les modifications sont enregistrées avec succès
- Les informations mises à jour s'affichent
- Un message de confirmation s'affiche
- La date de modification est mise à jour
Critère de réussite: Tous les critères ci-dessus doivent être validés
1.4 Suppression d'un Client
Test 1.4.1: Suppression client sans données associées
ID: TC-CLI-006
Priorité: Moyenne
Type: Fonctionnel
Description: Supprimer un client qui n'a pas de ventes associées.
Préconditions:
- Avoir un client sans vente
- Être sur la page de détail du client
Étapes de test:
- Cliquer sur "Voir" pour un client sans vente
- Cliquer sur le bouton "Supprimer"
- Confirmer la suppression dans la boîte de dialogue
- Vérifier que le client n'est plus dans la liste
Résultats attendus:
- Une confirmation est demandée
- Le client est supprimé avec succès
- Un message de confirmation s'affiche
- Le client n'apparaît plus dans la liste
- La page revient à la liste des clients
Critère de réussite: Tous les critères ci-dessus doivent être validés
1.5 Fiches de Vision
Test 1.5.1: Création d'une fiche de vision
ID: TC-CLI-007
Priorité: Critique
Type: Fonctionnel
Description: Créer une nouvelle fiche de vision pour un client.
Préconditions:
- Avoir un client existant
- Être sur la page de détail du client
Étapes de test:
- Cliquer sur "Voir" pour un client
- Cliquer sur le bouton "Nouvelle Fiche"
- Remplir les mesures OD:
- Sphère: "-2.00"
- Cylindre: "-0.50"
- Axe: "90"
- Remplir les mesures OG:
- Sphère: "-1.75"
- Cylindre: "-0.75"
- Axe: "95"
- Remplir les paramètres additionnels:
- Addition: "1.50"
- DP: "62"
- Hauteur: "22"
- Ajouter des notes: "Prescription pour lecture"
- Cliquer sur "Enregistrer la fiche"
- Vérifier que la fiche apparaît dans la liste
Résultats attendus:
- Le formulaire de fiche de vision s'ouvre
- Les champs OD et OG sont clairement séparés
- Toutes les valeurs sont acceptées
- La fiche est créée avec succès
- Le compteur de fiches s'incrémente
- La nouvelle fiche apparaît dans la liste
- Les valeurs s'affichent correctement
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 1.5.2: Modification d'une fiche de vision
ID: TC-CLI-008
Priorité: Haute
Type: Fonctionnel
Description: Modifier une fiche de vision existante.
Préconditions:
- Avoir un client avec au moins une fiche de vision
- Être sur la page de détail du client
Étapes de test:
- Cliquer sur "Voir" pour un client avec une fiche
- Cliquer sur le bouton "Modifier" de la fiche de vision
- Changer la sphère OD: "-2.25"
- Changer l'axe OG: "100"
- Cliquer sur "Mettre à jour"
- Vérifier que les modifications sont enregistrées
Résultats attendus:
- Le formulaire pré-rempli avec les données actuelles
- Les modifications sont enregistrées
- Les nouvelles valeurs s'affichent
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 1.5.3: Suppression d'une fiche de vision
ID: TC-CLI-009
Priorité: Moyenne
Type: Fonctionnel
Description: Supprimer une fiche de vision.
Préconditions:
- Avoir un client avec au moins une fiche de vision
- Être sur la page de détail du client
Étapes de test:
- Cliquer sur "Voir" pour un client
- Cliquer sur le bouton "Supprimer" d'une fiche
- Confirmer la suppression
- Vérifier que la fiche n'est plus dans la liste
Résultats attendus:
- Une confirmation est demandée
- La fiche est supprimée
- Le compteur de fiches se décrémente
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Module 2: Gestion des Produits
2.1 Liste des Produits
Test 2.1.1: Affichage de la liste des produits
ID: TC-PRD-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier l'affichage complet de la liste des produits.
Préconditions:
- Avoir au moins un produit en base de données
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Gestion Produits"
- Observer l'affichage de la liste
- Vérifier les colonnes visibles
- Vérifier les statistiques en haut de page
Résultats attendus:
- La liste des produits s'affiche
- Les colonnes suivantes sont présentes: Référence, Désignation, Catégorie, Marque, Stock, Prix HT, Prix TTC, Actions
- Les statistiques sont visibles: Total produits, Stock bas, Valeur stock
- Les badges de catégorie sont colorés
- Les alertes de stock bas sont visibles (icône rouge)
- Un bouton "Nouveau Produit" est disponible
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.1.2: Filtrage par catégorie
ID: TC-PRD-002
Priorité: Haute
Type: Fonctionnel
Description: Vérifier le filtrage des produits par catégorie.
Préconditions:
- Avoir des produits dans différentes catégories (MONTURE, VERRE, LENTILLE, ACCESSOIRE)
- Être sur la page de la liste des produits
Étapes de test:
- Sélectionner la catégorie "MONTURE"
- Vérifier que seules les montures s'affichent
- Sélectionner la catégorie "VERRE"
- Vérifier que seuls les verres s'affichent
- Sélectionner "Toutes"
- Vérifier que tous les produits s'affichent
Résultats attendus:
- Le filtre par catégorie fonctionne
- Les résultats se mettent à jour immédiatement
- Le nombre de produits correspondant s'affiche
- Le filtre "Toutes" affiche tous les produits
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.1.3: Filtrage par stock
ID: TC-PRD-003
Priorité: Haute
Type: Fonctionnel
Description: Vérifier le filtrage des produits par niveau de stock.
Préconditions:
- Avoir des produits avec différents niveaux de stock
- Être sur la page de la liste des produits
Étapes de test:
- Sélectionner le filtre "Stock bas"
- Vérifier que seuls les produits sous le stock minimum s'affichent
- Sélectionner "En rupture"
- Vérifier que seuls les produits avec stock = 0 s'affichent
- Sélectionner "Tous"
Résultats attendus:
- Le filtre de stock fonctionne
- Les produits en stock bas sont correctement identifiés
- Les produits en rupture sont correctement identifiés
- Un badge d'alerte s'affiche pour les produits en stock bas
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.1.4: Recherche de produits
ID: TC-PRD-004
Priorité: Haute
Type: Fonctionnel
Description: Vérifier la recherche de produits par référence, désignation ou marque.
Préconditions:
- Avoir au moins 5 produits en base
- Être sur la page de la liste des produits
Étapes de test:
- Saisir une référence de produit existante
- Vérifier que le produit correspondant s'affiche
- Saisir une partie de désignation (ex: "titane")
- Vérifier les résultats
- Saisir une marque
- Vérifier les résultats
- Saisir un code-barres
Résultats attendus:
- La recherche par référence fonctionne
- La recherche par désignation fonctionne
- La recherche par marque fonctionne
- La recherche par code-barres fonctionne
- Les résultats sont mis à jour en temps réel
- La recherche est insensible à la casse
Critère de réussite: Tous les critères ci-dessus doivent être validés
2.2 Création d'un Produit
Test 2.2.1: Création d'une monture
ID: TC-PRD-005
Priorité: Critique
Type: Fonctionnel
Description: Créer un nouveau produit de type monture.
Préconditions:
- Avoir au moins un fournisseur en base
- Être sur la page de la liste des produits
Étapes de test:
- Cliquer sur "Nouveau Produit"
- Onglet "Général":
- Référence: "MNT-001"
- Désignation: "Monture Titane Ray-Ban"
- Catégorie: "MONTURE"
- Fournisseur: Sélectionner un fournisseur existant
- Marque: "Ray-Ban"
- Code-barres: "1234567890123"
- Onglet "Pricing":
- Prix achat HT: "45.00"
- Prix vente TTC: "120.00"
- TVA: "20%"
- Onglet "Stock":
- Stock actuel: "10"
- Stock minimum: "3"
- Emplacement: "A-01-05"
- Onglet "Détails":
- Type de monture: "Complète"
- Dimensions: "52-18-140"
- Matériau: "Titane"
- Couleur: "Noir"
- Description: "Monture légère et résistante"
- Cliquer sur "Enregistrer"
Résultats attendus:
- Le formulaire s'ouvre avec les 4 onglets
- Les champs spécifiques aux montures apparaissent
- La marge est calculée automatiquement
- Le produit est créé avec succès
- Un message de confirmation s'affiche
- Le produit apparaît dans la liste
- La valeur du stock est mise à jour dans les statistiques
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.2.2: Création d'un verre
ID: TC-PRD-006
Priorité: Critique
Type: Fonctionnel
Description: Créer un nouveau produit de type verre.
Préconditions:
- Avoir au moins un fournisseur en base
- Être sur le formulaire de création de produit
Étapes de test:
- Cliquer sur "Nouveau Produit"
- Onglet "Général":
- Référence: "VR-001"
- Désignation: "Verre Progressif 1.67"
- Catégorie: "VERRE"
- Fournisseur: Sélectionner un fournisseur
- Marque: "Essilor"
- Code-barres: "2345678901234"
- Onglet "Pricing":
- Prix achat HT: "80.00"
- Prix vente TTC: "180.00"
- TVA: "20%"
- Onglet "Stock":
- Stock actuel: "20"
- Stock minimum: "5"
- Emplacement: "B-03-10"
- Onglet "Détails":
- Type de verre: "Progressif"
- Indice: "1.67"
- Matériau: "Organique"
- Couleur: "Incolore"
- Description: "Verre haute qualité pour forte correction"
- Cliquer sur "Enregistrer"
Résultats attendus:
- Les champs spécifiques aux verres apparaissent
- Le champ "Indice" est disponible
- Le produit est créé avec succès
- Le type de verre est correctement enregistré
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.2.3: Validation des références uniques
ID: TC-PRD-007
Priorité: Haute
Type: Validation
Description: Vérifier que deux produits ne peuvent pas avoir la même référence.
Préconditions:
- Avoir un produit existant avec référence "MNT-001"
- Être sur le formulaire de création de produit
Étapes de test:
- Cliquer sur "Nouveau Produit"
- Saisir la référence "MNT-001" (déjà utilisée)
- Remplir les autres champs obligatoires
- Cliquer sur "Enregistrer"
Résultats attendus:
- Un message d'erreur s'affiche
- L'erreur indique que la référence existe déjà
- Le produit n'est pas créé
- Le formulaire reste ouvert
Critère de réussite: Tous les critères ci-dessus doivent être validés
2.3 Modification d'un Produit
Test 2.3.1: Modification des informations d'un produit
ID: TC-PRD-008
Priorité: Haute
Type: Fonctionnel
Description: Modifier les informations d'un produit existant.
Préconditions:
- Avoir un produit existant
- Être sur la page de la liste des produits
Étapes de test:
- Cliquer sur le bouton "Modifier" d'un produit
- Changer le prix vente TTC: "135.00"
- Changer le stock actuel: "8"
- Ajouter une description: "Nouveau modèle 2026"
- Cliquer sur "Mettre à jour"
- Vérifier que les modifications sont enregistrées
Résultats attendus:
- Le formulaire pré-rempli avec les données actuelles
- Les modifications sont enregistrées
- Les nouvelles valeurs s'affichent dans la liste
- La valeur du stock est mise à jour dans les statistiques
Critère de réussite: Tous les critères ci-dessus doivent être validés
2.4 Gestion des Images
Test 2.4.1: Ajout d'images à un produit
ID: TC-PRD-009
Priorité: Haute
Type: Fonctionnel
Description: Ajouter des images à un produit existant.
Préconditions:
- Avoir un produit existant
- Avoir une image sur l'ordinateur (JPEG ou PNG)
- Être sur la page de la liste des produits
Étapes de test:
- Cliquer sur le bouton "Images" d'un produit
- Cliquer sur "Ajouter une image"
- Sélectionner une image (JPEG, max 5MB)
- Répéter pour une deuxième image
- Vérifier que les images s'affichent
Résultats attendus:
- La galerie d'images s'ouvre
- Le sélecteur de fichier fonctionne
- L'image est téléchargée avec succès
- L'image s'affiche dans la galerie
- Plusieurs images peuvent être ajoutées
- Le type et la taille du fichier sont affichés
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.4.2: Suppression d'une image
ID: TC-PRD-010
Priorité: Moyenne
Type: Fonctionnel
Description: Supprimer une image d'un produit.
Préconditions:
- Avoir un produit avec au moins une image
- Être dans la galerie d'images
Étapes de test:
- Ouvrir la galerie d'images d'un produit
- Cliquer sur le bouton "Supprimer" d'une image
- Confirmer la suppression
- Vérifier que l'image n'est plus dans la galerie
Résultats attendus:
- Une confirmation est demandée
- L'image est supprimée
- La galerie est mise à jour
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
2.5 Génération de QR Codes
Test 2.5.1: Génération de QR code
ID: TC-PRD-011
Priorité: Haute
Type: Fonctionnel
Description: Générer un QR code pour un produit.
Préconditions:
- Avoir un produit existant
- Être sur la page de la liste des produits
Étapes de test:
- Cliquer sur le bouton "QR Code" d'un produit
- Vérifier que le QR code s'affiche
- Vérifier les informations affichées
- Cliquer sur "Télécharger PNG"
- Cliquer sur "Imprimer"
Résultats attendus:
- La boîte de dialogue QR code s'ouvre
- Le QR code est généré et visible
- La référence du produit est affichée
- La désignation du produit est affichée
- Le prix est affiché
- Le téléchargement en PNG fonctionne
- L'impression fonctionne
Critère de réussite: Tous les critères ci-dessus doivent être validés
2.6 Activation/Désactivation
Test 2.6.1: Désactivation d'un produit
ID: TC-PRD-012
Priorité: Moyenne
Type: Fonctionnel
Description: Désactiver un produit (ne plus afficher dans le POS).
Préconditions:
- Avoir un produit actif existant
- Être sur la page de la liste des produits
Étapes de test:
- Cliquer sur le bouton "Désactiver" d'un produit
- Confirmer la désactivation
- Vérifier que le produit est marqué comme inactif
- Vérifier que le produit n'apparaît plus dans le POS
Résultats attendus:
- Une confirmation est demandée
- Le produit est marqué comme inactif
- Un badge "Inactif" s'affiche
- Le produit n'apparaît plus dans le catalogue POS
- Le produit reste visible dans la liste (avec badge)
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 2.6.2: Réactivation d'un produit
ID: TC-PRD-013
Priorité: Moyenne
Type: Fonctionnel
Description: Réactiver un produit désactivé.
Préconditions:
- Avoir un produit inactif
- Être sur la page de la liste des produits
Étapes de test:
- Cliquer sur le bouton "Activer" d'un produit inactif
- Vérifier que le produit est marqué comme actif
- Vérifier que le produit réapparaît dans le POS
Résultats attendus:
- Le produit est réactivé
- Le badge "Inactif" disparaît
- Le produit réapparaît dans le catalogue POS
Critère de réussite: Tous les critères ci-dessus doivent être validés
Module 3: Gestion des Fournisseurs
3.1 Liste des Fournisseurs
Test 3.1.1: Affichage de la liste des fournisseurs
ID: TC-FRN-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier l'affichage de la liste des fournisseurs.
Préconditions:
- Avoir au moins un fournisseur en base
- Être connecté à l'application
Étapes de test:
- Accéder au module Fournisseurs
- Observer l'affichage de la liste
- Vérifier les colonnes visibles
Résultats attendus:
- La liste des fournisseurs s'affiche
- Les colonnes sont: Nom, Contact, Téléphone, Email, Ville, Actions
- Un bouton "Nouveau Fournisseur" est visible
- Une barre de recherche est présente
Critère de réussite: Tous les critères ci-dessus doivent être validés
3.2 Création d'un Fournisseur
Test 3.2.1: Création fournisseur valide
ID: TC-FRN-002
Priorité: Critique
Type: Fonctionnel
Description: Créer un nouveau fournisseur.
Préconditions:
- Être sur la page des fournisseurs
Étapes de test:
- Cliquer sur "Nouveau Fournisseur"
- Remplir le formulaire:
- Nom: "Essilor France"
- Contact: "Jean Dupont"
- Téléphone: "0123456789"
- Email: "contact@essilor.fr"
- Adresse: "10 Rue de l'Optique"
- Ville: "Paris"
- Code postal: "75015"
- Notes: "Fournisseur principal verres"
- Cliquer sur "Enregistrer"
Résultats attendus:
- Le formulaire s'ouvre
- Le fournisseur est créé avec succès
- Un message de confirmation s'affiche
- Le fournisseur apparaît dans la liste
Critère de réussite: Tous les critères ci-dessus doivent être validés
3.3 Modification d'un Fournisseur
Test 3.3.1: Modification fournisseur
ID: TC-FRN-003
Priorité: Haute
Type: Fonctionnel
Description: Modifier les informations d'un fournisseur.
Préconditions:
- Avoir un fournisseur existant
- Être sur la page des fournisseurs
Étapes de test:
- Cliquer sur "Modifier" d'un fournisseur
- Changer le numéro de téléphone
- Ajouter des notes
- Cliquer sur "Mettre à jour"
Résultats attendus:
- Le formulaire pré-rempli s'ouvre
- Les modifications sont enregistrées
- Les nouvelles valeurs s'affichent
Critère de réussite: Tous les critères ci-dessus doivent être validés
3.4 Suppression d'un Fournisseur
Test 3.4.1: Suppression fournisseur sans factures
ID: TC-FRN-004
Priorité: Moyenne
Type: Fonctionnel
Description: Supprimer un fournisseur sans factures associées.
Préconditions:
- Avoir un fournisseur sans facture
- Être sur la page des fournisseurs
Étapes de test:
- Cliquer sur "Supprimer" d'un fournisseur
- Confirmer la suppression
- Vérifier que le fournisseur n'est plus dans la liste
Résultats attendus:
- Une confirmation est demandée
- Le fournisseur est supprimé
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Module 4: Achats & Stock
4.1 Liste des Factures d'Achat
Test 4.1.1: Affichage des factures d'achat
ID: TC-ACH-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier l'affichage de la liste des factures d'achat.
Préconditions:
- Avoir au moins une facture d'achat en base
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Achats & Stock"
- Observer l'affichage
- Vérifier les onglets et colonnes
Résultats attendus:
- L'onglet "Factures d'achat" est actif par défaut
- L'onglet "Nouvelle facture" est présent
- Les colonnes sont: N° Facture, Date, Fournisseur, Statut, Date réception, Total TTC, Actions
- Les badges de statut sont colorés (BROUILLON: jaune, VALIDE: vert)
- Un bouton "Nouvelle facture" est visible
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 4.1.2: Filtrage par statut
ID: TC-ACH-002
Priorité: Haute
Type: Fonctionnel
Description: Vérifier le filtrage des factures par statut.
Préconditions:
- Avoir des factures avec différents statuts
- Être sur la liste des factures
Étapes de test:
- Sélectionner le filtre "Brouillon"
- Vérifier que seules les factures en brouillon s'affichent
- Sélectionner "Validé"
- Vérifier que seules les factures validées s'affichent
- Sélectionner "Tous"
Résultats attendus:
- Le filtre par statut fonctionne
- Les résultats se mettent à jour immédiatement
- Le filtre "Tous" affiche toutes les factures
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 4.1.3: Recherche de factures
ID: TC-ACH-003
Priorité: Haute
Type: Fonctionnel
Description: Vérifier la recherche de factures par numéro ou fournisseur.
Préconditions:
- Avoir plusieurs factures en base
- Être sur la liste des factures
Étapes de test:
- Saisir un numéro de facture existant
- Vérifier que la facture s'affiche
- Saisir le nom d'un fournisseur
- Vérifier les résultats
Résultats attendus:
- La recherche par numéro de facture fonctionne
- La recherche par fournisseur fonctionne
- Les résultats sont mis à jour en temps réel
Critère de réussite: Tous les critères ci-dessus doivent être validés
4.2 Création d'une Facture d'Achat
Test 4.2.1: Création facture avec lignes
ID: TC-ACH-004
Priorité: Critique
Type: Fonctionnel
Description: Créer une nouvelle facture d'achat avec plusieurs lignes de produits.
Préconditions:
- Avoir au moins un fournisseur en base
- Avoir au moins un produit en base
- Être sur le module Achats
Étapes de test:
- Cliquer sur l'onglet "Nouvelle facture"
- Sélectionner un fournisseur
- Sélectionner la date du jour
- Ajouter une note: "Commande mensuelle"
- Ajouter une ligne:
- Produit: Sélectionner "Monture Titane Ray-Ban"
- Quantité: "5"
- Prix unitaire HT: "45.00" (pré-rempli)
- TVA: "20%"
- Cliquer sur "Ajouter"
- Ajouter une deuxième ligne:
- Produit: Sélectionner "Verre Progressif 1.67"
- Quantité: "10"
- Prix unitaire HT: "80.00"
- TVA: "20%"
- Cliquer sur "Ajouter"
- Vérifier les totaux
- Cliquer sur "Enregistrer"
- Vérifier que la facture apparaît dans l'onglet "Factures d'achat"
Résultats attendus:
- Le formulaire de création s'ouvre
- Le sélecteur de fournisseur affiche les fournisseurs
- Le sélecteur de produit affiche les produits actifs
- Les lignes s'ajoutent correctement
- Les totaux (HT, TVA, TTC) sont calculés automatiquement
- La facture est créée avec le statut "BROUILLON"
- Le numéro de facture est généré automatiquement (format: AYYYYMM####)
- La facture apparaît dans la liste
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 4.2.2: Modification de quantité dans une ligne
ID: TC-ACH-005
Priorité: Haute
Type: Fonctionnel
Description: Modifier la quantité d'une ligne dans une facture en cours de création.
Préconditions:
- Être en cours de création d'une facture avec au moins une ligne
Étapes de test:
- Cliquer sur le bouton "+" d'une ligne (quantité: 5)
- Vérifier que la quantité passe à 6
- Vérifier que le total ligne est recalculé
- Cliquer sur le bouton "-" 2 fois
- Vérifier que la quantité passe à 4
Résultats attendus:
- La quantité s'incrémente correctement
- La quantité se décrémente correctement
- Le total ligne est recalculé automatiquement
- Le total facture est recalculé automatiquement
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 4.2.3: Suppression d'une ligne
ID: TC-ACH-006
Priorité: Haute
Type: Fonctionnel
Description: Supprimer une ligne de produit dans une facture en cours de création.
Préconditions:
- Être en cours de création d'une facture avec au moins 2 lignes
Étapes de test:
- Cliquer sur le bouton "Supprimer" d'une ligne
- Confirmer la suppression
- Vérifier que la ligne disparaît
- Vérifier que les totaux sont recalculés
Résultats attendus:
- Une confirmation est demandée
- La ligne est supprimée
- Les totaux sont recalculés
Critère de réussite: Tous les critères ci-dessus doivent être validés
4.3 Validation et Réception de Stock
Test 4.3.1: Validation d'une facture et réception de stock
ID: TC-ACH-007
Priorité: Critique
Type: Fonctionnel
Description: Valider une facture d'achat et réceptionner le stock.
Préconditions:
- Avoir une facture en statut "BROUILLON" avec des lignes
- Être sur l'onglet "Factures d'achat"
Étapes de test:
- Noter le stock actuel des produits de la facture
- Cliquer sur le bouton "Voir" de la facture
- Cliquer sur "Valider et Réceptionner Stock"
- Confirmer la validation
- Vérifier que le statut passe à "VALIDE"
- Vérifier que la date de réception est enregistrée
- Aller dans le module Produits
- Vérifier que le stock des produits a augmenté
Résultats attendus:
- Une confirmation est demandée
- Le statut passe à "VALIDE"
- La date de réception est enregistrée
- Le stock de chaque produit est incrémenté de la quantité de la ligne
- Les totaux de stock dans les statistiques sont mis à jour
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 4.3.2: Tentative de validation d'une facture déjà validée
ID: TC-ACH-008
Priorité: Moyenne
Type: Validation
Description: Vérifier qu'une facture déjà validée ne peut pas être validée à nouveau.
Préconditions:
- Avoir une facture en statut "VALIDE"
- Être sur le détail de la facture
Étapes de test:
- Ouvrir une facture validée
- Vérifier que le bouton "Valider et Réceptionner Stock" n'est pas visible
Résultats attendus:
- Le bouton de validation n'est pas visible
- Le bouton de suppression n'est pas visible
- Seul le bouton de fermeture est disponible
Critère de réussite: Tous les critères ci-dessus doivent être validés
4.4 Suppression d'une Facture
Test 4.4.1: Suppression d'une facture en brouillon
ID: TC-ACH-009
Priorité: Haute
Type: Fonctionnel
Description: Supprimer une facture en statut brouillon.
Préconditions:
- Avoir une facture en statut "BROUILLON"
- Être sur l'onglet "Factures d'achat"
Étapes de test:
- Cliquer sur le bouton "Supprimer" d'une facture brouillon
- Confirmer la suppression
- Vérifier que la facture n'est plus dans la liste
Résultats attendus:
- Une confirmation est demandée
- La facture est supprimée
- Les lignes sont supprimées en cascade
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 4.4.2: Tentative de suppression d'une facture validée
ID: TC-ACH-010
Priorité: Haute
Type: Validation
Description: Vérifier qu'une facture validée ne peut pas être supprimée.
Préconditions:
- Avoir une facture en statut "VALIDE"
- Être sur l'onglet "Factures d'achat"
Étapes de test:
- Cliquer sur le bouton "Voir" d'une facture validée
- Vérifier que le bouton "Supprimer" n'est pas visible
Résultats attendus:
- Le bouton de suppression n'est pas visible
- Un message indique que la facture est validée
Critère de réussite: Tous les critères ci-dessus doivent être validés
4.5 Attachement de Facture Fournisseur
Test 4.5.1: Upload de facture PDF
ID: TC-ACH-011
Priorité: Haute
Type: Fonctionnel
Description: Attacher un fichier PDF de facture fournisseur.
Préconditions:
- Avoir un fichier PDF de facture (max 10MB)
- Être en cours de création d'une facture
Étapes de test:
- Dans le formulaire de création, cliquer sur "Ajouter une facture"
- Sélectionner un fichier PDF
- Vérifier que le fichier est attaché
- Enregistrer la facture
Résultats attendus:
- Le sélecteur de fichier s'ouvre
- Seuls les fichiers PDF sont acceptés
- Le nom du fichier s'affiche
- Le fichier est sauvegardé
- Le fichier reste attaché à la facture
Critère de réussite: Tous les critères ci-dessus doivent être validés
Module 5: Point de Vente (POS)
5.1 Interface POS
Test 5.1.1: Affichage de l'interface POS
ID: TC-POS-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier l'affichage complet de l'interface du Point de Vente.
Préconditions:
- Avoir des produits actifs en base
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Point de Vente"
- Observer l'affichage
- Vérifier les 3 colonnes principales
Résultats attendus:
- L'interface POS s'affiche
- Colonne gauche: Recherche et catalogue de produits
- Colonne centrale: Panier d'achat avec lignes
- Colonne droite: Résumé et paiement
- Un onglet "Vente" est actif
- Un onglet "Historique" est présent
- Les totaux (HT, TVA, TTC) s'affichent
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.1.2: Recherche de produits dans le POS
ID: TC-POS-002
Priorité: Critique
Type: Fonctionnel
Description: Rechercher et ajouter des produits dans le panier.
Préconditions:
- Avoir des produits actifs en base
- Être sur l'interface POS
Étapes de test:
- Dans la barre de recherche, saisir "titane"
- Observer les résultats
- Cliquer sur un produit pour l'ajouter au panier
- Vérifier que le produit apparaît dans le panier
- Rechercher par code-barres si disponible
Résultats attendus:
- Les produits correspondants s'affichent
- Le produit s'ajoute au panier
- Le panier se met à jour
- Les totaux sont recalculés
Critère de réussite: Tous les critères ci-dessus doivent être validés
5.2 Gestion du Panier
Test 5.2.1: Ajout de multiples produits au panier
ID: TC-POS-003
Priorité: Critique
Type: Fonctionnel
Description: Ajouter plusieurs produits différents dans le panier.
Préconditions:
- Avoir au moins 3 produits actifs en base
- Être sur l'interface POS
Étapes de test:
- Ajouter une monture (quantité: 1)
- Ajouter deux verres (quantité: 2 chacun)
- Vérifier que 3 lignes apparaissent dans le panier
- Vérifier les totaux
Résultats attendus:
- Chaque produit apparaît sur une ligne distincte
- Les quantités sont correctes
- Les totaux par ligne sont corrects
- Le total TTC est la somme des lignes
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.2.2: Modification de quantité dans le panier
ID: TC-POS-004
Priorité: Haute
Type: Fonctionnel
Description: Modifier les quantités des produits dans le panier.
Préconditions:
- Avoir un panier avec au moins un produit
- Être sur l'interface POS
Étapes de test:
- Cliquer sur "+" pour augmenter la quantité d'un produit
- Vérifier que le total est recalculé
- Cliquer sur "-" pour diminuer la quantité
- Vérifier que le total est recalculé
- Passer la quantité à 0
- Vérifier que la ligne est supprimée
Résultats attendus:
- La quantité s'incrémente correctement
- La quantité se décrémente correctement
- Les totaux sont recalculés en temps réel
- Une ligne avec quantité 0 est supprimée
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.2.3: Suppression d'une ligne du panier
ID: TC-POS-005
Priorité: Haute
Type: Fonctionnel
Description: Supprimer une ligne de produit du panier.
Préconditions:
- Avoir un panier avec au moins une ligne
- Être sur l'interface POS
Étapes de test:
- Cliquer sur le bouton "Supprimer" (icône poubelle) d'une ligne
- Confirmer si nécessaire
- Vérifier que la ligne disparaît
- Vérifier que les totaux sont recalculés
Résultats attendus:
- La ligne est supprimée
- Les totaux sont recalculés
- Le panier se met à jour
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.2.4: Application d'une remise globale
ID: TC-POS-006
Priorité: Haute
Type: Fonctionnel
Description: Appliquer une remise sur le total de la vente.
Préconditions:
- Avoir un panier avec des produits
- Être sur l'interface POS
Étapes de test:
- Noter le total TTC actuel
- Saisir une remise de "10%" dans le champ remise
- Vérifier que le nouveau total TTC est calculé
- Changer la remise en valeur fixe: "20"
- Vérifier le calcul
Résultats attendus:
- La remise en pourcentage fonctionne
- La remise en valeur fixe fonctionne
- Le nouveau total TTC est correct
- Le montant de la remise s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
5.3 Sélection de Client
Test 5.3.1: Association d'un client existant
ID: TC-POS-007
Priorité: Haute
Type: Fonctionnel
Description: Associer un client existant à la vente.
Préconditions:
- Avoir un panier avec des produits
- Avoir au moins un client en base
- Être sur l'interface POS
Étapes de test:
- Dans la section "Client", cliquer sur le sélecteur
- Choisir un client existant
- Vérifier que le client est affiché
Résultats attendus:
- La liste des clients s'affiche
- Le client sélectionné s'affiche
- Le nom du client est visible
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.3.2: Création d'un nouveau client depuis le POS
ID: TC-POS-008
Priorité: Haute
Type: Fonctionnel
Description: Créer un nouveau client directement depuis le POS.
Préconditions:
- Avoir un panier avec des produits
- Être sur l'interface POS
Étapes de test:
- Cliquer sur "Nouveau Client"
- Remplir le formulaire avec:
- Nom: "Durand"
- Prénom: "Marie"
- Téléphone: "0687654321"
- Cliquer sur "Créer"
- Vérifier que le client est associé à la vente
Résultats attendus:
- Le formulaire de création s'ouvre
- Le client est créé
- Le client est automatiquement associé à la vente
- Le nom du client s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
5.4 Processus de Paiement
Test 5.4.1: Paiement avec un seul mode
ID: TC-POS-009
Priorité: Critique
Type: Fonctionnel
Description: Effectuer un paiement complet avec un seul mode de paiement.
Préconditions:
- Avoir un panier avec des produits
- Avoir sélectionné un client (optionnel)
- Être sur l'interface POS
Étapes de test:
- Vérifier le total TTC à payer
- Sélectionner le mode de paiement: "Carte"
- Saisir le montant: total TTC
- Cliquer sur "Enregistrer le paiement"
- Vérifier que la vente est enregistrée
- Vérifier l'affichage de la facture
Résultats attendus:
- Le paiement est enregistré
- Le statut de la vente passe à "PAYEE"
- La facture s'affiche avec tous les détails
- Le numéro de vente est généré (format: VYYYYMM####)
- Le stock des produits est décrémenté
- Le panier est vidé
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.4.2: Paiement multiple (échéancier)
ID: TC-POS-010
Priorité: Haute
Type: Fonctionnel
Description: Effectuer un paiement avec plusieurs modes de paiement.
Préconditions:
- Avoir un panier avec un total TTC > 100€
- Être sur l'interface POS
Étapes de test:
- Noter le total TTC (ex: 300€)
- Premier paiement:
- Mode: "Carte"
- Montant: "200"
- Cliquer sur "Ajouter"
- Vérifier le reste à payer (100€)
- Deuxième paiement:
- Mode: "Espèces"
- Montant: "100"
- Cliquer sur "Ajouter"
- Vérifier que le reste à payer est 0€
- Cliquer sur "Enregistrer le paiement"
- Vérifier que la vente est enregistrée
Résultats attendus:
- Le premier paiement est ajouté
- Le reste à payer est calculé correctement
- Le deuxième paiement est ajouté
- Le reste à passe à 0€
- La vente est enregistrée
- Les deux paiements apparaissent sur la facture
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.4.3: Paiement partiel avec statut EN ATTENTE
ID: TC-POS-011
Priorité: Moyenne
Type: Fonctionnel
Description: Enregistrer un paiement partiel et laisser la vente en attente.
Préconditions:
- Avoir un panier avec un total TTC > 100€
- Être sur l'interface POS
Étapes de test:
- Noter le total TTC (ex: 300€)
- Premier paiement:
- Mode: "Espèces"
- Montant: "100"
- Cliquer sur "Ajouter"
- Cliquer sur "Enregistrer (Paiement partiel)"
- Vérifier le statut de la vente
Résultats attendus:
- Le paiement est enregistré
- Le statut de la vente est "INITIEE"
- Le reste à payer est conservé
- La vente peut être complétée plus tard
Critère de réussite: Tous les critères ci-dessus doivent être validés
5.5 Historique des Ventes
Test 5.5.1: Affichage de l'historique
ID: TC-POS-012
Priorité: Haute
Type: Fonctionnel
Description: Afficher et consulter l'historique des ventes.
Préconditions:
- Avoir au moins une vente enregistrée
- Être sur l'interface POS
Étapes de test:
- Cliquer sur l'onglet "Historique"
- Observer la liste des ventes
- Vérifier les colonnes et badges
Résultats attendus:
- La liste des ventes s'affiche
- Les colonnes sont: N° Vente, Date, Client, Total TTC, Statut, Actions
- Les badges de statut sont colorés (INITIEE: jaune, PAYEE: vert)
- Les ventes sont triées par date décroissante
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.5.2: Consultation d'une vente
ID: TC-POS-013
Priorité: Haute
Type: Fonctionnel
Description: Consulter les détails d'une vente passée.
Préconditions:
- Avoir une vente enregistrée
- Être sur l'onglet "Historique"
Étapes de test:
- Cliquer sur le bouton "Voir" d'une vente
- Vérifier les détails affichés
Résultats attendus:
- La boîte de dialogue s'ouvre
- Le numéro de vente est affiché
- La date et l'heure sont affichées
- Le client est affiché
- Les lignes de vente sont détaillées
- Les paiements sont listés
- Les totaux sont affichés
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 5.5.3: Annulation d'une vente
ID: TC-POS-014
Priorité: Haute
Type: Fonctionnel
Description: Annuler une vente et restaurer le stock.
Préconditions:
- Avoir une vente payée avec des produits
- Être sur l'onglet "Historique"
Étapes de test:
- Noter le stock actuel des produits de la vente
- Cliquer sur "Annuler" pour une vente
- Confirmer l'annulation
- Vérifier que le statut passe à "ANNULEE"
- Vérifier dans le module Produits que le stock est restauré
Résultats attendus:
- Une confirmation est demandée
- Le statut passe à "ANNULEE"
- Le stock de chaque produit est restauré
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Module 6: Atelier
6.1 Liste des Commandes Atelier
Test 6.1.1: Affichage des commandes atelier
ID: TC-ATE-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier l'affichage de la liste des commandes d'atelier.
Préconditions:
- Avoir au moins une vente payée avec des montures ou verres
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Atelier"
- Observer l'affichage
- Vérifier les statistiques en haut de page
Résultats attendus:
- L'onglet "Commandes Atelier" est actif par défaut
- L'onglet "Prêtes pour retrait" est présent
- Les statistiques s'affichent: En attente, En cours, Terminé, Prêt
- La liste des commandes s'affiche
- Les colonnes sont: N° Vente, Client, Date, Statut, Montant, Actions
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 6.1.2: Filtrage par statut
ID: TC-ATE-002
Priorité: Haute
Type: Fonctionnel
Description: Filtrer les commandes par statut d'atelier.
Préconditions:
- Avoir des commandes avec différents statuts
- Être sur la liste des commandes
Étapes de test:
- Sélectionner "En attente"
- Vérifier que seules les commandes en attente s'affichent
- Sélectionner "En cours"
- Vérifier les résultats
- Sélectionner "Terminé"
- Vérifier les résultats
- Sélectionner "Toutes"
Résultats attendus:
- Le filtre par statut fonctionne
- Les résultats se mettent à jour immédiatement
- Le nombre de commandes par statut est correct dans les statistiques
Critère de réussite: Tous les critères ci-dessus doivent être validés
6.2 Détail d'une Commande
Test 6.2.1: Consultation du détail d'une commande
ID: TC-ATE-003
Priorité: Critique
Type: Fonctionnel
Description: Consulter tous les détails d'une commande d'atelier.
Préconditions:
- Avoir une vente payée avec monture/verre
- Être sur la liste des commandes
Étapes de test:
- Cliquer sur le bouton "Voir" d'une commande
- Vérifier toutes les informations affichées
Résultats attendus:
- La boîte de dialogue s'ouvre
- Le statut actuel est affiché avec un badge coloré
- Les informations client sont affichées (nom, téléphone, email)
- Les mesures de vision OD/OG sont affichées
- Les produits à monter sont listés (montures et verres)
- La date de vente est affichée
- La dernière mise à jour atelier est affichée
- Les notes sont affichées si présentes
Critère de réussite: Tous les critères ci-dessus doivent être validés
6.3 Workflow de Montage
Test 6.3.1: Démarrage du montage (EN_ATTENTE → EN_COURS)
ID: TC-ATE-004
Priorité: Critique
Type: Fonctionnel
Description: Marquer une commande comme "en cours de montage".
Préconditions:
- Avoir une commande en statut "EN_ATTENTE"
- Être sur le détail de la commande
Étapes de test:
- Ouvrir une commande en statut "EN_ATTENTE"
- Cliquer sur le bouton "Commencer le montage"
- Vérifier que le statut passe à "EN_COURS"
- Vérifier que les statistiques sont mises à jour
Résultats attendus:
- Le bouton "Commencer le montage" est visible
- Le statut passe à "EN_COURS"
- La date de mise à jour est enregistrée
- Les statistiques "En attente" et "En cours" sont mises à jour
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 6.3.2: Marquage comme terminé (EN_COURS → TERMINE)
ID: TC-ATE-005
Priorité: Critique
Type: Fonctionnel
Description: Marquer une commande comme terminée.
Préconditions:
- Avoir une commande en statut "EN_COURS"
- Être sur le détail de la commande
Étapes de test:
- Ouvrir une commande en statut "EN_COURS"
- Cliquer sur le bouton "Marquer comme terminé"
- Vérifier que le statut passe à "TERMINE"
- Vérifier les statistiques
Résultats attendus:
- Le bouton "Marquer comme terminé" est visible
- Le statut passe à "TERMINE"
- La date de mise à jour est enregistrée
- Les statistiques sont mises à jour
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 6.3.3: Marquage comme prêt (TERMINE → PRET)
ID: TC-ATE-006
Priorité: Critique
Type: Fonctionnel
Description: Marquer une commande comme prête pour le retrait et notifier le client.
Préconditions:
- Avoir une commande en statut "TERMINE"
- Être sur le détail de la commande
Étapes de test:
- Ouvrir une commande en statut "TERMINE"
- Cliquer sur le bouton "Marquer comme prêt"
- Vérifier que la boîte de dialogue de notification s'ouvre
- Confirmer que le client a été notifié
- Vérifier que le statut passe à "PRET"
- Aller dans l'onglet "Prêtes pour retrait"
- Vérifier que la commande apparaît
Résultats attendus:
- Le bouton "Marquer comme prêt" est visible
- La boîte de dialogue de notification s'ouvre
- Les informations de contact du client sont affichées
- Le statut passe à "PRET"
- La commande apparaît dans l'onglet "Prêtes pour retrait"
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
6.4 Onglet "Prêtes pour Retrait"
Test 6.4.1: Affichage des commandes prêtes
ID: TC-ATE-007
Priorité: Haute
Type: Fonctionnel
Description: Afficher et gérer les commandes prêtes pour retrait.
Préconditions:
- Avoir au moins une commande en statut "PRET"
- Être sur le module Atelier
Étapes de test:
- Cliquer sur l'onglet "Prêtes pour retrait"
- Observer la liste
- Vérifier les informations affichées
Résultats attendus:
- L'onglet s'affiche
- Seules les commandes en statut "PRET" sont listées
- Les informations client sont visibles
- Le numéro de téléphone est affiché
- La date de mise à jour est affichée
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 6.4.2: Confirmation de retrait par le client
ID: TC-ATE-008
Priorité: Moyenne
Type: Fonctionnel
Description: Marquer une commande comme retirée par le client.
Préconditions:
- Avoir une commande en statut "PRET"
- Être sur l'onglet "Prêtes pour retrait"
Étapes de test:
- Cliquer sur le bouton "Confirmer le retrait" d'une commande
- Confirmer l'action
- Vérifier que la commande disparaît de la liste
Résultats attendus:
- Une confirmation est demandée
- La commande est marquée comme retirée
- La commande disparaît de la liste "Prêtes pour retrait"
- Un message de confirmation s'affiche
Critère de réussite: Tous les critères ci-dessus doivent être validés
Module 7: Rapports
7.1 Dashboard
Test 7.1.1: Affichage du dashboard
ID: TC-RAP-001
Priorité: Critique
Type: Fonctionnel
Description: Vérifier l'affichage du dashboard avec les KPIs.
Préconditions:
- Avoir des données de vente et de stock
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Rapports"
- Observer l'onglet "Dashboard"
- Vérifier toutes les cartes KPI
- Vérifier les alertes
Résultats attendus:
- Les 8 KPIs s'affichent:
- Ventes du jour
- Ventes de la semaine
- Ventes du mois
- CA du jour (HT et TTC)
- CA du mois (HT et TTC)
- Total clients
- Commandes atelier en attente
- Les alertes de stock bas s'affichent avec icônes rouges
- Le top 5 des produits vendus s'affiche
- Le sélecteur de période est disponible
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 7.1.2: Filtrage par période
ID: TC-RAP-002
Priorité: Haute
Type: Fonctionnel
Description: Vérifier que les données du dashboard se mettent à jour selon la période.
Préconditions:
- Avoir des données de vente sur plusieurs périodes
- Être sur le Dashboard
Étapes de test:
- Noter les KPIs actuels (Aujourd'hui)
- Changer la période pour "Semaine"
- Vérifier que les KPIs changent
- Changer la période pour "Mois"
- Vérifier que les KPIs changent
- Changer la période pour "Année"
- Vérifier que les KPIs changent
Résultats attendus:
- Les KPIs se mettent à jour pour chaque période
- Les graphiques se mettent à jour
- Les top produits se mettent à jour
- Les alertes de stock restent affichées (indépendantes de la période)
Critère de réussite: Tous les critères ci-dessus doivent être validés
7.2 Rapports de Ventes
Test 7.2.1: Affichage des graphiques de ventes
ID: TC-RAP-003
Priorité: Haute
Type: Fonctionnel
Description: Vérifier l'affichage des graphiques de ventes.
Préconditions:
- Avoir des données de vente
- Être sur le module Rapports
Étapes de test:
- Cliquer sur l'onglet "Ventes"
- Observer les graphiques
- Vérifier les tableaux
Résultats attendus:
- Le graphique "Évolution des ventes" s'affiche
- Le graphique "Répartition par catégorie" s'affiche
- Le graphique "Répartition par mode de paiement" s'affiche
- Le tableau "Performance des employés" s'affiche
- Les graphiques sont interactifs (tooltips)
- Les légendes sont claires
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 7.2.2: Export CSV des ventes
ID: TC-RAP-004
Priorité: Haute
Type: Fonctionnel
Description: Exporter les données de ventes en CSV.
Préconditions:
- Avoir des données de vente
- Être sur l'onglet "Ventes"
Étapes de test:
- Sélectionner la période "Mois"
- Cliquer sur le bouton "Exporter CSV"
- Vérifier que le fichier est téléchargé
- Ouvrir le fichier CSV
- Vérifier le contenu
Résultats attendus:
- Le fichier CSV est téléchargé
- Le fichier contient toutes les colonnes attendues
- Les données correspondent à la période sélectionnée
- Les montants sont au bon format
- Les dates sont au format français
Critère de réussite: Tous les critères ci-dessus doivent être validés
7.3 Rapports de Stock
Test 7.3.1: Affichage des rapports de stock
ID: TC-RAP-005
Priorité: Haute
Type: Fonctionnel
Description: Vérifier l'affichage des rapports d'inventaire.
Préconditions:
- Avoir des produits en stock
- Être sur le module Rapports
Étapes de test:
- Cliquer sur l'onglet "Stock"
- Observer les affichages
- Vérifier les totaux
Résultats attendus:
- La valeur totale du stock s'affiche
- La répartition par catégorie s'affiche
- Le graphique "Valeur du stock par catégorie" s'affiche
- Le tableau "Détail par catégorie" s'affiche
- La liste des produits en stock bas s'affiche
- Les valeurs de réapprovisionnement sont calculées
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 7.3.2: Export CSV de l'inventaire
ID: TC-RAP-006
Priorité: Haute
Type: Fonctionnel
Description: Exporter l'inventaire complet en CSV.
Préconditions:
- Avoir des produits en base
- Être sur l'onglet "Stock"
Étapes de test:
- Cliquer sur le bouton "Exporter l'inventaire"
- Vérifier que le fichier est téléchargé
- Ouvrir le fichier CSV
- Vérifier le contenu
Résultats attendus:
- Le fichier CSV est téléchargé
- Tous les produits actifs sont inclus
- Les colonnes incluent: Référence, Désignation, Catégorie, Stock, Valeur, etc.
- Les données sont complètes et exactes
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test 7.3.3: Export CSV des stocks bas
ID: TC-RAP-007
Priorité: Haute
Type: Fonctionnel
Description: Exporter la liste des produits en stock bas.
Préconditions:
- Avoir des produits sous le stock minimum
- Être sur l'onglet "Stock"
Étapes de test:
- Cliquer sur le bouton "Exporter les stocks bas"
- Vérifier que le fichier est téléchargé
- Ouvrir le fichier CSV
- Vérifier le contenu
Résultats attendus:
- Le fichier CSV est téléchargé
- Seuls les produits en stock bas sont inclus
- Les colonnes incluent: Référence, Désignation, Stock actuel, Stock minimum, Quantité à commander
- Les données sont utiles pour la réapprovisionnement
Critère de réussite: Tous les critères ci-dessus doivent être validés
Tests Intégrateurs
TI-1: Flux complet Vente → Atelier → Retrait
Test TI-1.1: Cycle complet de vente à la livraison
ID: TC-INT-001
Priorité: Critique
Type: Intégration
Description: Valider le flux complet d'une vente avec montage jusqu'au retrait par le client.
Préconditions:
- Avoir un client avec une fiche de vision
- Avoir des montures et verres en stock
- Être sur la page d'accueil
Étapes de test:
- Module Clients: Vérifier que le client "Sophie Martin" a une fiche de vision avec des mesures
- Module POS:
- Sélectionner le client "Sophie Martin"
- Ajouter une monture au panier
- Ajouter deux verres au panier
- Payer en totalité par "Carte"
- Noter le numéro de vente (ex: V2026020001)
- Module Produits: Vérifier que le stock a diminué
- Module Atelier:
- Vérifier que la commande apparaît en statut "EN_ATTENTE"
- Ouvrir la commande
- Vérifier que les mesures de vision du client sont affichées
- Cliquer sur "Commencer le montage"
- Cliquer sur "Marquer comme terminé"
- Cliquer sur "Marquer comme prêt"
- Module Atelier: Aller dans l'onglet "Prêtes pour retrait"
- Vérifier que la commande apparaît
- Cliquer sur "Confirmer le retrait"
Résultats attendus:
- La client est correctement associé à la vente
- La fiche de vision est accessible depuis l'atelier
- Le stock est décrémenté après la vente
- La commande d'atelier est automatiquement créée
- Les produits (monture + verres) sont listés dans l'atelier
- Les mesures de vision sont correctement affichées
- Le workflow de statut fonctionne: EN_ATTENTE → EN_COURS → TERMINE → PRET
- La commande apparaît dans l'onglet "Prêtes pour retrait"
- Le retrait est confirmé
Critère de réussite: Tous les critères ci-dessus doivent être validés
TI-2: Flux Achat → Stock → Vente
Test TI-2.1: Réapprovisionnement et vente
ID: TC-INT-002
Priorité: Critique
Type: Intégration
Description: Valider le flux complet de réapprovisionnement et vente.
Préconditions:
- Avoir un fournisseur en base
- Avoir un produit avec stock bas
- Être sur la page d'accueil
Étapes de test:
- Module Produits: Noter le stock actuel d'un produit (ex: Monture, stock = 2)
- Module Achats:
- Créer une nouvelle facture d'achat
- Sélectionner le fournisseur
- Ajouter une ligne avec le produit (quantité: 10)
- Enregistrer la facture (statut: BROUILLON)
- Module Achats: Valider la facture et réceptionner le stock
- Module Produits: Vérifier que le stock est maintenant de 12 (2 + 10)
- Module POS:
- Créer une nouvelle vente
- Ajouter 3 fois ce produit
- Payer la vente
- Module Produits: Vérifier que le stock est maintenant de 9 (12 - 3)
Résultats attendus:
- La facture d'achat est créée en brouillon
- La validation de la facture incrémente le stock
- Le stock est correctement mis à jour dans les produits
- Les statistiques de stock sont mises à jour
- Le produit est disponible dans le POS
- La vente décrémente le stock
- Le stock final est correct (initial + achat - vente)
Critère de réussite: Tous les critères ci-dessus doivent être validés
TI-3: Gestion des stocks bas
Test TI-3.1: Alertes de stock et réapprovisionnement
ID: TC-INT-003
Priorité: Haute
Type: Intégration
Description: Vérifier que les alertes de stock bas fonctionnent et disparaissent après réapprovisionnement.
Préconditions:
- Avoir un produit avec stock = 0 et stock minimum = 3
- Être sur la page d'accueil
Étapes de test:
- Module Produits: Vérifier que le produit a une alerte de stock bas
- Module Rapports:
- Aller dans l'onglet "Stock"
- Vérifier que le produit apparaît dans la liste des stocks bas
- Exporter le CSV des stocks bas
- Module Achats:
- Créer une facture d'achat
- Ajouter ce produit (quantité: 10)
- Valider la facture
- Module Produits: Vérifier que l'alerte a disparu
- Module Rapports: Vérifier que le produit n'est plus dans la liste des stocks bas
Résultats attendus:
- L'alerte de stock bas s'affiche sur le produit
- Le produit apparaît dans les alertes du Dashboard
- Le produit apparaît dans le rapport des stocks bas
- L'export CSV contient le produit
- Après réapprovisionnement, l'alerte disparaît
- Le produit est retiré des alertes du Dashboard
- Le produit disparaît du rapport des stocks bas
Critère de réussite: Tous les critères ci-dessus doivent être validés
TI-4: Historique client complet
Test TI-4.1: Consultation de l'historique d'achat d'un client
ID: TC-INT-004
Priorité: Haute
Type: Intégration
Description: Vérifier que l'historique complet d'un client est accessible.
Préconditions:
- Avoir un client avec plusieurs ventes
- Être sur la page d'accueil
Étapes de test:
- Module Clients:
- Rechercher un client avec plusieurs achats
- Ouvrir le détail du client
- Vérifier que les fiches de vision sont affichées
- Module POS:
- Aller dans l'onglet "Historique"
- Filtrer par ce client
- Vérifier que toutes ses ventes apparaissent
- Ouvrir une vente et vérifier le lien vers le client
Résultats attendus:
- Les fiches de vision du client sont accessibles
- L'historique des ventes du client est complet
- Le filtrage par client fonctionne dans l'historique POS
- Les détails de chaque vente sont accessibles
- Les montants totaux par client sont cohérents
Critère de réussite: Tous les critères ci-dessus doivent être validés
Tests de Performance
TP-1: Chargement des listes
Test TP-1.1: Chargement avec 100+ clients
ID: TC-PER-001
Priorité: Moyenne
Type: Performance
Description: Vérifier que la liste des clients se charge rapidement avec beaucoup de données.
Préconditions:
- Avoir au moins 100 clients en base
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Gestion Clients"
- Mesurer le temps de chargement
- Tester la recherche
Résultats attendus:
- La liste se charge en moins de 2 secondes
- La navigation est fluide (pas de lag)
- La recherche réagit en moins de 500ms
- Le défilement est fluide
Critère de réussite: Tous les critères ci-dessus doivent être validés
Test TP-1.2: Chargement avec 200+ produits
ID: TC-PER-002
Priorité: Moyenne
Type: Performance
Description: Vérifier que la liste des produits se charge rapidement.
Préconditions:
- Avoir au moins 200 produits en base
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Gestion Produits"
- Mesurer le temps de chargement
- Tester les filtres
Résultats attendus:
- La liste se charge en moins de 3 secondes
- Les filtres réagissent en moins de 500ms
- La navigation est fluide
Critère de réussite: Tous les critères ci-dessus doivent être validés
TP-2: Rapports
Test TP-2.1: Génération de rapports avec beaucoup de données
ID: TC-PER-003
Priorité: Moyenne
Type: Performance
Description: Vérifier que les rapports se génèrent rapidement.
Préconditions:
- Avoir au moins 50 ventes sur plusieurs mois
- Être connecté à l'application
Étapes de test:
- Cliquer sur le module "Rapports"
- Mesurer le temps de chargement du Dashboard
- Changer la période et mesurer
- Générer un export CSV
Résultats attendus:
- Le Dashboard se charge en moins de 3 secondes
- Le changement de période prend moins de 1 seconde
- L'export CSV se génère en moins de 5 secondes
Critère de réussite: Tous les critères ci-dessus doivent être validés
Résumé des Tests
Statistiques Globales
| Module | Tests Critiques | Tests Haute | Tests Moyenne | Total Tests |
|---|---|---|---|---|
| Gestion Clients | 4 | 5 | 2 | 11 |
| Gestion Produits | 3 | 7 | 3 | 13 |
| Fournisseurs | 2 | 1 | 1 | 4 |
| Achats & Stock | 2 | 6 | 3 | 11 |
| Point de Vente (POS) | 3 | 8 | 1 | 12 |
| Atelier | 3 | 3 | 2 | 8 |
| Rapports | 2 | 5 | 0 | 7 |
| Tests Intégrateurs | 3 | 1 | 0 | 4 |
| Tests de Performance | 0 | 0 | 3 | 3 |
| TOTAL | 22 | 36 | 15 | 73 |
Critères de Validation Globale
L'application OptiqueStock est considérée comme VALIDÉE si:
- Tous les tests critiques (22) sont réussis
- Au moins 90% des tests haute priorité sont réussis
- Au moins 80% des tests moyenne priorité sont réussis
- Tous les tests intégrateurs (4) sont réussis
Notes et Observations
Date du test: _______________
Testeur: _______________
Environnement: Développement / Production
Résultats globaux:
- Tests réussis: _____ / 73
- Tests échoués: _____ / 73
- Taux de réussite: _____ %
Problèmes rencontrés:
Recommandations:
Signature du Testeur: _______________
Date: _______________