61 lines
1.0 KiB
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|