package api import ( "testing" "github.com/stretchr/testify/assert" "github.com/yaoapp/gou/process" "github.com/yaoapp/yao/config" "github.com/yaoapp/yao/sui/core" "github.com/yaoapp/yao/sui/storages/local" ) func TestTemplateGet(t *testing.T) { load(t) defer clean() // test demo p, err := process.Of("sui.template.get", "demo") if err != nil { t.Fatal(err) } res, err := p.Exec() if err != nil { t.Fatal(err) } assert.IsType(t, []core.ITemplate{}, res) assert.Equal(t, 3, len(res.([]core.ITemplate))) } func TestTemplateFind(t *testing.T) { load(t) defer clean() // test demo p, err := process.Of("sui.template.find", "demo", "tech-blue") if err != nil { t.Fatal(err) } res, err := p.Exec() if err != nil { t.Fatal(err) } assert.IsType(t, &local.Template{}, res) assert.Equal(t, "tech-blue", res.(*local.Template).ID) } func TestEditorRender(t *testing.T) { load(t) defer clean() // test demo p, err := process.Of("sui.editor.render", "demo", "tech-blue", "/index") if err != nil { t.Fatal(err) } res, err := p.Exec() if err != nil { t.Fatal(err) } assert.IsType(t, &core.ResponseEditor{}, res) assert.NotEmpty(t, res.(*core.ResponseEditor).HTML) } func TestEditorRenderWithQuery(t *testing.T) { load(t) defer clean() // test demo p, err := process.Of("sui.editor.render", "demo", "tech-blue", "/index", map[string]interface{}{ "method": "POST", }) if err != nil { t.Fatal(err) } res, err := p.Exec() if err != nil { t.Fatal(err) } assert.IsType(t, &core.ResponseEditor{}, res) assert.NotEmpty(t, res.(*core.ResponseEditor).HTML) } func TestEditorPageSource(t *testing.T) { load(t) defer clean() sources := []string{"page", "script", "style", "data"} for _, source := range sources { p, err := process.Of("sui.editor.source", "demo", "tech-blue", "/index", source) if err != nil { t.Fatal(err) } res, err := p.Exec() if err != nil { t.Fatal(err) } assert.IsType(t, core.ResponseSource{}, res) assert.NotEmpty(t, res.(core.ResponseSource).Source) assert.NotEmpty(t, res.(core.ResponseSource).Language) } } func load(t *testing.T) { prepare(t) err := Load(config.Conf) if err != nil { t.Fatal(err) } }