fusenapi/server/home-user-auth/test/useraddaddresslogic_test.go

129 lines
3.0 KiB
Go

package homeuserauthtest
import (
"fmt"
"fusenapi/server/home-user-auth/internal/types"
"fusenapi/utils/fstests"
"testing"
"github.com/474420502/requests"
"github.com/tidwall/gjson"
)
func TestCaseUserAddAddress(t *testing.T) {
var err error
var resp *requests.Response
var result gjson.Result
// 获取 session,并携带 JWT token
ses := fstests.GetSessionWithUserToken(t, gserver, cnf.Host, cnf.Port)
// 构建新增地址请求体
addrReq := types.RequestAddAddress{
Name: "John Doe",
FirstName: "John",
LastName: "Doe",
Mobile: "123-456-7890",
Street: "Main St",
Suite: "Apt 123",
City: "New York",
State: "NY",
ZipCode: "10001",
}
// 向服务器发送 POST 请求,新增用户地址
tp := ses.Post(fmt.Sprintf("http://%s:%d/user/add-address", cnf.Host, cnf.Port))
tp.SetBodyJson(addrReq)
resp, err = tp.TestExecute(gserver)
if err != nil {
t.Error(err)
return
}
// 检查返回值中的 code 字段是否存在,并且值是否为 200
result = resp.Json().Get("code")
if !result.Exists() {
t.Error("code is not exists")
}
if result.Int() != 200 {
t.Error("code != 200")
}
// 检查返回值中的 msg 字段是否存在,并且值是否为 "success"
result = resp.Json().Get("msg")
if !result.Exists() {
t.Error("msg is not exists")
}
if result.String() != "success" {
t.Error(result.String())
}
// 检查返回值中的 data 字段是否存在,并且包含新增地址的 id
result = resp.Json().Get("data")
if !result.Exists() {
t.Error("data is not exists")
}
if !result.Get("id").Exists() {
t.Error("data.id is not exists")
}
addressId := result.Get("id").Int()
// 测试修改
addrReq = types.RequestAddAddress{
Id: addressId, // 获取新增的id
Name: "Jane Smith",
FirstName: "Jane",
LastName: "Smith",
Mobile: "987-654-3210",
Street: "First Ave",
Suite: "Unit 456",
City: "San Francisco",
State: "CA",
ZipCode: "94122",
}
// 向服务器发送 POST 请求,新增用户地址
tp = ses.Post(fmt.Sprintf("http://%s:%d/user/add-address", cnf.Host, cnf.Port))
tp.SetBodyJson(addrReq)
resp, err = tp.TestExecute(gserver)
if err != nil {
t.Error(err)
return
}
// 检查返回值中的 code 字段是否存在,并且值是否为 200
result = resp.Json().Get("code")
if !result.Exists() {
t.Error("code is not exists")
}
if result.Int() != 200 {
t.Error("code != 200")
}
// 检查返回值中的 msg 字段是否存在,并且值是否为 "success"
result = resp.Json().Get("msg")
if !result.Exists() {
t.Error("msg is not exists")
}
if result.String() != "success" {
t.Error(result.String())
}
// log.Println(resp.Json())
// 检查返回值中的 data 字段是否存在,并且包含新增地址的 id
result = resp.Json().Get("data")
if !result.Exists() {
t.Error("data is not exists")
}
if !result.Get("id").Exists() {
t.Error("data.id is not exists")
}
if result.Get("id").Int() != addressId {
t.Error("addressId is error")
}
}