| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package role
- import (
- "testing"
- "time"
- roleModel "perms-system-server/internal/model/role"
- "perms-system-server/internal/svc"
- "perms-system-server/internal/testutil"
- "perms-system-server/internal/testutil/ctxhelper"
- "perms-system-server/internal/types"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- // TC-0110: 正常查询
- func TestRoleList_Normal(t *testing.T) {
- ctx := ctxhelper.SuperAdminCtx()
- svcCtx := svc.NewServiceContext(testutil.GetTestConfig())
- conn := testutil.GetTestSqlConn()
- now := time.Now().Unix()
- pc := testutil.UniqueId()
- var roleIds []int64
- for i := 0; i < 3; i++ {
- res, err := svcCtx.SysRoleModel.Insert(ctx, &roleModel.SysRole{
- ProductCode: pc, Name: testutil.UniqueId(), Status: 1,
- PermsLevel: int64(i + 1), CreateTime: now, UpdateTime: now,
- })
- require.NoError(t, err)
- id, _ := res.LastInsertId()
- roleIds = append(roleIds, id)
- }
- t.Cleanup(func() {
- testutil.CleanTable(ctx, conn, "`sys_role`", roleIds...)
- })
- logic := NewRoleListLogic(ctx, svcCtx)
- resp, err := logic.RoleList(&types.RoleListReq{
- ProductCode: pc, Page: 1, PageSize: 10,
- })
- require.NoError(t, err)
- assert.Equal(t, int64(3), resp.Total)
- items := resp.List.([]types.RoleItem)
- assert.Len(t, items, 3)
- }
- // TC-0110: 正常查询
- func TestRoleList_DefaultPagination(t *testing.T) {
- ctx := ctxhelper.SuperAdminCtx()
- svcCtx := svc.NewServiceContext(testutil.GetTestConfig())
- conn := testutil.GetTestSqlConn()
- now := time.Now().Unix()
- pc := testutil.UniqueId()
- res, err := svcCtx.SysRoleModel.Insert(ctx, &roleModel.SysRole{
- ProductCode: pc, Name: testutil.UniqueId(), Status: 1, PermsLevel: 1,
- CreateTime: now, UpdateTime: now,
- })
- require.NoError(t, err)
- roleId, _ := res.LastInsertId()
- t.Cleanup(func() {
- testutil.CleanTable(ctx, conn, "`sys_role`", roleId)
- })
- logic := NewRoleListLogic(ctx, svcCtx)
- resp, err := logic.RoleList(&types.RoleListReq{
- ProductCode: pc,
- })
- require.NoError(t, err)
- assert.Equal(t, int64(1), resp.Total)
- }
- // TC-0111: pageSize超过上限
- func TestRoleList_PageSizeExceedsLimit(t *testing.T) {
- ctx := ctxhelper.SuperAdminCtx()
- svcCtx := svc.NewServiceContext(testutil.GetTestConfig())
- conn := testutil.GetTestSqlConn()
- now := time.Now().Unix()
- pc := testutil.UniqueId()
- res, err := svcCtx.SysRoleModel.Insert(ctx, &roleModel.SysRole{
- ProductCode: pc, Name: testutil.UniqueId(), Status: 1, PermsLevel: 1,
- CreateTime: now, UpdateTime: now,
- })
- require.NoError(t, err)
- roleId, _ := res.LastInsertId()
- t.Cleanup(func() {
- testutil.CleanTable(ctx, conn, "`sys_role`", roleId)
- })
- logic := NewRoleListLogic(ctx, svcCtx)
- resp, err := logic.RoleList(&types.RoleListReq{
- ProductCode: pc, Page: 1, PageSize: 200,
- })
- require.NoError(t, err)
- assert.Equal(t, int64(1), resp.Total)
- }
|