Skip to content

Commit

Permalink
add finance integ test passed (#3)
Browse files Browse the repository at this point in the history
* add finance integ test passed

* all finance/product/reverseorder integration tests passed

Co-authored-by: yan.jinbin <yan.jinbin@shipper.id>
  • Loading branch information
ipfans and yan.jinbin committed May 6, 2022
1 parent 51e29c8 commit 1c6c73d
Show file tree
Hide file tree
Showing 38 changed files with 2,028 additions and 1,051 deletions.
14 changes: 7 additions & 7 deletions Fulfillment_.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,25 +110,25 @@ type GetPackageDetailData struct {
DeliveryOption string `json:"delivery_option"`
NoteTag int `json:"note_tag"`
OrderInfoList []struct {
OrderId string `json:"order_id"`
OrderID string `json:"order_id"`
SkuList []struct {
Quantity string `json:"quantity"`
SkuId string `json:"sku_id"`
SkuID string `json:"sku_id"`
SkuImage string `json:"sku_image"`
SkuName string `json:"sku_name"`
} `json:"sku_list"`
} `json:"order_info_list"`
OrderLineIdList string `json:"order_line_id_list"`
OrderLineIDList string `json:"order_line_id_list"`
PackageFreezeStatus int `json:"package_freeze_status"`
PackageId string `json:"package_id"`
PackageID string `json:"package_id"`
PackageStatus int `json:"package_status"`
PickUpEndTime int `json:"pick_up_end_time"`
PickUpStartTime int `json:"pick_up_start_time"`
PickUpType int `json:"pick_up_type"`
PrintTag int `json:"print_tag"`
ScTag int `json:"sc_tag"`
ShippingProvider string `json:"shipping_provider"`
ShippingProviderId string `json:"shipping_provider_id"`
ShippingProviderID string `json:"shipping_provider_id"`
SkuTag string `json:"sku_tag"`
TrackingNumber string `json:"tracking_number"`
UpdateTime int `json:"update_time"`
Expand Down Expand Up @@ -169,10 +169,10 @@ type VerifyOrderSplitRequest struct {
type VerifyOrderSplitData struct {
FailList []struct {
FailReason string `json:"fail_reason"`
OrderId int64 `json:"order_id"`
OrderID int64 `json:"order_id"`
} `json:"fail_list"`
ResultList []struct {
OrderId int64 `json:"order_id"`
OrderID int64 `json:"order_id"`
VerifyOrderResult bool `json:"verify_order_result"`
} `json:"result_list"`
}
Expand Down
14 changes: 0 additions & 14 deletions Fulfillment_integ_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,6 @@ import (
"github.com/stretchr/testify/require"
)

const (
_AK_KEY = "AK"
_SHOP_KEY = "SHOP"
_ORDER_KEY = "ORDER"
_PAGESIZE = 10
_ShippingProviderID = ""
_TRACKINGNUMBER = ""
_PACKAGEID = ""
_ORDERID = 0
_FakeOrderID = ""
)

func TestClient_SearchPreCombinePkg_Integration(t *testing.T) {
c := newTestClient(t)
type args struct {
Expand Down Expand Up @@ -142,7 +130,6 @@ func TestClient_RemovePackageOrder_Integration(t *testing.T) {
if err != nil {
return
}
// TODO
require.NotEmpty(t, ans.PackageList)
b, _ := json.Marshal(ans)
jsonData := string(b)
Expand Down Expand Up @@ -183,7 +170,6 @@ func TestClient_GetPackagePickupConfig_Integration(t *testing.T) {
if err != nil {
return
}
// TODO
require.NotEmpty(t, ans.PickUpTimeList)
b, _ := json.Marshal(ans)
jsonData := string(b)
Expand Down
21 changes: 12 additions & 9 deletions finance.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,22 @@ package tiktok

import "context"

const (
_SearchSettlementsPATH = "/api/finance/settlements/search"
_GetOrderSettlementsPATH = "/api/finance/order/settlements"
_SearchTransactionsPATH = "/api/finance/transactions/search"
)

// SearchSettlements search settlements. Default PageSize is 100.
func (c *Client) SearchSettlements(ctx context.Context, p Param, query SearchSettlementsRequest) (list SettlementsList, err error) {
param, err := c.params(p)
if err != nil {
return
}
if query.PageSize <= 0 || query.PageSize > 100 {
query.PageSize = 100
if err = c.validate.Struct(query); err != nil {
return
}
err = c.Post(ctx, "/api/finance/settlements/search", param, query, &list)
err = c.Post(ctx, _SearchSettlementsPATH, param, query, &list)
return
}

Expand All @@ -22,7 +28,7 @@ func (c *Client) GetOrderSettlements(ctx context.Context, p Param, ordersID stri
return
}
param.Set("order_id", ordersID)
err = c.Get(ctx, "/api/finance/order/settlements", param, &list)
err = c.Get(ctx, _GetOrderSettlementsPATH, param, &list)
return
}

Expand All @@ -32,12 +38,9 @@ func (c *Client) SearchTransactions(ctx context.Context, p Param, query SearchTr
if err != nil {
return
}
if query.PageSize <= 0 || query.PageSize > 100 {
query.PageSize = 100
}
if err = c.validate.Struct(&query); err != nil {
if err = c.validate.Struct(query); err != nil {
return
}
err = c.Post(ctx, "/api/finance/transactions/search", param, query, &list)
err = c.Post(ctx, _SearchTransactionsPATH, param, query, &list)
return
}
131 changes: 131 additions & 0 deletions finance_integ_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
//go:build integration

package tiktok_test

import (
"context"
"encoding/json"
"os"
"testing"

"github.com/ipfans/tiktok"
"github.com/stretchr/testify/require"
)

func TestClient_SearchSettlements_Integration(t *testing.T) {
c := newTestClient(t)
type args struct {
ak string
shopID string
query tiktok.SearchSettlementsRequest
}
tests := []struct {
name string
args args
wantList string
wantErr bool
}{
{
name: " SearchSettlements Integration Test ",
args: args{
ak: os.Getenv(_AK_KEY),
shopID: os.Getenv(_SHOP_KEY),
query: tiktok.SearchSettlementsRequest{
PageSize: _PAGESIZE,
SortType: _SORT_TYPE,
RequestTimeTo: 1691224452,
RequestTimeFrom: 1558152466,
},
},
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
ans, err := c.SearchSettlements(context.TODO(), tiktok.Param{AccessToken: tt.args.ak, ShopID: tt.args.shopID}, tt.args.query)
require.Equal(t, tt.wantErr, err != nil, "Client.SearchSettlements() error = %v, wantErr %v", err, tt.wantErr)
if err != nil {
return
}
if len(ans.SettlementList) == 0 {
return
}
b, _ := json.Marshal(ans)
jsonData := string(b)
t.Log(jsonData)
})
}
}

func TestClient_GetOrderSettlements_Integration(t *testing.T) {
c := newTestClient(t)
type args struct {
ak string
shopID string
query string
}
tests := []struct {
name string
args args
wantList string
wantErr bool
}{
{
name: " GetOrderSettlements Integration Test ",
args: args{
ak: os.Getenv(_AK_KEY),
shopID: os.Getenv(_SHOP_KEY),
query: _ORDERIDStr,
},
wantErr: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
ans, err := c.GetOrderSettlements(context.TODO(), tiktok.Param{AccessToken: tt.args.ak, ShopID: tt.args.shopID}, tt.args.query)
require.Equal(t, tt.wantErr, err != nil, "Client.GetOrderSettlements() error = %v, wantErr %v", err, tt.wantErr)
if err != nil {
return
}
require.NotEmpty(t, ans.SettlementList)
b, _ := json.Marshal(ans)
jsonData := string(b)
t.Log(jsonData)
})
}
}

func TestClient_SearchTransactions_Integration(t *testing.T) {
c := newTestClient(t)
type args struct {
ak string
shopID string
query tiktok.SearchTransactionsRequest
}
tests := []struct {
name string
args args
wantList string
wantErr bool
}{
{
name: " SearchTransactions Integration Test ",
args: args{
ak: os.Getenv(_AK_KEY),
shopID: os.Getenv(_SHOP_KEY),
query: tiktok.SearchTransactionsRequest{
PageSize: _PAGESIZE,
// Withdraw:1 Settle:2 Transfer:3 Reverse:4
TransactionType: []int{1, 2, 3, 4},
},
},
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
_, err := c.SearchTransactions(context.TODO(), tiktok.Param{AccessToken: tt.args.ak, ShopID: tt.args.shopID}, tt.args.query)
require.Equal(t, tt.wantErr, err != nil, "Client.SearchTransactions() error = %v, wantErr %v", err, tt.wantErr)
})
}
}
18 changes: 18 additions & 0 deletions helper_integ_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,24 @@ import (
"github.com/ipfans/tiktok"
)

const (
_AK_KEY = "AK"
_SHOP_KEY = "SHOP"
_ORDER_KEY = "ORDER"
_PAGESIZE = 10
_ShippingProviderID = ""
_TRACKINGNUMBER = ""
_PACKAGEID = ""
_ORDERID = 0
_ORDERIDStr = ""
_FakeOrderID = ""
_PRODUCTID = ""
_SKUID = ""
_WAREHOUSEID = ""
_CATEGORYID = ""
_SORT_TYPE = 1 // Available values: 1 (DESC), 2 (ASC) Default value 1
)

func newTestClient(t *testing.T) *tiktok.Client {
t.Helper()
appKey := os.Getenv("APPKEY")
Expand Down
4 changes: 2 additions & 2 deletions logistics_.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ type GetSubscribedDeliveryData struct {
WarehouseList []struct {
WarehouseDelivery []struct {
DeliveryOption string `json:"delivery_option"`
ServiceId string `json:"service_id"`
ServiceID string `json:"service_id"`
ServiceName string `json:"service_name"`
} `json:"warehouse_delivery"`
WarehouseId string `json:"warehouse_id"`
WarehouseID string `json:"warehouse_id"`
} `json:"warehouse_list"`
}

Expand Down
2 changes: 1 addition & 1 deletion logistics_integ_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ func TestClient_GetSubscribedDelivery_Integration(t *testing.T) {
wantErr bool
}{
{
name: " TODO Integration Test ",
name: " GetSubscribedDelivery Integration Test ",
args: args{
ak: os.Getenv("AK"),
shopID: os.Getenv("SHOP"),
Expand Down
13 changes: 6 additions & 7 deletions order_integ_test.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
//go:build integration
// +build integration

package tiktok_test

Expand Down Expand Up @@ -30,17 +29,17 @@ func TestClient_GetOrderList_Integration(t *testing.T) {
{
name: "Request with valid ak",
args: args{
ak: os.Getenv("AK"),
shopID: os.Getenv("SHOP"),
ak: os.Getenv(_AK_KEY),
shopID: os.Getenv(_SHOP_KEY),
query: tiktok.GetOrderListRequest{},
},
wantErr: false,
},
{
name: "Request with valid ak and filter",
args: args{
ak: os.Getenv("AK"),
shopID: os.Getenv("SHOP"),
ak: os.Getenv(_AK_KEY),
shopID: os.Getenv(_SHOP_KEY),
query: tiktok.GetOrderListRequest{
OrderStatus: 111,
},
Expand Down Expand Up @@ -79,8 +78,8 @@ func TestClient_GetOrderDetail_Integration(t *testing.T) {
{
name: "Request with valid ak and id",
args: args{
ak: os.Getenv("AK"),
shopID: os.Getenv("SHOP"),
ak: os.Getenv(_AK_KEY),
shopID: os.Getenv(_SHOP_KEY),
orderID: strings.Split(os.Getenv("ORDER"), ","),
},
wantErr: false,
Expand Down

0 comments on commit 1c6c73d

Please sign in to comment.