2026-06-06 13:50:46 +08:00

35 lines
957 B
Go

package userclient
import (
"encoding/json"
"strings"
"testing"
)
func TestAgencyJSONKeepsSnowflakeIDsAsStrings(t *testing.T) {
agency := Agency{
AgencyID: 321170072154411009,
OwnerUserID: 316033326332776448,
ParentBDUserID: 320470609978986496,
CreatedByUserID: 320470609978986496,
}
payload, err := json.Marshal(agency)
if err != nil {
t.Fatalf("marshal agency: %v", err)
}
body := string(payload)
// 后台前端运行在浏览器里,雪花 ID 超过 JavaScript 安全整数上限;这里必须以字符串返回,避免 321170072154411009 被解析成 321170072154411000 后再提交给删除接口。
for _, want := range []string{
`"agencyId":"321170072154411009"`,
`"ownerUserId":"316033326332776448"`,
`"parentBdUserId":"320470609978986496"`,
`"createdByUserId":"320470609978986496"`,
} {
if !strings.Contains(body, want) {
t.Fatalf("agency json should contain %s, got %s", want, body)
}
}
}