Files
atom/modules/system/dao/dao_test.go
yanghao05 92b7cc8b6e optimize
2023-01-29 19:02:26 +08:00

61 lines
1.0 KiB
Go

package dao
import (
"atom/container"
"context"
"testing"
"atom/providers/config"
_ "atom/providers/database"
_ "atom/providers/http"
_ "atom/providers/logger"
"go.uber.org/dig"
"gorm.io/gorm"
)
type Fields struct {
dig.In
Conf *config.Config
DB *gorm.DB
}
func TestDaoImpl_Release(t *testing.T) {
var ff Fields
err := container.Container.Invoke(func(f Fields) {
ff = f
})
if err != nil {
t.Error(err)
t.FailNow()
}
type args struct {
ctx context.Context
a int
b string
}
tests := []struct {
name string
fields Fields
args args
wantErr bool
}{
{"1. ", ff, args{context.Background(), 10, "Rogee"}, false},
{"2. ", ff, args{context.Background(), 20, "Rogee"}, true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
c := &DaoImpl{
Conf: tt.fields.Conf,
DB: tt.fields.DB,
}
if err := c.Release(tt.args.ctx, tt.args.a, tt.args.b); (err != nil) != tt.wantErr {
t.Errorf("DaoImpl.Release() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}