Reset password peek across view changes

This commit is contained in:
Joe Julian
2026-03-29 17:27:19 -07:00
parent bda28eef4b
commit 8ce924e08f
4 changed files with 75 additions and 5 deletions
+54
View File
@@ -2097,6 +2097,60 @@ func TestEnterOnRemoteLifecycleScreenDefaultsToOpenRemoteVault(t *testing.T) {
}
}
func TestMasterPasswordPeekResetsAfterOpeningVault(t *testing.T) {
t.Parallel()
path := filepath.Join(t.TempDir(), "vault.kdbx")
var encoded bytes.Buffer
if err := vault.SaveKDBX(&encoded, vault.Model{
Entries: []vault.Entry{
{ID: "git-server", Title: "Git Server", Password: "token-1", Path: []string{"Root", "Internet"}},
},
}, "correct horse battery staple"); err != nil {
t.Fatalf("SaveKDBX() error = %v", err)
}
if err := os.WriteFile(path, encoded.Bytes(), 0o600); err != nil {
t.Fatalf("WriteFile(vault.kdbx) error = %v", err)
}
u := newUIWithSession("desktop", &session.Manager{})
u.masterPassword.SetText("correct horse battery staple")
u.vaultPath.SetText(path)
u.showPassword = true
if err := u.openVaultAction(); err != nil {
t.Fatalf("openVaultAction() error = %v", err)
}
if u.showPassword {
t.Fatal("showPassword = true after openVaultAction(), want false")
}
}
func TestPasswordPeekResetsWhenChangingSelectedEntry(t *testing.T) {
t.Parallel()
u := newUIWithModel("desktop", vault.Model{
Entries: []vault.Entry{
{ID: "git-server", Title: "Git Server", Password: "token-1", Path: []string{"Root", "Internet"}},
{ID: "dynadot", Title: "Dynadot", Password: "token-2", Path: []string{"Root", "Internet"}},
},
})
u.showEntriesSection()
u.state.NavigateToPath([]string{"Root", "Internet"})
u.filter()
u.state.SelectedEntryID = "git-server"
u.loadSelectedEntryIntoEditor()
u.showPassword = true
u.state.SelectedEntryID = "dynadot"
u.loadSelectedEntryIntoEditor()
if u.showPassword {
t.Fatal("showPassword = true after selecting a different entry, want false")
}
}
func TestEnterOnLockedScreenDefaultsToUnlockVault(t *testing.T) {
t.Parallel()