support user role attachment
This commit is contained in:
79
modules/auth/dao/user_role_test.go
Executable file
79
modules/auth/dao/user_role_test.go
Executable file
@@ -0,0 +1,79 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"testing"
|
||||
|
||||
// 这里的依赖需要被导入,否则会报错
|
||||
"atom/container"
|
||||
"atom/database/models"
|
||||
"atom/database/query"
|
||||
_ "atom/providers"
|
||||
"atom/utils"
|
||||
|
||||
"github.com/brianvoe/gofakeit/v6"
|
||||
. "github.com/smartystreets/goconvey/convey"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/suite"
|
||||
"go.uber.org/dig"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type UserRoleInjectParams struct {
|
||||
dig.In
|
||||
|
||||
DB *gorm.DB
|
||||
Dao UserRoleDao
|
||||
Query *query.Query
|
||||
Faker *gofakeit.Faker
|
||||
}
|
||||
|
||||
type UserRoleSuite struct {
|
||||
suite.Suite
|
||||
UserRoleInjectParams
|
||||
}
|
||||
|
||||
func init() {
|
||||
if err := container.Container.Provide(NewUserRoleDao); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func Test_UserRoleSuite(t *testing.T) {
|
||||
err := container.Container.Invoke(func(p UserRoleInjectParams) {
|
||||
s := &UserRoleSuite{}
|
||||
s.UserRoleInjectParams = p
|
||||
|
||||
suite.Run(t, s)
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
|
||||
func (s *UserRoleSuite) BeforeTest(suiteName, testName string) {
|
||||
utils.TruncateTable(s.DB, s.Query.UserRole.TableName())
|
||||
|
||||
}
|
||||
|
||||
func (s *UserRoleSuite) Test_GetByUserID() {
|
||||
Convey("Test_GetByUserID", s.T(), func() {
|
||||
Reset(func() {
|
||||
s.BeforeTest("_", "Test_GetByUserID")
|
||||
})
|
||||
|
||||
Convey("not exists", func() {
|
||||
has := s.Dao.Exists(context.Background(), 1)
|
||||
So(has, ShouldBeFalse)
|
||||
})
|
||||
|
||||
Convey("exists", func() {
|
||||
_ = s.Query.UserRole.WithContext(context.Background()).Create(&models.UserRole{
|
||||
UserID: 1,
|
||||
RoleID: 1,
|
||||
})
|
||||
|
||||
has := s.Dao.Exists(context.Background(), 1)
|
||||
So(has, ShouldBeTrue)
|
||||
})
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user