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

105 lines
2.8 KiB
Go
Raw Normal View History

2023-06-19 07:52:14 +00:00
package logic
import (
"encoding/json"
"fmt"
"fusenapi/server/home-user-auth/internal/types"
fstests "fusenapi/utils/tests"
2023-06-19 07:52:14 +00:00
"testing"
"github.com/474420502/requests"
"github.com/tidwall/gjson"
)
func TestCaseUserSaveBasicinfoLogic(t *testing.T) {
var err error
var resp *requests.Response
var result gjson.Result
// 获取 session并携带 JWT token
2023-06-28 11:32:41 +00:00
ses := fstests.GetSessionWithUserToken(t, gserver, cnf.Host, cnf.Port)
2023-06-19 07:52:14 +00:00
var tp *requests.Temporary
tp = ses.Get(fmt.Sprintf("http://%s:%d/user/basic-info", cnf.Host, cnf.Port))
2023-06-20 04:15:14 +00:00
resp, err = tp.TestExecute(gserver)
2023-06-19 07:52:14 +00:00
if err != nil {
t.Error(err)
return
}
req := types.RequestBasicInfoForm{}
// log.Println(resp.Json().Get("data"))
err = json.Unmarshal([]byte(resp.Json().Get("data").String()), &req)
if err != nil {
t.Error(err)
return
}
IsOrderStatusEmail := req.IsOrderStatusEmail
IsEmailAdvertisement := req.IsEmailAdvertisement
IsOrderStatusPhone := req.IsOrderStatusPhone
IsOpenRender := req.IsOpenRender
IsLowRendering := req.IsLowRendering
IsRemoveBg := req.IsRemoveBg
req.IsOrderStatusEmail = ^req.IsOrderStatusEmail + 2
req.IsEmailAdvertisement = ^req.IsEmailAdvertisement + 2
req.IsOrderStatusPhone = ^req.IsOrderStatusPhone + 2
req.IsOpenRender = ^req.IsOpenRender + 2
req.IsLowRendering = ^req.IsLowRendering + 2
req.IsRemoveBg = ^req.IsRemoveBg + 2
// 向服务器发送 GET 请求,获取用户类型信息
tp = ses.Post(fmt.Sprintf("http://%s:%d/user/basic-info", cnf.Host, cnf.Port)).SetBodyJson(req)
2023-06-20 04:15:14 +00:00
resp, err = tp.TestExecute(gserver)
2023-06-19 07:52:14 +00:00
if err != nil {
t.Error(err)
return
}
// 使用 gjson 解析返回的 json 数据
result = gjson.Parse(resp.ContentString())
// log.Println(resp.ContentString())
// 检查返回值中的 code 字段是否存在,并且值是否为 200
code := result.Get("code").Int()
if code != 200 {
t.Errorf("Invalid code value: %d", code)
return
}
tp = ses.Get(fmt.Sprintf("http://%s:%d/user/basic-info", cnf.Host, cnf.Port))
2023-06-20 04:15:14 +00:00
resp, err = tp.TestExecute(gserver)
2023-06-19 07:52:14 +00:00
if err != nil {
t.Error(err)
return
}
// log.Println(resp.ContentString())
err = json.Unmarshal([]byte(resp.Json().Get("data").String()), &req)
if err != nil {
t.Error(err)
return
}
if req.IsOrderStatusEmail != ^IsOrderStatusEmail+2 {
t.Error("IsOrderStatusEmail is error, check this code")
}
if req.IsEmailAdvertisement != ^IsEmailAdvertisement+2 {
t.Error("IsEmailAdvertisement is error, check this code")
}
if req.IsOrderStatusPhone != ^IsOrderStatusPhone+2 {
t.Error("IsOrderStatusPhone is error, check this code")
}
if req.IsOpenRender != ^IsOpenRender+2 {
t.Error("IsOpenRender is error, check this code")
}
if req.IsLowRendering != ^IsLowRendering+2 {
t.Error("IsLowRendering is error, check this code")
}
if req.IsRemoveBg != ^IsRemoveBg+2 {
t.Error("IsRemoveBg is error, check this code")
}
}