public async Task GestionnaireContientLeCompteAdminEtLesAutres() { var comptes = new GestionnaireDeComptes(Array.Empty <Compte>()); var compte = new Compte("nom", "mot de passe", false); await accountManagementRepository.CreateOrUpdateLogin(comptes, compte); comptes = await accountManagementRepository.LoadAccounts(); Assert.IsTrue(comptes.Comptes.Contains(defaultAccount.GetAdminAccount())); Assert.IsTrue(comptes.Comptes.Contains(compte)); }
public Task CreateOrUpdateLogin(GestionnaireDeComptes gestionnaireDeCompte, Compte compte) { var basePath = pathProvider.GetAccountsFileName(); var comptesDto = LoadGestionnairedeComptesDto(basePath); var dtoToSave = CompteDto.CreateFromCompte(compte, encryptionProvider); var foundCompte = comptesDto.Comptes.FirstOrDefault(x => x.Nom == dtoToSave.Nom); comptesDto.Comptes = comptesDto.Comptes.Except(new[] { foundCompte }) .Concat(new[] { dtoToSave }) .ToArray(); File.WriteAllText(basePath, JsonConvert.SerializeObject(comptesDto)); //ecrasera le fichier si il existe return(Task.CompletedTask); }
public async Task MiseAJourMotDePasse() { var comptes = new GestionnaireDeComptes(Array.Empty <Compte>()); var compte = new Compte("nom", "mot de passe", false); await accountManagementRepository.CreateOrUpdateLogin(comptes, compte); comptes = await accountManagementRepository.LoadAccounts(); Assert.IsTrue(comptes.Comptes.Contains(compte)); var updatedCompte = new Compte("nom", "mot de passe 2", false); await accountManagementRepository.CreateOrUpdateLogin(comptes, updatedCompte); comptes = await accountManagementRepository.LoadAccounts(); Assert.IsFalse(comptes.Comptes.Contains(compte)); Assert.IsTrue(comptes.Comptes.Contains(updatedCompte)); }
public static GestionnaireDeComptesDto CreateFromGestionnaireDeComptes(GestionnaireDeComptes comptes, IEncryptionProvider encryptionProvider) => new GestionnaireDeComptesDto { Comptes = comptes.Comptes.Select(e => CompteDto.CreateFromCompte(e, encryptionProvider)).ToArray() };