From 7193ec765f0b51093a203f8f3d00e69008be1cce Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 6 Apr 2026 11:34:20 +0300 Subject: test: add missing unit tests for Veo video feature (task 016) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- internal/cli/video_runner_test.go | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 internal/cli/video_runner_test.go (limited to 'internal/cli/video_runner_test.go') 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") + } +} -- cgit v1.2.3