OFFICE DE LA FORMATION PROFESSIONNELLE
ET DE LA PROMOTION DE TRAVAIL
Direction Régionale Fès - Meknès
Module : M202 – Approche Agile
Filière : Développement digital – option web full stack
Activité 10
Objectifs :
▪ Rappel des concepts de la POO
▪ Initiation aux tests unitaires
1. Créer et initialiser un projet à l’aide de composer ; Ajouter phpunit comme
dépendance de développement.
Soit la classe Produit, définit par les attributs suivants :
- reference : la chaine unique permettant l’identification d’un produit
- libelle : le nom du produit
- prix
- type : son type qui peut être l’un des types suivants : 'alimentation', 'nettoyage',
'vêtement', 'appareil'.
- stock : La quantité en stock
- une constante TVA définit ainsi :
const TVA = [
'0.05' => ['alimentation', 'nettoyage'],
'0.2' => ['vetement', 'appareil']
];
1. Créer cette classe ;
2. Ajouter à ces attributs des accesseurs et mutateurs, tel que :
a. La référence doit commencer par au moins deux lettres en majuscules ;
b. Le prix et le stock ne doivent pas être négatifs ;
c. Le type ne doit accepter que les types prédéfinis : 'alimentation', 'nettoyage',
'vêtement' et 'appareil'.
d. Le type doit être retourné en majuscule ;
Levez des exceptions en cas d’erreurs.
3. Ajouter à cette classe les fonctions suivantes :
a. valeurEnStock : qui calcule et retourne la valeur du produit en stock (prix x stock)
b. calculerTTC : qui permet de chercher le taux TVA selon le type de produit,
calculer et retourner son prix en tout taxe compris ;
Formatrice : Asmae YOUALA
c. solde ($pourcentage) : qui permet de retourner le nouveau prix après le solde.
4. Sous un dossier « tests », ajouter une classe ProduitTest, qui permettra de tester
toutes les fonctions écrites en 2. et 3.