Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        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()
 };