package services import ( "database/sql" "testing" "quyun/v2/app/commands/testx" "quyun/v2/database" "quyun/v2/database/models" "quyun/v2/pkg/utils" . "github.com/smartystreets/goconvey/convey" "github.com/stretchr/testify/suite" _ "go.ipao.vip/atom" "go.ipao.vip/atom/contracts" "go.uber.org/dig" ) type TenantTestSuiteInjectParams struct { dig.In DB *sql.DB Initials []contracts.Initial `group:"initials"` // nolint:structcheck } type TenantTestSuite struct { suite.Suite TenantTestSuiteInjectParams } func Test_Tenant(t *testing.T) { providers := testx.Default().With(Provide) testx.Serve(providers, t, func(p TenantTestSuiteInjectParams) { suite.Run(t, &TenantTestSuite{TenantTestSuiteInjectParams: p}) }) } func (t *TenantTestSuite) Test_TenantUserCount() { Convey("test get tenants user count", t.T(), func() { database.Truncate(t.T().Context(), t.DB, models.TableNameTenant) result, err := Tenant.TenantUserCountMapping(t.T().Context(), []int64{1, 2}) So(err, ShouldBeNil) So(result, ShouldHaveLength, 2) t.T().Logf("%s", utils.MustJsonString(result)) }) }