Support DieOnBadParams option, add tests

This commit is contained in:
2024-11-16 10:29:59 +05:30
parent 5b1368dca0
commit 83fa60f797
2 changed files with 95 additions and 6 deletions
+72
View File
@@ -0,0 +1,72 @@
package tests
import (
"git.virtual.blue/tomgracey/template-nest-go"
"github.com/stretchr/testify/assert"
"testing"
)
func TestDieOnPageWithBadParams(t *testing.T) {
nest, err := templatenest.New(templatenest.Option{
TemplateDir: "templates",
DieOnBadParams: true,
})
if err != nil {
t.Fatalf("Failed to initialize TemplateNest: %+v", err)
}
page := templatenest.Hash{
"TEMPLATE": "00-simple-page",
"variable": "Simple Variable",
"simple_component": "Simple Component",
"a_bad_param": "Bad Param",
}
_, err = nest.Render(page)
if assert.NotNil(t, err) {
expected := "bad params in template hash, variable not present in template file: `a_bad_param`"
assert.Equal(t, expected, err.Error())
}
}
func TestDieOnPageWithBadParams01(t *testing.T) {
nest, err := templatenest.New(templatenest.Option{
TemplateDir: "templates",
DieOnBadParams: true,
})
if err != nil {
t.Fatalf("Failed to initialize TemplateNest: %+v", err)
}
page := templatenest.Hash{
"TEMPLATE": "00-simple-page",
"variable": "Simple Variable",
"a_bad_param": "Bad Param",
}
_, err = nest.Render(page)
if assert.NotNil(t, err) {
expected := "bad params in template hash, variable not present in template file: `a_bad_param`"
assert.Equal(t, expected, err.Error())
}
}
func TestLiveOnPageWithBadParams(t *testing.T) {
nest, err := templatenest.New(templatenest.Option{
TemplateDir: "templates",
DieOnBadParams: false,
})
if err != nil {
t.Fatalf("Failed to initialize TemplateNest: %+v", err)
}
page := templatenest.Hash{
"TEMPLATE": "00-simple-page",
"variable": "Simple Variable",
"simple_component": "Simple Component",
"a_bad_param": "Bad Param",
}
_, err = nest.Render(page)
assert.Nil(t, err)
}