docs(tests): mark F1/F3/F4 validated, section F complete
This commit is contained in:
+4
-4
@@ -1,4 +1,4 @@
|
|||||||
# Scénarios de test — écriture concurrente & fermeture de l'éditeur
|
# Scénarios de test — écriture concurrente & fermeture de l'éditeur
|
||||||
|
|
||||||
Sessions du 2026-07-22. Tous les tests sont **manuels** (ils portent sur des
|
Sessions du 2026-07-22. Tous les tests sont **manuels** (ils portent sur des
|
||||||
interactions UI que le harness `node:test` ne couvre pas). Rebuild obligatoire
|
interactions UI que le harness `node:test` ne couvre pas). Rebuild obligatoire
|
||||||
@@ -216,7 +216,7 @@ plus bas.
|
|||||||
|
|
||||||
## F — Round-trip export / import (drapeaux & provenance)
|
## F — Round-trip export / import (drapeaux & provenance)
|
||||||
|
|
||||||
### F1 · favori + épingle survivent au restore
|
### F1 · favori + épingle survivent au restore ✅
|
||||||
- **F1a — entrée supprimée puis réimportée** ✅ : épingler **et** mettre en favori une entrée → *Export vault* → supprimer l'entrée (corbeille + purge) → *Import vault*.
|
- **F1a — entrée supprimée puis réimportée** ✅ : épingler **et** mettre en favori une entrée → *Export vault* → supprimer l'entrée (corbeille + purge) → *Import vault*.
|
||||||
**ATTENDU** : elle revient **épinglée et favorite** (chemin INSERT / bulk-import).
|
**ATTENDU** : elle revient **épinglée et favorite** (chemin INSERT / bulk-import).
|
||||||
- **F1b — import en mode écrasement** ✅ : même export, mais **sans** supprimer l'entrée. Retirer l'épingle et le favori localement, réimporter, choisir **Overwrite**.✅
|
- **F1b — import en mode écrasement** ✅ : même export, mais **sans** supprimer l'entrée. Retirer l'épingle et le favori localement, réimporter, choisir **Overwrite**.✅
|
||||||
@@ -229,7 +229,7 @@ plus bas.
|
|||||||
- **La présence du fichier ne prouve RIEN** : si le mot de passe de backup remontait vide de la pref, le conteneur serait produit quand même — chiffré avec une chaîne vide, donc parfaitement valide et impossible à ouvrir avec le vrai mot de passe. Le seul critère est que l'**import le déchiffre** : la modale doit lister le bon nombre d'entrées avec leurs sites et identifiants réels.
|
- **La présence du fichier ne prouve RIEN** : si le mot de passe de backup remontait vide de la pref, le conteneur serait produit quand même — chiffré avec une chaîne vide, donc parfaitement valide et impossible à ouvrir avec le vrai mot de passe. Le seul critère est que l'**import le déchiffre** : la modale doit lister le bon nombre d'entrées avec leurs sites et identifiants réels.
|
||||||
- **Pourquoi ce test compte depuis 2026-08-02** : c'est le seul chemin qui lit `autoBackupPwd` depuis la pref DPAPI. Il casserait si `loadAutoBackupConfig(true)` n'était pas passé là où le chiffrement a lieu (cf. E9).
|
- **Pourquoi ce test compte depuis 2026-08-02** : c'est le seul chemin qui lit `autoBackupPwd` depuis la pref DPAPI. Il casserait si `loadAutoBackupConfig(true)` n'était pas passé là où le chiffrement a lieu (cf. E9).
|
||||||
|
|
||||||
### F3 · CSV étranger → drapeaux à 0
|
### F3 · CSV étranger → drapeaux à 0 ✅
|
||||||
- **ACTION** : importer un CSV sans colonnes favorite/pinned.
|
- **ACTION** : importer un CSV sans colonnes favorite/pinned.
|
||||||
- **ATTENDU** : entrées importées ni épinglées ni favorites (défaut 0), pas d'erreur.
|
- **ATTENDU** : entrées importées ni épinglées ni favorites (défaut 0), pas d'erreur.
|
||||||
|
|
||||||
@@ -241,7 +241,7 @@ plus bas.
|
|||||||
- **Correctif** : `applyRemoteSnapshot` charge aussi la corbeille et saute tout uuid qui s'y trouve. La décision locale de mettre à la corbeille l'emporte ; c'est le **vidage** de la corbeille qui écrit le tombstone et propage la suppression.
|
- **Correctif** : `applyRemoteSnapshot` charge aussi la corbeille et saute tout uuid qui s'y trouve. La décision locale de mettre à la corbeille l'emporte ; c'est le **vidage** de la corbeille qui écrit le tombstone et propage la suppression.
|
||||||
- **Nettoyage si le bug a déjà frappé** : les doublons vivants sont à supprimer à la main. Vérifier aussi l'autre appareil, où ils ont pu être poussés.
|
- **Nettoyage si le bug a déjà frappé** : les doublons vivants sont à supprimer à la main. Vérifier aussi l'autre appareil, où ils ont pu être poussés.
|
||||||
|
|
||||||
### F4 · le sync ne propage PAS les drapeaux (device-local, décidé 2026-07-11)
|
### F4 · le sync ne propage PAS les drapeaux (device-local, décidé 2026-07-11) ✅
|
||||||
- **ACTION** : épingler/favoriser une entrée sur le device A → *Sync now* → *Sync now* sur le device B.
|
- **ACTION** : épingler/favoriser une entrée sur le device A → *Sync now* → *Sync now* sur le device B.
|
||||||
- **ATTENDU** : sur B, l'entrée **n'est pas** épinglée/favorite. Et un sync ne doit jamais **retirer** un drapeau posé localement sur B (le PUT serveur ne touche pas ces colonnes).
|
- **ATTENDU** : sur B, l'entrée **n'est pas** épinglée/favorite. Et un sync ne doit jamais **retirer** un drapeau posé localement sur B (le PUT serveur ne touche pas ces colonnes).
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user