Something went wrong. Try again.
small gleam coding and persistent agent daemon with a detachable cli and a canvas ui forked from okami.mom/albedo
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051// TUI routing and in-flight save rendering cannot be exercised by daemon E2E// tests. These checks keep display text from controlling either state machine.package tui
import ( "albedo/cli/internal/daemon" "errors" "fmt" "strings" "testing"
tea "charm.land/bubbletea/v2" "github.com/charmbracelet/x/ansi")
func TestCatalogFailureUsesErrorIdentity(t *testing.T) { for _, tc := range []struct { err error show bool }{ {fmt.Errorf("catalog: %w", daemon.UpgradeNeeded("for commands")), true}, {errors.New("unrelated service needs an update"), false}, } { m := AppModel{} next, _ := m.Update(commandCatalogLoadedMsg{Err: tc.err}) if next.(AppModel).Notices.HasError() != tc.show { t.Fatalf("catalog failure was routed using its wording: %v", tc.err) } }}
func TestExtensionSaveHidesConfirmationUntilFailure(t *testing.T) { m := NewExtensionPickerModel(nil, "session") m.Loading = false m.Width, m.Height = 80, 20 m.Extensions = []ExtensionItem{{Name: "webhooks"}} m, _ = m.Update(tea.KeyPressMsg{Code: tea.KeyEnter}) m, cmd := m.Update(tea.KeyPressMsg{Code: tea.KeyEnter}) if !m.Saving || cmd == nil { t.Fatal("confirmation did not start the save") } view := ansi.Strip(m.View()) if !strings.Contains(view, "Reloading") || strings.Contains(view, "cancel") || strings.Contains(view, "confirm") { t.Fatalf("in-flight save still offers confirmation: %s", view) } m, _ = m.Update(extensionToggledMsg{Gen: m.Generation, Err: errors.New("save failed")}) if m.Saving || !m.Confirming || !strings.Contains(ansi.Strip(m.View()), "retry") { t.Fatal("failed save did not restore the retry prompt") }}