146 lines
3.9 KiB
Go
146 lines
3.9 KiB
Go
package mtpsapi
|
||
|
||
import (
|
||
"strings"
|
||
"testing"
|
||
|
||
"git.rosy.net.cn/baseapi"
|
||
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
"go.uber.org/zap"
|
||
)
|
||
|
||
var (
|
||
api *API
|
||
sugarLogger *zap.SugaredLogger
|
||
)
|
||
|
||
func init() {
|
||
logger, _ := zap.NewDevelopment()
|
||
sugarLogger = logger.Sugar()
|
||
baseapi.Init(sugarLogger)
|
||
|
||
// sandbox
|
||
api = New("25e816550bc9484480642f19a95f13fd", "r4$HqrKx9~=7?2Jfo,$Z~a7%~k!Au&pEdI2)oPJvSbH2ao@2N0[8wSIvtuumh_J^")
|
||
// prod
|
||
// api = New("3c0a05d464c247c19d7ec13accc78605", "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE")
|
||
}
|
||
|
||
func handleError(t *testing.T, err error) {
|
||
if err != nil {
|
||
sugarLogger.Debug(err)
|
||
t.Fatal(err.Error())
|
||
}
|
||
}
|
||
func TestTest(t *testing.T) {
|
||
sugarLogger.Debug(utils.GetCurTimeStr())
|
||
tmpStr := "this is a\u00A0"
|
||
sugarLogger.Debug(strings.Trim(tmpStr, " \u00A0"))
|
||
}
|
||
|
||
func TestAccessAPI(t *testing.T) {
|
||
mtPeiSongId := "1529387562097059"
|
||
params := map[string]interface{}{
|
||
"delivery_id": 123456789,
|
||
"mt_peisong_id": mtPeiSongId,
|
||
}
|
||
result, err := api.AccessAPI("order/status/query", params)
|
||
if err != nil {
|
||
t.Fatalf("Error when accessing AccessAPI result:%v, error:%v", result, err)
|
||
} else {
|
||
getMtPsId := result.Data["mt_peisong_id"].(string)
|
||
if getMtPsId != mtPeiSongId {
|
||
t.Fatalf("mt_peisong_id is not same, %v vs %v", mtPeiSongId, getMtPsId)
|
||
}
|
||
}
|
||
}
|
||
|
||
func TestCreateOrderByShop(t *testing.T) {
|
||
basicParams := &CreateOrderByShopParam{
|
||
DeliveryID: 123456789,
|
||
OrderID: "order_123456789",
|
||
// 设置测试门店 id,测试门店的坐标地址为 97235456,31065079(高德坐标),配送范围3km
|
||
ShopID: "test_0001",
|
||
DeliveryServiceCode: DeliveryServiceCodeIntime,
|
||
ReceiverName: "xjh",
|
||
ReceiverAddress: "九里堤",
|
||
ReceiverPhone: "18112345678",
|
||
ReceiverLng: 97235456,
|
||
ReceiverLat: 31065079,
|
||
CoordinateType: CoordinateTypeMars,
|
||
GoodsValue: 12.34,
|
||
GoodsWeight: 3.4,
|
||
OrderType: OrderTypeASAP,
|
||
}
|
||
|
||
order, err := api.CreateOrderByShop(basicParams, nil)
|
||
handleError(t, err)
|
||
if order != nil {
|
||
sugarLogger.Debugf("order:%v", order)
|
||
}
|
||
}
|
||
|
||
func TestShopQuery(t *testing.T) {
|
||
shopInfo, err := api.ShopQuery("not exist")
|
||
if err == nil {
|
||
t.Fatal("应该报错找不到门店")
|
||
}
|
||
shopInfo, err = api.ShopQuery("11726346")
|
||
if err != nil {
|
||
t.Fatal(err)
|
||
}
|
||
t.Log(utils.Format4Output(shopInfo, false))
|
||
}
|
||
|
||
func TestShopCreate(t *testing.T) {
|
||
shopInfo := &ShopInfo{
|
||
ShopID: "11726346",
|
||
ShopName: "测试门店",
|
||
Category: ShopCategoryFruit,
|
||
SecondCategory: ShopCategoryFruitFruit,
|
||
ContactName: "徐",
|
||
ContactPhone: "18180948107",
|
||
ShopAddress: "北京市通州区五所南路与玉桥西路南延交叉口北100米梨园农副产品交易中心 水果区",
|
||
ShopLng: 116672496,
|
||
ShopLat: 39879491,
|
||
CoordinateType: CoordinateTypeMars,
|
||
DeliveryServiceCodes: utils.Int2Str(DeliveryServiceCodeRapid),
|
||
BusinessHours: "[{\"beginTime\":\"09:00\",\"endTime\":\"18:00\"}]",
|
||
}
|
||
_, err := api.ShopCreate(shopInfo)
|
||
if err != nil {
|
||
t.Fatal(err)
|
||
}
|
||
}
|
||
|
||
func TestSimulateArrange(t *testing.T) {
|
||
err := api.SimulateArrange(123456789, "1529387562097059")
|
||
handleError(t, err)
|
||
}
|
||
|
||
func TestSimulatePickup(t *testing.T) {
|
||
err := api.SimulatePickup(123456789, "1529387562097059")
|
||
handleError(t, err)
|
||
}
|
||
|
||
func TestSimulateRearrange(t *testing.T) {
|
||
err := api.SimulateRearrange(123456789, "1529387562097059")
|
||
handleError(t, err)
|
||
}
|
||
|
||
func TestSimulateDeliver(t *testing.T) {
|
||
err := api.SimulateDeliver(123456789, "1529387562097059")
|
||
handleError(t, err)
|
||
}
|
||
|
||
func TestSimulateReportException(t *testing.T) {
|
||
err := api.SimulateReportException(123456789, "1529387562097059")
|
||
handleError(t, err)
|
||
}
|
||
|
||
func TestCancelOrder(t *testing.T) {
|
||
result, err := api.CancelOrder(123456789, "1529387562097059", CancelReasonMerchantOther, "just a test")
|
||
handleError(t, err)
|
||
sugarLogger.Debug(result)
|
||
}
|