package template import ( "io/fs" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestBuiltin(t *testing.T) { out, err := Builtin() require.NoError(t, err) assert.GreaterOrEqual(t, len(out), 3) // Create a map of templates by name for easier lookup templates := make(map[string]*BuiltinTemplate) for _, tmpl := range out { templates[tmpl.Name] = &tmpl } // Verify all expected templates exist assert.Contains(t, templates, "dbt-sql") assert.Contains(t, templates, "default-python") assert.Contains(t, templates, "default-sql") // Verify the filesystems work for each template _, err = fs.Stat(templates["dbt-sql"].FS, `template/{{.project_name}}/dbt_project.yml.tmpl`) assert.NoError(t, err) _, err = fs.Stat(templates["default-python"].FS, `template/{{.project_name}}/tests/main_test.py.tmpl`) assert.NoError(t, err) _, err = fs.Stat(templates["default-sql"].FS, `template/{{.project_name}}/src/orders_daily.sql.tmpl`) assert.NoError(t, err) }