package db import ( "reflect" "testing" "github.com/gogf/gf/database/gdb" ) func NewDB() (gdb.DB, error) { configNode := gdb.ConfigNode{ Host: "192.168.0.252", Port: "3306", User: "root", Pass: "Dashoo#190801@ali", Name: "lims_dev", Type: "mysql", Role: "master", Charset: "utf8", Weight: 1, MaxIdleConnCount: 10, MaxOpenConnCount: 10, MaxConnLifeTime: 600, } gdb.AddConfigNode("test", configNode) return gdb.New() } func NewModel(table string) ServiceBase { db, _ := NewDB() sv := ServiceBase{ Tenant: "test", SafeModel: db.Model(table).Safe(), DB: db, TableName: table, } return sv } func TestServiceBase_Exists(t *testing.T) { type args struct { tableName string where []interface{} } wheres := make([]interface{}, 0) wheres = append(wheres, "name = ?", "dongdong") tests := []struct { name string fields ServiceBase args args want bool wantErr bool }{ {"db exists", NewModel("test"), args{ tableName: "", where: wheres, }, false, false}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { s := &ServiceBase{ Tenant: tt.fields.Tenant, SafeModel: tt.fields.SafeModel, DB: tt.fields.DB, TableName: tt.fields.TableName, } got, err := s.Exists(tt.args.tableName, tt.args.where...) if (err != nil) != tt.wantErr { t.Errorf("Exists() error = %v, wantErr %v", err, tt.wantErr) return } if got != tt.want { t.Errorf("Exists() got = %v, want %v", got, tt.want) } }) } } // func TestServiceBase_GetDictListForWhere(t *testing.T) { type fields struct { Tenant string SafeModel *gdb.Model DB gdb.DB TableName string } type args struct { req DictReq } tests := []struct { name string fields ServiceBase args args want []Dict wantErr bool }{} for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { s := &ServiceBase{ Tenant: tt.fields.Tenant, SafeModel: tt.fields.SafeModel, DB: tt.fields.DB, TableName: tt.fields.TableName, } got, err := s.GetDictListForWhere(tt.args.req) if (err != nil) != tt.wantErr { t.Errorf("GetDictListForWhere() error = %v, wantErr %v", err, tt.wantErr) return } if !reflect.DeepEqual(got, tt.want) { t.Errorf("GetDictListForWhere() got = %v, want %v", got, tt.want) } }) } }