Ajout de la fonctionnalité de sauvegarde des utilisateurs et voyages
Description du problème
On remarque que lorsque l'on quitte l'application, les informations ne sont pas sauvegardées. Il faudrait qu'elles persistent dans la mémoire physique et pour cela, ajouter une sauvegarde ds données dans un fichier.
Choix des tests à effectuer
- Vérifier le bon chargement du
UserManager
en mode sauvegarde - Vérifier la mise à jour du fichier user lors :
- D'un ajout
- D'une modification
- D'une suppression
- Vérifier le bon chargement d'un
Calendar
en mode sauvegarde - Vérifier la mise à jour du fichier user lors :
- D'un ajout
- D'une modification
- D'une suppression
Solution à mettre en œuvre
Création de FileHelpers pour que toute la logique de lecture/écriture ne soit pas gérée par le UserManager
ou Calendar
mais par une autre classe dont ce sera l'unique rôle.
Sauvegarde des utilisateurs :
- Création d'un nouveau constructeur pour
UserManager
qui prend en paramètre le chemin du fichier de sauvegarde.- Permet de créer un
UserManager
sans sauvegarde pour les tests et un autre avec sauvegarde pour la production
- Permet de créer un
- On lit le fichier de mots de passe une seule fois à l'initialisation du
UserManager
- On écrit dans le fichier à chaque fois que l'on ajoute/modifie/supprime un utilisateur.
Sauvegarde des calendriers (liste des voyages) :
- Création d'un nouveau constructeur pour
Calendar
qui prend en paramètre le préfixe du fichier de sauvegarde (Format : "préfixe_nomagent.txt").- Même raison que pour le
UserManager
- Même raison que pour le
- On lit le fichier de mots de passe une seule fois à l'initialisation du
Calendar
- On écrit dans le fichier à chaque fois que l'on ajoute/modifie/supprime un voyage.
Issue hors énoncé