package growth import "testing" func testCatalog() []Event { category := []string{"مراکز آموزشی مجازی", "کیف و کفش فروشی"} return []Event{ {ID: "history", TitleFA: "رویداد تاریخی", StartDate: date("2026-01-03"), EndDate: date("2026-01-03"), Family: "history", Tags: []string{"history"}, Source: "test", SourceVersion: "1", Kind: EventOfficial, Universal: true}, {ID: "back-to-school-1405", TitleFA: "بازگشایی", StartDate: date("2026-09-10"), EndDate: date("2026-09-22"), Family: "education", Tags: []string{"education"}, Source: "test", SourceVersion: "1", Categories: category, Kind: EventCommercial}, {ID: "autumn-opening-1405", TitleFA: "پاییز", StartDate: date("2026-09-23"), EndDate: date("2026-09-28"), Family: "seasonal", Tags: []string{"seasonal"}, Source: "test", SourceVersion: "1", Categories: category, Kind: EventCommercial}, {ID: "halloween-2026", TitleFA: "هالووین", StartDate: date("2026-10-31"), EndDate: date("2026-10-31"), Family: "commercial", Tags: []string{"campaign"}, Source: "test", SourceVersion: "1", Categories: category, Kind: EventCommercial}, {ID: "black-friday-2026", TitleFA: "بلک‌فرایدی", StartDate: date("2026-11-27"), EndDate: date("2026-11-27"), Family: "commercial", Tags: []string{"campaign"}, Source: "test", SourceVersion: "1", Categories: category, Kind: EventCommercial}, } } func TestValidateCatalogRejectsDuplicateAndIncompleteEvents(t *testing.T) { event := testCatalog()[0] if err := ValidateCatalog([]Event{event, event}); err == nil { t.Fatal("expected duplicate id error") } event.Source = "" if err := ValidateCatalog([]Event{event}); err == nil { t.Fatal("expected missing source error") } } func TestDatabaseMappedCatalogCanBeValidated(t *testing.T) { if err := ValidateCatalog(testCatalog()); err != nil { t.Fatal(err) } }