2019-04-22 02:59:20 +00:00

109 lines
3.0 KiB
Go

package material
import (
"context"
"fmt"
xsql "go-common/library/database/sql"
"reflect"
"testing"
"github.com/bouk/monkey"
"github.com/smartystreets/goconvey/convey"
)
func TestFilterCategoryBind(t *testing.T) {
var (
c = context.TODO()
tp = int8(7)
)
convey.Convey("CategoryBind", t, func(ctx convey.C) {
res, err := d.CategoryBind(c, tp)
ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(res, convey.ShouldNotBeNil)
})
})
}
func TestMaterialSubtitles(t *testing.T) {
var (
c = context.TODO()
)
convey.Convey("Subtitles", t, func(ctx convey.C) {
res, err := d.Basic(c)
ctx.Convey("Then err should be nil.res should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(res, convey.ShouldNotBeNil)
})
})
}
func TestMaterialFilters(t *testing.T) {
var (
c = context.TODO()
)
convey.Convey("Filters", t, func(ctx convey.C) {
res, resMap, err := d.Filters(c)
ctx.Convey("Then err should be nil.res,resMap should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldBeNil)
ctx.So(resMap, convey.ShouldNotBeNil)
ctx.So(res, convey.ShouldNotBeNil)
})
})
}
func TestMaterialVstickers(t *testing.T) {
var (
c = context.TODO()
)
convey.Convey("Vstickers", t, func(ctx convey.C) {
guard := monkey.PatchInstanceMethod(reflect.TypeOf(d.db), "Query", func(_ *xsql.DB, _ context.Context, _ string, _ ...interface{}) (*xsql.Rows, error) {
return nil, fmt.Errorf("db.Query error")
})
defer guard.Unpatch()
res, resMap, err := d.Vstickers(c)
ctx.Convey("Then err should be nil.res,resMap should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
ctx.So(len(resMap), convey.ShouldEqual, 0)
ctx.So(len(res), convey.ShouldEqual, 0)
})
})
}
func TestCooperates(t *testing.T) {
var (
c = context.TODO()
)
convey.Convey("Cooperates", t, func(ctx convey.C) {
guard := monkey.PatchInstanceMethod(reflect.TypeOf(d.db), "Query", func(_ *xsql.DB, _ context.Context, _ string, _ ...interface{}) (*xsql.Rows, error) {
return nil, fmt.Errorf("db.Query error")
})
defer guard.Unpatch()
res, resMap, err := d.Cooperates(c)
ctx.Convey("Then err should be nil.res,resMap should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
ctx.So(len(resMap), convey.ShouldEqual, 0)
ctx.So(len(res), convey.ShouldEqual, 0)
})
})
}
func TestBasic(t *testing.T) {
var (
err error
c = context.TODO()
res = make(map[string]interface{})
)
convey.Convey("Basic", t, func(ctx convey.C) {
guard := monkey.PatchInstanceMethod(reflect.TypeOf(d.db), "Query", func(_ *xsql.DB, _ context.Context, _ string, _ ...interface{}) (*xsql.Rows, error) {
return nil, fmt.Errorf("db.Query error")
})
defer guard.Unpatch()
res, err = d.Basic(c)
ctx.Convey("Then err should be nil.res,resMap should not be nil.", func(ctx convey.C) {
ctx.So(err, convey.ShouldNotBeNil)
ctx.So(len(res), convey.ShouldEqual, 0)
})
})
}