go-common/app/admin/main/vip/dao/privilege_test.go

157 lines
4.8 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package dao
import (
"context"
"testing"
"go-common/app/admin/main/vip/model"
"github.com/smartystreets/goconvey/convey"
)
func TestDaoPrivilegeResourcesList(t *testing.T) {
convey.Convey("PrivilegeResourcesList", t, func() {
res, err := d.PrivilegeResourcesList(context.TODO())
convey.So(err, convey.ShouldBeNil)
convey.So(res, convey.ShouldNotBeNil)
})
}
// go test -test.v -test.run TestDaoAddPrivilege
func TestDaoAddPrivilege(t *testing.T) {
tx := d.BeginGormTran(context.Background())
p := &model.Privilege{
Name: "超高清",
Title: "超高清标题",
Explain: "超高清描述描述超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字",
Type: 1,
Operator: "admin",
State: 0,
Deleted: 0,
IconURL: "https://activity.hdslb.com/blackboard/activity9757/static/img/title_screen.c529058.jpg",
IconGrayURL: "https://activity.hdslb.com/blackboard/activity9757/static/img/title_screen.c529058.jpg",
Order: 1,
LangType: 1,
}
convey.Convey("get max id", t, func() {
ep := new(model.Privilege)
db := d.vip.Table(_vipPrivileges).Order("order_num DESC").First(&ep)
convey.So(db.Error, convey.ShouldBeNil)
d.vip.Table(_vipPrivilegesResources).Where("pid > ?", ep.ID).Delete(model.PrivilegeResources{})
p.ID = ep.ID + 1
})
convey.Convey("AddPrivilege", t, func() {
id, err := d.AddPrivilege(tx, p)
convey.So(err, convey.ShouldBeNil)
convey.So(id, convey.ShouldNotBeNil)
})
convey.Convey("AddPrivilegeResources", t, func() {
a, err := d.AddPrivilegeResources(tx, &model.PrivilegeResources{
PID: p.ID,
Link: "web",
Type: model.WebResources,
})
convey.So(err, convey.ShouldBeNil)
convey.So(a, convey.ShouldNotBeNil)
a, err = d.AddPrivilegeResources(tx, &model.PrivilegeResources{
PID: p.ID,
Link: "app",
Type: model.AppResources,
})
convey.So(err, convey.ShouldBeNil)
convey.So(a, convey.ShouldNotBeNil)
})
convey.Convey("AddPrivilege Commit", t, func() {
err := tx.Commit().Error
convey.So(err, convey.ShouldBeNil)
})
convey.Convey("PrivilegeList", t, func() {
res, err := d.PrivilegeList(context.TODO(), 1)
convey.So(err, convey.ShouldBeNil)
convey.So(res, convey.ShouldNotBeNil)
})
convey.Convey("clean data", t, func() {
d.vip.Delete(p)
d.vip.Table(_vipPrivilegesResources).Where("pid >= ?", p.ID).Delete(model.PrivilegeResources{})
})
}
func TestDaoMaxOrder(t *testing.T) {
convey.Convey("MaxOrder", t, func() {
order, err := d.MaxOrder(context.TODO())
convey.So(err, convey.ShouldBeNil)
convey.So(order, convey.ShouldNotBeNil)
})
}
// go test -test.v -test.run TestDaoUpdateStatePrivilege
func TestDaoUpdateStatePrivilege(t *testing.T) {
convey.Convey("UpdateStatePrivilege", t, func() {
a, err := d.UpdateStatePrivilege(context.TODO(), &model.Privilege{
ID: 3,
State: 1,
})
convey.So(err, convey.ShouldBeNil)
convey.So(a, convey.ShouldNotBeNil)
})
}
// go test -test.v -test.run TestDaoDeletePrivilege
func TestDaoDeletePrivilege(t *testing.T) {
convey.Convey("DeletePrivilege", t, func() {
a, err := d.DeletePrivilege(context.TODO(), 3)
convey.So(err, convey.ShouldBeNil)
convey.So(a, convey.ShouldNotBeNil)
})
}
// go test -test.v -test.run TestDaoUpdatePrivilege
func TestDaoUpdatePrivilege(t *testing.T) {
convey.Convey("UpdatePrivilege", t, func() {
tx := d.BeginGormTran(context.TODO())
a, err := d.UpdatePrivilege(tx, &model.Privilege{
ID: 3,
Name: "超高清",
Title: "超高清标题",
Explain: "超高清描述描述超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字超多字",
Type: 1,
Operator: "admin",
State: 0,
Deleted: 0,
IconURL: "https://activity.hdslb.com/blackboard/activity9757/static/img/title_screen.c529058.jpg",
IconGrayURL: "https://activity.hdslb.com/blackboard/activity9757/static/img/title_screen.c529058.jpg",
})
convey.So(err, convey.ShouldBeNil)
convey.So(a, convey.ShouldNotBeNil)
err = tx.Commit().Error
convey.So(err, convey.ShouldBeNil)
})
}
// go test -test.v -test.run TestDaoUpdatePrivilegeResources
func TestDaoUpdatePrivilegeResources(t *testing.T) {
convey.Convey("UpdatePrivilegeResources", t, func() {
tx := d.BeginGormTran(context.TODO())
aff, err := d.UpdatePrivilegeResources(tx, &model.PrivilegeResources{
PID: 3,
Link: "app2",
Type: model.AppResources,
})
convey.So(err, convey.ShouldBeNil)
convey.So(aff, convey.ShouldNotBeNil)
err = tx.Commit().Error
convey.So(err, convey.ShouldBeNil)
})
}
// go test -test.v -test.run TestDaoUpdateOrder
func TestDaoUpdateOrder(t *testing.T) {
convey.Convey("UpdateOrder", t, func() {
a, err := d.UpdateOrder(context.TODO(), 4, 5)
convey.So(err, convey.ShouldBeNil)
convey.So(a, convey.ShouldNotBeNil)
})
}