Update December 11, 2024 (#128)
This commit is contained in:
@@ -1321,11 +1321,35 @@ type CheckImageUploadingStatusParams struct {
|
|||||||
ProductId []int64 `json:"product_id"`
|
ProductId []int64 `json:"product_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check products images uploading status
|
type CheckImageUploadingStatusResponse struct {
|
||||||
func (c Products) CheckImageUploadingStatus(ctx context.Context, params *CheckImageUploadingStatusParams) (*ProductInfoResponse, error) {
|
core.CommonResponse
|
||||||
url := "/v1/product/pictures/info"
|
|
||||||
|
|
||||||
resp := &ProductInfoResponse{}
|
// Product images
|
||||||
|
Items []CheckImageUploadingStatusItem `json:"items"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type CheckImageUploadingStatusItem struct {
|
||||||
|
// Product identifier
|
||||||
|
ProductId int64 `json:"product_id"`
|
||||||
|
|
||||||
|
// Main image link
|
||||||
|
PrimaryPhoto []string `json:"primary_photo"`
|
||||||
|
|
||||||
|
// Links to product photos
|
||||||
|
Photo []string `json:"photo"`
|
||||||
|
|
||||||
|
// Links to uploaded color samples
|
||||||
|
ColorPhoto []string `json:"color_photo"`
|
||||||
|
|
||||||
|
// 360 images links
|
||||||
|
Photo360 []string `json:"photo_360"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check products images uploading status
|
||||||
|
func (c Products) CheckImageUploadingStatus(ctx context.Context, params *CheckImageUploadingStatusParams) (*CheckImageUploadingStatusResponse, error) {
|
||||||
|
url := "/v2/product/pictures/info"
|
||||||
|
|
||||||
|
resp := &CheckImageUploadingStatusResponse{}
|
||||||
|
|
||||||
response, err := c.client.Request(ctx, http.MethodPost, url, params, resp, nil)
|
response, err := c.client.Request(ctx, http.MethodPost, url, params, resp, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -1290,18 +1290,23 @@ func TestCheckImageUploadingStatus(t *testing.T) {
|
|||||||
ProductId: []int64{123456},
|
ProductId: []int64{123456},
|
||||||
},
|
},
|
||||||
`{
|
`{
|
||||||
"result": {
|
"items": [
|
||||||
"pictures": [
|
{
|
||||||
{
|
"product_id": 123456,
|
||||||
"is_360": true,
|
"primary_photo": [
|
||||||
"is_color": true,
|
"string"
|
||||||
"is_primary": true,
|
],
|
||||||
"product_id": 123456,
|
"photo": [
|
||||||
"state": "string",
|
"string"
|
||||||
"url": "string"
|
],
|
||||||
}
|
"color_photo": [
|
||||||
]
|
"string"
|
||||||
}
|
],
|
||||||
|
"photo_360": [
|
||||||
|
"string"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}`,
|
}`,
|
||||||
},
|
},
|
||||||
// Test No Client-Id or Api-Key
|
// Test No Client-Id or Api-Key
|
||||||
@@ -1326,15 +1331,15 @@ func TestCheckImageUploadingStatus(t *testing.T) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
compareJsonResponse(t, test.response, &ProductInfoResponse{})
|
compareJsonResponse(t, test.response, &CheckImageUploadingStatusResponse{})
|
||||||
|
|
||||||
if resp.StatusCode != test.statusCode {
|
if resp.StatusCode != test.statusCode {
|
||||||
t.Errorf("got wrong status code: got: %d, expected: %d", resp.StatusCode, test.statusCode)
|
t.Errorf("got wrong status code: got: %d, expected: %d", resp.StatusCode, test.statusCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
if resp.StatusCode == http.StatusOK {
|
if resp.StatusCode == http.StatusOK {
|
||||||
if len(resp.Result.Pictures) > 0 {
|
if len(resp.Items) > 0 {
|
||||||
if resp.Result.Pictures[0].ProductId != test.params.ProductId[0] {
|
if resp.Items[0].ProductId != test.params.ProductId[0] {
|
||||||
t.Errorf("Product ids in request and response are not equal")
|
t.Errorf("Product ids in request and response are not equal")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user