2397 lines
68 KiB
Markdown
2397 lines
68 KiB
Markdown
# 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
|
|
|
|
1. [Introduction](#introduction)
|
|
2. [Environnement de Test](#environnement-de-test)
|
|
3. [Module 1: Gestion des Clients](#module-1-gestion-des-clients)
|
|
4. [Module 2: Gestion des Produits](#module-2-gestion-des-produits)
|
|
5. [Module 3: Gestion des Fournisseurs](#module-3-gestion-des-fournisseurs)
|
|
6. [Module 4: Achats & Stock](#module-4-achats--stock)
|
|
7. [Module 5: Point de Vente (POS)](#module-5-point-de-vente-pos)
|
|
8. [Module 6: Atelier](#module-6-atelier)
|
|
9. [Module 7: Rapports](#module-7-rapports)
|
|
10. [Tests Intégrateurs](#tests-intégrateurs)
|
|
11. [Tests de Performance](#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:**
|
|
1. Cliquer sur le module "Gestion Clients" depuis la page d'accueil
|
|
2. Observer l'affichage de la liste des clients
|
|
3. 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:**
|
|
1. Dans la barre de recherche, saisir le nom d'un client existant (ex: "Dupont")
|
|
2. Observer le filtrage des résultats
|
|
3. Saisir un numéro de téléphone existant
|
|
4. Observer le filtrage des résultats
|
|
5. Saisir un texte qui ne correspond à aucun client
|
|
6. 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:**
|
|
1. Cliquer sur le bouton "Nouveau Client"
|
|
2. 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"
|
|
3. Cliquer sur "Enregistrer"
|
|
4. Vérifier que le client apparaît dans la liste
|
|
5. 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:**
|
|
1. Cliquer sur "Nouveau Client"
|
|
2. Ne remplir que l'email et le téléphone
|
|
3. Cliquer sur "Enregistrer"
|
|
4. 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:**
|
|
1. Cliquer sur le bouton "Voir" d'un client
|
|
2. Cliquer sur le bouton "Modifier"
|
|
3. Changer le téléphone: "0698765432"
|
|
4. Ajouter des notes: "Préférence pour montures en titane"
|
|
5. Cliquer sur "Mettre à jour"
|
|
6. 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:**
|
|
1. Cliquer sur "Voir" pour un client sans vente
|
|
2. Cliquer sur le bouton "Supprimer"
|
|
3. Confirmer la suppression dans la boîte de dialogue
|
|
4. 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:**
|
|
1. Cliquer sur "Voir" pour un client
|
|
2. Cliquer sur le bouton "Nouvelle Fiche"
|
|
3. Remplir les mesures OD:
|
|
- Sphère: "-2.00"
|
|
- Cylindre: "-0.50"
|
|
- Axe: "90"
|
|
4. Remplir les mesures OG:
|
|
- Sphère: "-1.75"
|
|
- Cylindre: "-0.75"
|
|
- Axe: "95"
|
|
5. Remplir les paramètres additionnels:
|
|
- Addition: "1.50"
|
|
- DP: "62"
|
|
- Hauteur: "22"
|
|
6. Ajouter des notes: "Prescription pour lecture"
|
|
7. Cliquer sur "Enregistrer la fiche"
|
|
8. 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:**
|
|
1. Cliquer sur "Voir" pour un client avec une fiche
|
|
2. Cliquer sur le bouton "Modifier" de la fiche de vision
|
|
3. Changer la sphère OD: "-2.25"
|
|
4. Changer l'axe OG: "100"
|
|
5. Cliquer sur "Mettre à jour"
|
|
6. 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:**
|
|
1. Cliquer sur "Voir" pour un client
|
|
2. Cliquer sur le bouton "Supprimer" d'une fiche
|
|
3. Confirmer la suppression
|
|
4. 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:**
|
|
1. Cliquer sur le module "Gestion Produits"
|
|
2. Observer l'affichage de la liste
|
|
3. Vérifier les colonnes visibles
|
|
4. 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:**
|
|
1. Sélectionner la catégorie "MONTURE"
|
|
2. Vérifier que seules les montures s'affichent
|
|
3. Sélectionner la catégorie "VERRE"
|
|
4. Vérifier que seuls les verres s'affichent
|
|
5. Sélectionner "Toutes"
|
|
6. 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:**
|
|
1. Sélectionner le filtre "Stock bas"
|
|
2. Vérifier que seuls les produits sous le stock minimum s'affichent
|
|
3. Sélectionner "En rupture"
|
|
4. Vérifier que seuls les produits avec stock = 0 s'affichent
|
|
5. 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:**
|
|
1. Saisir une référence de produit existante
|
|
2. Vérifier que le produit correspondant s'affiche
|
|
3. Saisir une partie de désignation (ex: "titane")
|
|
4. Vérifier les résultats
|
|
5. Saisir une marque
|
|
6. Vérifier les résultats
|
|
7. 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:**
|
|
1. Cliquer sur "Nouveau Produit"
|
|
2. 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"
|
|
3. Onglet "Pricing":
|
|
- Prix achat HT: "45.00"
|
|
- Prix vente TTC: "120.00"
|
|
- TVA: "20%"
|
|
4. Onglet "Stock":
|
|
- Stock actuel: "10"
|
|
- Stock minimum: "3"
|
|
- Emplacement: "A-01-05"
|
|
5. 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"
|
|
6. 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:**
|
|
1. Cliquer sur "Nouveau Produit"
|
|
2. 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"
|
|
3. Onglet "Pricing":
|
|
- Prix achat HT: "80.00"
|
|
- Prix vente TTC: "180.00"
|
|
- TVA: "20%"
|
|
4. Onglet "Stock":
|
|
- Stock actuel: "20"
|
|
- Stock minimum: "5"
|
|
- Emplacement: "B-03-10"
|
|
5. Onglet "Détails":
|
|
- Type de verre: "Progressif"
|
|
- Indice: "1.67"
|
|
- Matériau: "Organique"
|
|
- Couleur: "Incolore"
|
|
- Description: "Verre haute qualité pour forte correction"
|
|
6. 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:**
|
|
1. Cliquer sur "Nouveau Produit"
|
|
2. Saisir la référence "MNT-001" (déjà utilisée)
|
|
3. Remplir les autres champs obligatoires
|
|
4. 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:**
|
|
1. Cliquer sur le bouton "Modifier" d'un produit
|
|
2. Changer le prix vente TTC: "135.00"
|
|
3. Changer le stock actuel: "8"
|
|
4. Ajouter une description: "Nouveau modèle 2026"
|
|
5. Cliquer sur "Mettre à jour"
|
|
6. 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:**
|
|
1. Cliquer sur le bouton "Images" d'un produit
|
|
2. Cliquer sur "Ajouter une image"
|
|
3. Sélectionner une image (JPEG, max 5MB)
|
|
4. Répéter pour une deuxième image
|
|
5. 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:**
|
|
1. Ouvrir la galerie d'images d'un produit
|
|
2. Cliquer sur le bouton "Supprimer" d'une image
|
|
3. Confirmer la suppression
|
|
4. 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:**
|
|
1. Cliquer sur le bouton "QR Code" d'un produit
|
|
2. Vérifier que le QR code s'affiche
|
|
3. Vérifier les informations affichées
|
|
4. Cliquer sur "Télécharger PNG"
|
|
5. 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:**
|
|
1. Cliquer sur le bouton "Désactiver" d'un produit
|
|
2. Confirmer la désactivation
|
|
3. Vérifier que le produit est marqué comme inactif
|
|
4. 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:**
|
|
1. Cliquer sur le bouton "Activer" d'un produit inactif
|
|
2. Vérifier que le produit est marqué comme actif
|
|
3. 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:**
|
|
1. Accéder au module Fournisseurs
|
|
2. Observer l'affichage de la liste
|
|
3. 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:**
|
|
1. Cliquer sur "Nouveau Fournisseur"
|
|
2. 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"
|
|
3. 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:**
|
|
1. Cliquer sur "Modifier" d'un fournisseur
|
|
2. Changer le numéro de téléphone
|
|
3. Ajouter des notes
|
|
4. 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:**
|
|
1. Cliquer sur "Supprimer" d'un fournisseur
|
|
2. Confirmer la suppression
|
|
3. 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:**
|
|
1. Cliquer sur le module "Achats & Stock"
|
|
2. Observer l'affichage
|
|
3. 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:**
|
|
1. Sélectionner le filtre "Brouillon"
|
|
2. Vérifier que seules les factures en brouillon s'affichent
|
|
3. Sélectionner "Validé"
|
|
4. Vérifier que seules les factures validées s'affichent
|
|
5. 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:**
|
|
1. Saisir un numéro de facture existant
|
|
2. Vérifier que la facture s'affiche
|
|
3. Saisir le nom d'un fournisseur
|
|
4. 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:**
|
|
1. Cliquer sur l'onglet "Nouvelle facture"
|
|
2. Sélectionner un fournisseur
|
|
3. Sélectionner la date du jour
|
|
4. Ajouter une note: "Commande mensuelle"
|
|
5. Ajouter une ligne:
|
|
- Produit: Sélectionner "Monture Titane Ray-Ban"
|
|
- Quantité: "5"
|
|
- Prix unitaire HT: "45.00" (pré-rempli)
|
|
- TVA: "20%"
|
|
- Cliquer sur "Ajouter"
|
|
6. Ajouter une deuxième ligne:
|
|
- Produit: Sélectionner "Verre Progressif 1.67"
|
|
- Quantité: "10"
|
|
- Prix unitaire HT: "80.00"
|
|
- TVA: "20%"
|
|
- Cliquer sur "Ajouter"
|
|
7. Vérifier les totaux
|
|
8. Cliquer sur "Enregistrer"
|
|
9. 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:**
|
|
1. Cliquer sur le bouton "+" d'une ligne (quantité: 5)
|
|
2. Vérifier que la quantité passe à 6
|
|
3. Vérifier que le total ligne est recalculé
|
|
4. Cliquer sur le bouton "-" 2 fois
|
|
5. 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:**
|
|
1. Cliquer sur le bouton "Supprimer" d'une ligne
|
|
2. Confirmer la suppression
|
|
3. Vérifier que la ligne disparaît
|
|
4. 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:**
|
|
1. Noter le stock actuel des produits de la facture
|
|
2. Cliquer sur le bouton "Voir" de la facture
|
|
3. Cliquer sur "Valider et Réceptionner Stock"
|
|
4. Confirmer la validation
|
|
5. Vérifier que le statut passe à "VALIDE"
|
|
6. Vérifier que la date de réception est enregistrée
|
|
7. Aller dans le module Produits
|
|
8. 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:**
|
|
1. Ouvrir une facture validée
|
|
2. 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:**
|
|
1. Cliquer sur le bouton "Supprimer" d'une facture brouillon
|
|
2. Confirmer la suppression
|
|
3. 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:**
|
|
1. Cliquer sur le bouton "Voir" d'une facture validée
|
|
2. 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:**
|
|
1. Dans le formulaire de création, cliquer sur "Ajouter une facture"
|
|
2. Sélectionner un fichier PDF
|
|
3. Vérifier que le fichier est attaché
|
|
4. 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:**
|
|
1. Cliquer sur le module "Point de Vente"
|
|
2. Observer l'affichage
|
|
3. 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:**
|
|
1. Dans la barre de recherche, saisir "titane"
|
|
2. Observer les résultats
|
|
3. Cliquer sur un produit pour l'ajouter au panier
|
|
4. Vérifier que le produit apparaît dans le panier
|
|
5. 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:**
|
|
1. Ajouter une monture (quantité: 1)
|
|
2. Ajouter deux verres (quantité: 2 chacun)
|
|
3. Vérifier que 3 lignes apparaissent dans le panier
|
|
4. 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:**
|
|
1. Cliquer sur "+" pour augmenter la quantité d'un produit
|
|
2. Vérifier que le total est recalculé
|
|
3. Cliquer sur "-" pour diminuer la quantité
|
|
4. Vérifier que le total est recalculé
|
|
5. Passer la quantité à 0
|
|
6. 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:**
|
|
1. Cliquer sur le bouton "Supprimer" (icône poubelle) d'une ligne
|
|
2. Confirmer si nécessaire
|
|
3. Vérifier que la ligne disparaît
|
|
4. 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:**
|
|
1. Noter le total TTC actuel
|
|
2. Saisir une remise de "10%" dans le champ remise
|
|
3. Vérifier que le nouveau total TTC est calculé
|
|
4. Changer la remise en valeur fixe: "20"
|
|
5. 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:**
|
|
1. Dans la section "Client", cliquer sur le sélecteur
|
|
2. Choisir un client existant
|
|
3. 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:**
|
|
1. Cliquer sur "Nouveau Client"
|
|
2. Remplir le formulaire avec:
|
|
- Nom: "Durand"
|
|
- Prénom: "Marie"
|
|
- Téléphone: "0687654321"
|
|
3. Cliquer sur "Créer"
|
|
4. 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:**
|
|
1. Vérifier le total TTC à payer
|
|
2. Sélectionner le mode de paiement: "Carte"
|
|
3. Saisir le montant: total TTC
|
|
4. Cliquer sur "Enregistrer le paiement"
|
|
5. Vérifier que la vente est enregistrée
|
|
6. 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:**
|
|
1. Noter le total TTC (ex: 300€)
|
|
2. Premier paiement:
|
|
- Mode: "Carte"
|
|
- Montant: "200"
|
|
- Cliquer sur "Ajouter"
|
|
3. Vérifier le reste à payer (100€)
|
|
4. Deuxième paiement:
|
|
- Mode: "Espèces"
|
|
- Montant: "100"
|
|
- Cliquer sur "Ajouter"
|
|
5. Vérifier que le reste à payer est 0€
|
|
6. Cliquer sur "Enregistrer le paiement"
|
|
7. 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:**
|
|
1. Noter le total TTC (ex: 300€)
|
|
2. Premier paiement:
|
|
- Mode: "Espèces"
|
|
- Montant: "100"
|
|
- Cliquer sur "Ajouter"
|
|
3. Cliquer sur "Enregistrer (Paiement partiel)"
|
|
4. 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:**
|
|
1. Cliquer sur l'onglet "Historique"
|
|
2. Observer la liste des ventes
|
|
3. 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:**
|
|
1. Cliquer sur le bouton "Voir" d'une vente
|
|
2. 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:**
|
|
1. Noter le stock actuel des produits de la vente
|
|
2. Cliquer sur "Annuler" pour une vente
|
|
3. Confirmer l'annulation
|
|
4. Vérifier que le statut passe à "ANNULEE"
|
|
5. 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:**
|
|
1. Cliquer sur le module "Atelier"
|
|
2. Observer l'affichage
|
|
3. 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:**
|
|
1. Sélectionner "En attente"
|
|
2. Vérifier que seules les commandes en attente s'affichent
|
|
3. Sélectionner "En cours"
|
|
4. Vérifier les résultats
|
|
5. Sélectionner "Terminé"
|
|
6. Vérifier les résultats
|
|
7. 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:**
|
|
1. Cliquer sur le bouton "Voir" d'une commande
|
|
2. 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:**
|
|
1. Ouvrir une commande en statut "EN_ATTENTE"
|
|
2. Cliquer sur le bouton "Commencer le montage"
|
|
3. Vérifier que le statut passe à "EN_COURS"
|
|
4. 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:**
|
|
1. Ouvrir une commande en statut "EN_COURS"
|
|
2. Cliquer sur le bouton "Marquer comme terminé"
|
|
3. Vérifier que le statut passe à "TERMINE"
|
|
4. 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:**
|
|
1. Ouvrir une commande en statut "TERMINE"
|
|
2. Cliquer sur le bouton "Marquer comme prêt"
|
|
3. Vérifier que la boîte de dialogue de notification s'ouvre
|
|
4. Confirmer que le client a été notifié
|
|
5. Vérifier que le statut passe à "PRET"
|
|
6. Aller dans l'onglet "Prêtes pour retrait"
|
|
7. 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:**
|
|
1. Cliquer sur l'onglet "Prêtes pour retrait"
|
|
2. Observer la liste
|
|
3. 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:**
|
|
1. Cliquer sur le bouton "Confirmer le retrait" d'une commande
|
|
2. Confirmer l'action
|
|
3. 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:**
|
|
1. Cliquer sur le module "Rapports"
|
|
2. Observer l'onglet "Dashboard"
|
|
3. Vérifier toutes les cartes KPI
|
|
4. 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:**
|
|
1. Noter les KPIs actuels (Aujourd'hui)
|
|
2. Changer la période pour "Semaine"
|
|
3. Vérifier que les KPIs changent
|
|
4. Changer la période pour "Mois"
|
|
5. Vérifier que les KPIs changent
|
|
6. Changer la période pour "Année"
|
|
7. 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:**
|
|
1. Cliquer sur l'onglet "Ventes"
|
|
2. Observer les graphiques
|
|
3. 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:**
|
|
1. Sélectionner la période "Mois"
|
|
2. Cliquer sur le bouton "Exporter CSV"
|
|
3. Vérifier que le fichier est téléchargé
|
|
4. Ouvrir le fichier CSV
|
|
5. 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:**
|
|
1. Cliquer sur l'onglet "Stock"
|
|
2. Observer les affichages
|
|
3. 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:**
|
|
1. Cliquer sur le bouton "Exporter l'inventaire"
|
|
2. Vérifier que le fichier est téléchargé
|
|
3. Ouvrir le fichier CSV
|
|
4. 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:**
|
|
1. Cliquer sur le bouton "Exporter les stocks bas"
|
|
2. Vérifier que le fichier est téléchargé
|
|
3. Ouvrir le fichier CSV
|
|
4. 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:**
|
|
1. **Module Clients**: Vérifier que le client "Sophie Martin" a une fiche de vision avec des mesures
|
|
2. **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)
|
|
3. **Module Produits**: Vérifier que le stock a diminué
|
|
4. **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"
|
|
5. **Module Atelier**: Aller dans l'onglet "Prêtes pour retrait"
|
|
6. Vérifier que la commande apparaît
|
|
7. 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:**
|
|
1. **Module Produits**: Noter le stock actuel d'un produit (ex: Monture, stock = 2)
|
|
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)
|
|
3. **Module Achats**: Valider la facture et réceptionner le stock
|
|
4. **Module Produits**: Vérifier que le stock est maintenant de 12 (2 + 10)
|
|
5. **Module POS**:
|
|
- Créer une nouvelle vente
|
|
- Ajouter 3 fois ce produit
|
|
- Payer la vente
|
|
6. **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:**
|
|
1. **Module Produits**: Vérifier que le produit a une alerte de stock bas
|
|
2. **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
|
|
3. **Module Achats**:
|
|
- Créer une facture d'achat
|
|
- Ajouter ce produit (quantité: 10)
|
|
- Valider la facture
|
|
4. **Module Produits**: Vérifier que l'alerte a disparu
|
|
5. **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:**
|
|
1. **Module Clients**:
|
|
- Rechercher un client avec plusieurs achats
|
|
- Ouvrir le détail du client
|
|
- Vérifier que les fiches de vision sont affichées
|
|
2. **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:**
|
|
1. Cliquer sur le module "Gestion Clients"
|
|
2. Mesurer le temps de chargement
|
|
3. 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:**
|
|
1. Cliquer sur le module "Gestion Produits"
|
|
2. Mesurer le temps de chargement
|
|
3. 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:**
|
|
1. Cliquer sur le module "Rapports"
|
|
2. Mesurer le temps de chargement du Dashboard
|
|
3. Changer la période et mesurer
|
|
4. 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:**
|
|
1. ___________________________________________________________________
|
|
2. ___________________________________________________________________
|
|
3. ___________________________________________________________________
|
|
|
|
**Recommandations:**
|
|
1. ___________________________________________________________________
|
|
2. ___________________________________________________________________
|
|
3. ___________________________________________________________________
|
|
|
|
---
|
|
|
|
**Signature du Testeur:** _______________
|
|
**Date:** _______________
|