116 lines
3.1 KiB
Go
116 lines
3.1 KiB
Go
package wps_test
|
|
|
|
import (
|
|
wps "git.ssgfgtfy.com/public/ssgf_utils/weipinshang"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func setupMockServer(path string, method string, response string, t *testing.T) *httptest.Server {
|
|
return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
assert.Equal(t, "/"+path, r.URL.Path)
|
|
assert.Equal(t, method, r.Method)
|
|
w.WriteHeader(http.StatusOK)
|
|
w.Write([]byte(response))
|
|
}))
|
|
}
|
|
|
|
func newClientWithServer(ts *httptest.Server) *wps.WeiPinShangClient {
|
|
return wps.NewWeiPinShangClient(wps.WpsConfig{
|
|
BaseURL: wps.DevHost,
|
|
ChannelType: "AILEHUI",
|
|
Key: "f654ea5bde7635c3f46191191e5c4c8e",
|
|
})
|
|
}
|
|
|
|
func TestGetGoodBrand(t *testing.T) {
|
|
ts := setupMockServer(wps.GetGoodBrandURL, http.MethodPost, `{"code":200,"data":{"brands":[]}}`, t)
|
|
defer ts.Close()
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetGoodBrand(wps.GoodBrandReq{
|
|
PageNo: "1",
|
|
PageSize: "100",
|
|
CBrandName: "",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|
|
|
|
func TestGetGoodsClassify(t *testing.T) {
|
|
ts := setupMockServer(wps.GetGoodsClassifyURL, http.MethodPost, `{"code":200,"data":{"classify":[]}}`, t)
|
|
defer ts.Close()
|
|
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetGoodsClassify(wps.GetGoodsClassifyReq{
|
|
CLevel: "2",
|
|
CParentCode: "13315",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|
|
|
|
func TestGetGoodsList(t *testing.T) {
|
|
ts := setupMockServer(wps.GetGoodsListURL, http.MethodPost, `{"code":200,"data":{"goods":[]}}`, t)
|
|
defer ts.Close()
|
|
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetGoodsList(wps.GetGoodsListReq{
|
|
PageNo: "1",
|
|
PageSize: "10",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|
|
|
|
func TestGetGoodsdept(t *testing.T) {
|
|
ts := setupMockServer(wps.GetGoodsdeptURL, http.MethodPost, `{"code":200,"data":{"list":[]}}`, t)
|
|
defer ts.Close()
|
|
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetGoodsdept(wps.GetGoodsdeptReq{
|
|
PageNo: "1",
|
|
PageSize: "100",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|
|
|
|
func TestGetDetailsGoods(t *testing.T) {
|
|
ts := setupMockServer(wps.GetDetailsGoodsUrl, http.MethodPost, `{"code":200,"data":{"details":[]}}`, t)
|
|
defer ts.Close()
|
|
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetDetailsGoods(wps.GetDetailsGoodsReq{
|
|
FatherId: "WPS9_54846554",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|
|
|
|
func TestGetGoodsDetails(t *testing.T) {
|
|
ts := setupMockServer(wps.GetGoodsDetailsURL, http.MethodPost, `{"code":200,"data":{"goodsInfo":{}}}`, t)
|
|
defer ts.Close()
|
|
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetGoodsDetails(wps.GetGoodsDetailsReq{
|
|
FatherId: "WPS9_282520",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|
|
|
|
func TestGetGoodsStock(t *testing.T) {
|
|
ts := setupMockServer(wps.GetGoodsStockURL, http.MethodPost, `{"code":200,"data":{"stocks":[]}}`, t)
|
|
defer ts.Close()
|
|
|
|
client := newClientWithServer(ts)
|
|
res, err := client.GetGoodsStock(wps.GetGoodsStockReq{
|
|
FatherId: "WPS9_282520",
|
|
})
|
|
assert.NoError(t, err)
|
|
assert.NotNil(t, res)
|
|
}
|