summaryrefslogtreecommitdiff
path: root/internal/tui/tui_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-24 17:27:10 +0200
committerPaul Buetow <paul@buetow.org>2026-02-24 17:27:10 +0200
commitda8ddf1cf415f1754c3fe71f3f342327ad00e91e (patch)
treeaf3ba70015cf7db4bfd3a2adcb9334417740e4f3 /internal/tui/tui_test.go
parent2ae0b33c9f196634eaa55bd6997d1feae9147385 (diff)
tui: add toggle to disable snapshot export file writes
Diffstat (limited to 'internal/tui/tui_test.go')
-rw-r--r--internal/tui/tui_test.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/internal/tui/tui_test.go b/internal/tui/tui_test.go
index fd7adfa..e69ff9b 100644
--- a/internal/tui/tui_test.go
+++ b/internal/tui/tui_test.go
@@ -192,6 +192,9 @@ func TestDashboardRefreshPicksLateBoundSource(t *testing.T) {
}
func TestExportKeyOpensModalOnDashboard(t *testing.T) {
+ flags.SetTUIExportEnable(true)
+ t.Cleanup(func() { flags.SetTUIExportEnable(true) })
+
m := NewModel(-1, func(context.Context) error { return nil })
m.screen = ScreenDashboard
m.attaching = false
@@ -203,6 +206,21 @@ func TestExportKeyOpensModalOnDashboard(t *testing.T) {
}
}
+func TestExportKeyIgnoredWhenExportDisabled(t *testing.T) {
+ flags.SetTUIExportEnable(false)
+ t.Cleanup(func() { flags.SetTUIExportEnable(true) })
+
+ m := NewModel(-1, func(context.Context) error { return nil })
+ m.screen = ScreenDashboard
+ m.attaching = false
+
+ next, _ := m.Update(tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'e'}})
+ updated := next.(Model)
+ if updated.exporter.Visible() {
+ t.Fatalf("expected export modal to remain closed when export is disabled")
+ }
+}
+
func TestRunExportCmdCSVWritesFile(t *testing.T) {
dir := t.TempDir()
prev, err := os.Getwd()
@@ -292,6 +310,9 @@ func TestHelpOverlayUsesPickerBindingsOnPickerScreen(t *testing.T) {
}
func TestHelpToggleDoesNotBreakExportModalInput(t *testing.T) {
+ flags.SetTUIExportEnable(true)
+ t.Cleanup(func() { flags.SetTUIExportEnable(true) })
+
m := NewModel(-1, func(context.Context) error { return nil })
m.screen = ScreenDashboard
@@ -314,6 +335,22 @@ func TestHelpToggleDoesNotBreakExportModalInput(t *testing.T) {
}
}
+func TestHelpOverlayHidesExportBindingWhenExportDisabled(t *testing.T) {
+ flags.SetTUIExportEnable(false)
+ t.Cleanup(func() { flags.SetTUIExportEnable(true) })
+
+ m := NewModel(-1, func(context.Context) error { return nil })
+ m.screen = ScreenDashboard
+ m.showHelp = true
+ m.width = 100
+ m.height = 30
+
+ out := m.View()
+ if strings.Contains(out, "e export") {
+ t.Fatalf("did not expect export shortcut in help overlay when export is disabled")
+ }
+}
+
func TestExportModalStillAllowsDashboardStatsUpdates(t *testing.T) {
m := NewModel(-1, func(context.Context) error { return nil })
m.screen = ScreenDashboard