Show cached vault summary for bound remotes

This commit is contained in:
Joe Julian
2026-04-06 16:42:56 -07:00
parent 48a21c2c59
commit af44810a1c
2 changed files with 123 additions and 22 deletions
+70
View File
@@ -5342,6 +5342,76 @@ func TestUIRemoteOpenButtonLabelUsesLocalCacheLanguageForBoundRemote(t *testing.
}
}
func TestUISelectedRemoteCardUsesLocalCacheSummaryForBoundRemote(t *testing.T) {
t.Parallel()
u := newUIWithSession("desktop", &session.Manager{})
u.lifecycleMode = "remote"
u.applyRecentRemoteRecord(recentRemoteRecord{
BaseURL: "https://dav.example.invalid",
Path: "vaults/home.kdbx",
LocalVaultPath: "/vaults/cache/home.kdbx",
RemoteProfileID: "remote-profile-1",
CredentialEntryID: "remote-creds-1",
})
u.recentRemotes = []recentRemoteRecord{{
BaseURL: "https://dav.example.invalid",
Path: "vaults/home.kdbx",
LocalVaultPath: "/vaults/cache/home.kdbx",
RemoteProfileID: "remote-profile-1",
CredentialEntryID: "remote-creds-1",
LastGroup: []string{"Root", "Internet"},
}}
if got := u.selectedRemoteCardHeading(); got != "CACHED VAULT" {
t.Fatalf("selectedRemoteCardHeading() = %q, want %q", got, "CACHED VAULT")
}
if got := u.selectedRemoteCardPrimaryText(); got != "home.kdbx" {
t.Fatalf("selectedRemoteCardPrimaryText() = %q, want %q", got, "home.kdbx")
}
gotDetails := u.selectedRemoteCardDetailLines()
wantDetails := []string{
"/vaults/cache",
"Sync target: home.kdbx · dav.example.invalid",
"Last group: Root / Internet",
}
if !slices.Equal(gotDetails, wantDetails) {
t.Fatalf("selectedRemoteCardDetailLines() = %v, want %v", gotDetails, wantDetails)
}
}
func TestUISelectedRemoteCardUsesConnectionSummaryWithoutLocalCache(t *testing.T) {
t.Parallel()
u := newUIWithSession("desktop", &session.Manager{})
u.lifecycleMode = "remote"
u.applyRecentRemoteRecord(recentRemoteRecord{
BaseURL: "https://dav.example.invalid",
Path: "vaults/home.kdbx",
})
u.recentRemotes = []recentRemoteRecord{{
BaseURL: "https://dav.example.invalid",
Path: "vaults/home.kdbx",
LastGroup: []string{"Root", "Internet"},
}}
if got := u.selectedRemoteCardHeading(); got != "SELECTED CONNECTION" {
t.Fatalf("selectedRemoteCardHeading() = %q, want %q", got, "SELECTED CONNECTION")
}
if got := u.selectedRemoteCardPrimaryText(); got != "home.kdbx · dav.example.invalid" {
t.Fatalf("selectedRemoteCardPrimaryText() = %q, want %q", got, "home.kdbx · dav.example.invalid")
}
gotDetails := u.selectedRemoteCardDetailLines()
wantDetails := []string{
"Path: vaults/home.kdbx",
"Server: https://dav.example.invalid",
"Last group: Root / Internet",
}
if !slices.Equal(gotDetails, wantDetails) {
t.Fatalf("selectedRemoteCardDetailLines() = %v, want %v", gotDetails, wantDetails)
}
}
func TestUIOpenRemoteVaultRestoresLastOpenedGroupForThatConnection(t *testing.T) {
t.Parallel()