Make group navigation controller-driven

This commit is contained in:
Joe Julian
2026-03-29 11:21:38 -07:00
parent ea5c8b3c31
commit 24dcf9c8ad
6 changed files with 191 additions and 60 deletions
+32
View File
@@ -967,6 +967,38 @@ func TestRenameCurrentGroupUpdatesPathAndMarksDirty(t *testing.T) {
}
}
func TestDeleteCurrentGroupRemovesItNavigatesToParentAndMarksDirty(t *testing.T) {
t.Parallel()
model := testVaultModel()
model.CreateGroup([]string{"Root"}, "Finance")
sess := &mutableStubSession{model: model}
state := State{
Session: sess,
CurrentPath: []string{"Root", "Finance"},
}
if err := state.DeleteCurrentGroup(); err != nil {
t.Fatalf("DeleteCurrentGroup() error = %v", err)
}
if !slices.Equal(state.CurrentPath, []string{"Root"}) {
t.Fatalf("CurrentPath = %v, want [Root]", state.CurrentPath)
}
got, err := state.ChildGroups()
if err != nil {
t.Fatalf("ChildGroups() error = %v", err)
}
if !slices.Equal(got, []string{"Home Assistant", "Internet"}) {
t.Fatalf("ChildGroups() = %v, want [Home Assistant Internet]", got)
}
if !state.Dirty {
t.Fatal("Dirty = false, want true after DeleteCurrentGroup")
}
}
func TestMoveSelectedEntryPersistsPathChangeAndMarksDirty(t *testing.T) {
t.Parallel()