| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package product
- import (
- "context"
- "errors"
- "testing"
- "time"
- productModel "perms-system-server/internal/model/product"
- "perms-system-server/internal/response"
- "perms-system-server/internal/svc"
- "perms-system-server/internal/testutil"
- "perms-system-server/internal/types"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/require"
- )
- // TC-0058: 正常查询
- func TestProductDetail_Success(t *testing.T) {
- ctx := context.Background()
- svcCtx := svc.NewServiceContext(testutil.GetTestConfig())
- conn := testutil.GetTestSqlConn()
- code := testutil.UniqueId()
- now := time.Now().Unix()
- result, err := svcCtx.SysProductModel.Insert(ctx, &productModel.SysProduct{
- Code: code,
- Name: "详情测试产品",
- AppKey: "dk_" + code,
- AppSecret: "ds_" + code,
- Remark: "详情备注",
- Status: 1,
- CreateTime: now,
- UpdateTime: now,
- })
- require.NoError(t, err)
- id, _ := result.LastInsertId()
- t.Cleanup(func() {
- testutil.CleanTable(ctx, conn, "`sys_product`", id)
- })
- logic := NewProductDetailLogic(ctx, svcCtx)
- item, err := logic.ProductDetail(&types.ProductDetailReq{Id: id})
- require.NoError(t, err)
- require.NotNil(t, item)
- assert.Equal(t, id, item.Id)
- assert.Equal(t, code, item.Code)
- assert.Equal(t, "详情测试产品", item.Name)
- assert.Equal(t, "dk_"+code, item.AppKey)
- assert.Equal(t, "详情备注", item.Remark)
- assert.Equal(t, int64(1), item.Status)
- assert.Equal(t, now, item.CreateTime)
- }
- // TC-0059: 不存在
- func TestProductDetail_NotFound(t *testing.T) {
- ctx := context.Background()
- svcCtx := svc.NewServiceContext(testutil.GetTestConfig())
- logic := NewProductDetailLogic(ctx, svcCtx)
- _, err := logic.ProductDetail(&types.ProductDetailReq{Id: 999999999})
- require.Error(t, err)
- var codeErr *response.CodeError
- require.True(t, errors.As(err, &codeErr))
- assert.Equal(t, 404, codeErr.Code())
- assert.Equal(t, "产品不存在", codeErr.Error())
- }
|