summaryrefslogtreecommitdiff
path: root/internal/stylegrid/stylegrid_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/stylegrid/stylegrid_test.go')
-rw-r--r--internal/stylegrid/stylegrid_test.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/stylegrid/stylegrid_test.go b/internal/stylegrid/stylegrid_test.go
new file mode 100644
index 0000000..1987f85
--- /dev/null
+++ b/internal/stylegrid/stylegrid_test.go
@@ -0,0 +1,34 @@
+package stylegrid
+
+import (
+ "testing"
+
+ "codeberg.org/snonux/comicforge/internal/config"
+)
+
+func TestBuildJobsDefaultConfig(t *testing.T) {
+ cfg := config.DefaultConfig()
+ jobs := BuildJobs(cfg, "test scene")
+ // 12 families × 2 lines + 3 genres = 27
+ if want := 27; len(jobs) != want {
+ t.Fatalf("len(jobs) = %d, want %d", len(jobs), want)
+ }
+ if jobs[0].Kind != "style" || jobs[0].Header == "" || jobs[0].Prompt == "" {
+ t.Fatalf("first job = %#v", jobs[0])
+ }
+ last := jobs[len(jobs)-1]
+ if last.Kind != "theme" {
+ t.Fatalf("last job kind = %q, want theme", last.Kind)
+ }
+}
+
+func TestBuildJobsSkipsEmptyStrings(t *testing.T) {
+ cfg := config.DefaultConfig()
+ cfg.Styles.Comic = []string{"", " ", "only-valid"}
+ cfg.Story.Genres = nil
+ jobs := BuildJobs(cfg, "x")
+ // 1 comic line + 22 from other families + 0 themes
+ if want := 23; len(jobs) != want {
+ t.Fatalf("len(jobs) = %d, want %d", len(jobs), want)
+ }
+}