summaryrefslogtreecommitdiff
path: root/internal/cli/video_runner_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-06 11:34:20 +0300
committerPaul Buetow <paul@buetow.org>2026-04-06 11:34:20 +0300
commit7193ec765f0b51093a203f8f3d00e69008be1cce (patch)
tree8d7df4403b55602c12f3bc85276b55ff705849c5 /internal/cli/video_runner_test.go
parent2d905b109cd2ea3763b3c39f54dbb0f86b4b19ba (diff)
test: add missing unit tests for Veo video feature (task 016)
- internal/video/veo_test.go: add pageNumFromPath table test, loadGalleryImage multiple-matches edge case, saveMP4 fallback name, and NewVeoGenerator success path with mock client injection - internal/cli/prompts_test.go: add parseSelection edge cases — zero max with "all", page number exceeding max, and whitespace-only input - internal/cli/video_runner_test.go: new file covering GenerateSelectedVideos for empty/nil paths (early return) and empty/whitespace API key (error path) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli/video_runner_test.go')
-rw-r--r--internal/cli/video_runner_test.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/internal/cli/video_runner_test.go b/internal/cli/video_runner_test.go
new file mode 100644
index 0000000..1fd201d
--- /dev/null
+++ b/internal/cli/video_runner_test.go
@@ -0,0 +1,44 @@
+package cli
+
+import (
+ "testing"
+)
+
+// TestGenerateSelectedVideos_EmptyPaths verifies that GenerateSelectedVideos
+// returns nil immediately when no paths are provided, without attempting any
+// API calls.
+func TestGenerateSelectedVideos_EmptyPaths(t *testing.T) {
+ err := GenerateSelectedVideos("any-api-key", []string{})
+ if err != nil {
+ t.Fatalf("expected nil for empty paths, got: %v", err)
+ }
+}
+
+// TestGenerateSelectedVideos_NilPaths verifies that GenerateSelectedVideos
+// handles a nil slice the same way as an empty slice.
+func TestGenerateSelectedVideos_NilPaths(t *testing.T) {
+ err := GenerateSelectedVideos("any-api-key", nil)
+ if err != nil {
+ t.Fatalf("expected nil for nil paths, got: %v", err)
+ }
+}
+
+// TestGenerateSelectedVideos_EmptyAPIKey verifies that GenerateSelectedVideos
+// returns an error when a non-empty path list is provided but the API key is
+// empty. The error originates from video.NewVeoGenerator, so we just check
+// that some error is returned without making any real API calls.
+func TestGenerateSelectedVideos_EmptyAPIKey(t *testing.T) {
+ err := GenerateSelectedVideos("", []string{"/some/word_gallery_1.png"})
+ if err == nil {
+ t.Fatal("expected error for empty API key with non-empty paths, got nil")
+ }
+}
+
+// TestGenerateSelectedVideos_WhitespaceAPIKey verifies that a whitespace-only
+// API key is treated equivalently to an empty key when paths are supplied.
+func TestGenerateSelectedVideos_WhitespaceAPIKey(t *testing.T) {
+ err := GenerateSelectedVideos(" ", []string{"/some/word_gallery_1.png"})
+ if err == nil {
+ t.Fatal("expected error for whitespace API key with non-empty paths, got nil")
+ }
+}