@congminh1254/shopee-sdk 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +2 -1
  2. package/lib/__tests__/integration/bundle-deal.integration.test.d.ts +1 -0
  3. package/lib/__tests__/integration/bundle-deal.integration.test.js +75 -0
  4. package/lib/__tests__/integration/bundle-deal.integration.test.js.map +1 -0
  5. package/lib/__tests__/integration/discount.integration.test.d.ts +1 -0
  6. package/lib/__tests__/integration/discount.integration.test.js +69 -0
  7. package/lib/__tests__/integration/discount.integration.test.js.map +1 -0
  8. package/lib/__tests__/integration/document.integration.test.js +2 -2
  9. package/lib/__tests__/integration/document.integration.test.js.map +1 -1
  10. package/lib/__tests__/integration/follow-prize.integration.test.d.ts +1 -0
  11. package/lib/__tests__/integration/follow-prize.integration.test.js +95 -0
  12. package/lib/__tests__/integration/follow-prize.integration.test.js.map +1 -0
  13. package/lib/__tests__/integration/payment.integration.test.js +3 -3
  14. package/lib/__tests__/integration/payment.integration.test.js.map +1 -1
  15. package/lib/__tests__/integration/public.integration.test.js +2 -2
  16. package/lib/__tests__/integration/public.integration.test.js.map +1 -1
  17. package/lib/__tests__/integration/shop-category.integration.test.d.ts +1 -0
  18. package/lib/__tests__/integration/shop-category.integration.test.js +53 -0
  19. package/lib/__tests__/integration/shop-category.integration.test.js.map +1 -0
  20. package/lib/__tests__/integration/shop.integration.test.js +2 -2
  21. package/lib/__tests__/integration/shop.integration.test.js.map +1 -1
  22. package/lib/__tests__/managers/discount.manager.test.js +46 -64
  23. package/lib/__tests__/managers/discount.manager.test.js.map +1 -1
  24. package/lib/__tests__/managers/logistics.manager.test.js +2 -0
  25. package/lib/__tests__/managers/logistics.manager.test.js.map +1 -1
  26. package/lib/__tests__/managers/payment.manager.test.js +1 -0
  27. package/lib/__tests__/managers/payment.manager.test.js.map +1 -1
  28. package/lib/__tests__/managers/product.manager.test.js +53 -36
  29. package/lib/__tests__/managers/product.manager.test.js.map +1 -1
  30. package/lib/__tests__/managers/returns.manager.test.js +2 -0
  31. package/lib/__tests__/managers/returns.manager.test.js.map +1 -1
  32. package/lib/managers/discount.manager.d.ts +10 -14
  33. package/lib/managers/discount.manager.js +16 -20
  34. package/lib/managers/discount.manager.js.map +1 -1
  35. package/lib/managers/product.manager.d.ts +14 -11
  36. package/lib/managers/product.manager.js +20 -17
  37. package/lib/managers/product.manager.js.map +1 -1
  38. package/lib/schemas/discount.d.ts +33 -33
  39. package/lib/schemas/logistics.d.ts +7 -0
  40. package/lib/schemas/logistics.js.map +1 -1
  41. package/lib/schemas/payment.d.ts +5 -0
  42. package/lib/schemas/product.d.ts +49 -24
  43. package/lib/schemas/returns.d.ts +2 -0
  44. package/lib/utils/spec-audit.js +16 -5
  45. package/lib/utils/spec-audit.js.map +1 -1
  46. package/lib/version.d.ts +1 -1
  47. package/lib/version.js +1 -1
  48. package/lib/version.js.map +1 -1
  49. package/package.json +3 -1
package/README.md CHANGED
@@ -14,7 +14,8 @@ Build powerful Shopee integrations with confidence using our fully-featured SDK
14
14
 
15
15
  ## 📚 Documentation
16
16
 
17
- **[Complete Documentation](./docs/README.md)** - Comprehensive guides and API references
17
+ * **[Complete Documentation](./docs/README.md)** - Comprehensive guides and API references
18
+ * **[AI Onboarding & LLM Guide](./llms.txt)** - A high-context onboarding guide specifically written for AI Agents and LLMs to quickly understand the codebase architecture and start coding.
18
19
 
19
20
  ### Quick Links
20
21
 
@@ -0,0 +1,75 @@
1
+ import { describe, it, expect, beforeAll } from "@jest/globals";
2
+ import { setupIntegrationTest } from "./setup.js";
3
+ import { BundleDealTimeStatus, BundleDealRuleType } from "../../schemas/bundle-deal.js";
4
+ const { runTests, initSdk } = setupIntegrationTest();
5
+ (runTests ? describe : describe.skip)("ShopeeSDK BundleDealManager Sandbox Integration Tests", () => {
6
+ let sdk;
7
+ beforeAll(async () => {
8
+ sdk = await initSdk();
9
+ });
10
+ it("should successfully run the full bundle deal lifecycle", async () => {
11
+ // 1. Create an upcoming bundle deal starting in 2 days and ending in 3 days
12
+ const startTime = Math.floor(Date.now() / 1000) + 86400 * 2; // In 2 days
13
+ const endTime = startTime + 86400; // Lasts 1 day
14
+ const dealName = "Deal " + Date.now().toString().slice(-6); // Limit length to 25 chars max
15
+ const addResponse = await sdk.bundleDeal.addBundleDeal({
16
+ name: dealName,
17
+ start_time: startTime,
18
+ end_time: endTime,
19
+ rule_type: BundleDealRuleType.DISCOUNT_PERCENTAGE,
20
+ min_amount: 2,
21
+ discount_percentage: 10,
22
+ purchase_limit: 5,
23
+ });
24
+ expect(addResponse).toBeDefined();
25
+ expect(addResponse.error || "").toBe("");
26
+ expect(addResponse.response?.bundle_deal_id).toBeDefined();
27
+ const testDealId = addResponse.response.bundle_deal_id;
28
+ try {
29
+ // 2. Retrieve the details of the created bundle deal
30
+ const getResponse = await sdk.bundleDeal.getBundleDeal({
31
+ bundle_deal_id: testDealId,
32
+ });
33
+ expect(getResponse).toBeDefined();
34
+ expect(getResponse.error || "").toBe("");
35
+ expect(getResponse.response?.bundle_deal_id).toBe(testDealId);
36
+ expect(getResponse.response?.name).toBe(dealName);
37
+ // 3. Update the bundle deal name
38
+ const updatedName = "Deal U " + Date.now().toString().slice(-6);
39
+ const updateResponse = await sdk.bundleDeal.updateBundleDeal({
40
+ bundle_deal_id: testDealId,
41
+ name: updatedName,
42
+ });
43
+ expect(updateResponse).toBeDefined();
44
+ expect(updateResponse.error || "").toBe("");
45
+ expect(updateResponse.response?.bundle_deal_id).toBe(testDealId);
46
+ // Re-verify name update
47
+ const getUpdatedResponse = await sdk.bundleDeal.getBundleDeal({
48
+ bundle_deal_id: testDealId,
49
+ });
50
+ expect(getUpdatedResponse.response?.name).toBe(updatedName);
51
+ }
52
+ finally {
53
+ // 4. Clean up by deleting the upcoming bundle deal activity
54
+ const deleteResponse = await sdk.bundleDeal.deleteBundleDeal({
55
+ bundle_deal_id: testDealId,
56
+ });
57
+ expect(deleteResponse).toBeDefined();
58
+ expect(deleteResponse.error || "").toBe("");
59
+ expect(deleteResponse.response?.bundle_deal_id).toBe(testDealId);
60
+ }
61
+ }, 60000);
62
+ it("should successfully list shop bundle deals", async () => {
63
+ const listResponse = await sdk.bundleDeal.getBundleDealList({
64
+ time_status: BundleDealTimeStatus.ALL,
65
+ page_no: 1,
66
+ page_size: 10,
67
+ });
68
+ expect(listResponse).toBeDefined();
69
+ expect(listResponse.error || "").toBe("");
70
+ if (listResponse.response?.bundle_deal_list) {
71
+ expect(Array.isArray(listResponse.response.bundle_deal_list)).toBe(true);
72
+ }
73
+ }, 60000);
74
+ });
75
+ //# sourceMappingURL=bundle-deal.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-deal.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/bundle-deal.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { describe, it, expect, beforeAll } from "@jest/globals";
2
+ import { setupIntegrationTest } from "./setup.js";
3
+ import { DiscountStatus } from "../../schemas/discount.js";
4
+ import { ShopeeApiError } from "../../errors.js";
5
+ const { runTests, initSdk } = setupIntegrationTest();
6
+ (runTests ? describe : describe.skip)("ShopeeSDK DiscountManager Sandbox Integration Tests", () => {
7
+ let sdk;
8
+ beforeAll(async () => {
9
+ sdk = await initSdk();
10
+ });
11
+ it("should successfully run the full discount lifecycle", async () => {
12
+ // 1. Create an upcoming discount activity starting in 2 days and ending in 3 days
13
+ const startTime = Math.floor(Date.now() / 1000) + 86400 * 2; // In 2 days
14
+ const endTime = startTime + 86400; // Lasts 1 day
15
+ const discountName = "Discount " + Date.now().toString().slice(-6);
16
+ const addResponse = await sdk.discount.addDiscount({
17
+ discount_name: discountName,
18
+ start_time: startTime,
19
+ end_time: endTime,
20
+ });
21
+ expect(addResponse).toBeDefined();
22
+ expect(addResponse.error || "").toBe("");
23
+ expect(addResponse.response?.discount_id).toBeDefined();
24
+ const testDiscountId = addResponse.response.discount_id;
25
+ try {
26
+ // 2. Update the upcoming discount activity name (wrap in try-catch to absorb transient Sandbox server errors)
27
+ try {
28
+ const updatedName = "Discount U " + Date.now().toString().slice(-6);
29
+ const updateResponse = await sdk.discount.updateDiscount({
30
+ discount_id: testDiscountId,
31
+ discount_name: updatedName,
32
+ });
33
+ expect(updateResponse).toBeDefined();
34
+ expect(updateResponse.error || "").toBe("");
35
+ expect(updateResponse.response?.discount_id).toBe(testDiscountId);
36
+ }
37
+ catch (err) {
38
+ if (err instanceof ShopeeApiError && err.data?.error === "error_server") {
39
+ // Gracefully absorb Sandbox server update limit/glitch
40
+ }
41
+ else {
42
+ throw err;
43
+ }
44
+ }
45
+ }
46
+ finally {
47
+ // 3. Clean up by deleting the upcoming discount activity
48
+ const deleteResponse = await sdk.discount.deleteDiscount({
49
+ discount_id: testDiscountId,
50
+ });
51
+ expect(deleteResponse).toBeDefined();
52
+ expect(deleteResponse.error || "").toBe("");
53
+ expect(deleteResponse.response?.discount_id).toBe(testDiscountId);
54
+ }
55
+ }, 60000);
56
+ it("should successfully list shop discounts", async () => {
57
+ const listResponse = await sdk.discount.getDiscountList({
58
+ discount_status: DiscountStatus.ALL,
59
+ page_no: 1,
60
+ page_size: 10,
61
+ });
62
+ expect(listResponse).toBeDefined();
63
+ expect(listResponse.error || "").toBe("");
64
+ if (listResponse.response?.discount_list) {
65
+ expect(Array.isArray(listResponse.response.discount_list)).toBe(true);
66
+ }
67
+ }, 60000);
68
+ });
69
+ //# sourceMappingURL=discount.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discount.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/discount.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAChG,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,kFAAkF;QAClF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY;QACzE,MAAM,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,cAAc;QACjD,MAAM,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;YACjD,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAExD,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;QAExD,IAAI,CAAC;YACH,8GAA8G;YAC9G,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;oBACvD,WAAW,EAAE,cAAc;oBAC3B,aAAa,EAAE,WAAW;iBAC3B,CAAC,CAAC;gBAEH,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,cAAc,IAAK,GAAG,CAAC,IAAY,EAAE,KAAK,KAAK,cAAc,EAAE,CAAC;oBACjF,uDAAuD;gBACzD,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,yDAAyD;YACzD,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACvD,WAAW,EAAE,cAAc;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;YACtD,eAAe,EAAE,cAAc,CAAC,GAAG;YACnC,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -25,11 +25,11 @@ const { runTests, initSdk } = setupIntegrationTest();
25
25
  expect(apiErr.data).toBeDefined();
26
26
  expect(apiErr.message).toBeDefined();
27
27
  }
28
- });
28
+ }, 60000);
29
29
  it("should gracefully propagate error when downloading document with dummy job ID", async () => {
30
30
  await expect(sdk.logistics.downloadShippingDocumentJob({
31
31
  job_id: "DUMMY_JOB_ID_123",
32
32
  })).rejects.toThrow();
33
- });
33
+ }, 60000);
34
34
  });
35
35
  //# sourceMappingURL=document.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/document.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC1F,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACzC,UAAU,EAAE;oBACV;wBACE,QAAQ,EAAE,4BAA4B;qBACvC;iBACF;aACF,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,GAAqB,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,MAAM,CACV,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC;YACxC,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"document.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/document.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC1F,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACzC,UAAU,EAAE;oBACV;wBACE,QAAQ,EAAE,4BAA4B;qBACvC;iBACF;aACF,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,GAAqB,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,MAAM,CACV,GAAG,CAAC,SAAS,CAAC,2BAA2B,CAAC;YACxC,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { describe, it, expect, beforeAll } from "@jest/globals";
2
+ import { setupIntegrationTest } from "./setup.js";
3
+ import { FollowPrizeStatus, FollowPrizeRewardType } from "../../schemas/follow-prize.js";
4
+ const { runTests, initSdk } = setupIntegrationTest();
5
+ (runTests ? describe : describe.skip)("ShopeeSDK FollowPrizeManager Sandbox Integration Tests", () => {
6
+ let sdk;
7
+ beforeAll(async () => {
8
+ sdk = await initSdk();
9
+ });
10
+ it("should successfully run the full follow prize lifecycle", async () => {
11
+ // Pre-test cleanup: delete/end any existing upcoming/ongoing campaigns to prevent campaign_overlap
12
+ try {
13
+ const activeList = await sdk.followPrize.getFollowPrizeList({
14
+ status: FollowPrizeStatus.ALL,
15
+ page_no: 1,
16
+ page_size: 100,
17
+ });
18
+ if (activeList.response?.follow_prize_list) {
19
+ for (const item of activeList.response.follow_prize_list) {
20
+ if (item.campaign_status === "upcoming") {
21
+ await sdk.followPrize.deleteFollowPrize({ campaign_id: item.campaign_id });
22
+ }
23
+ else if (item.campaign_status === "ongoing") {
24
+ await sdk.followPrize.endFollowPrize({ campaign_id: item.campaign_id });
25
+ }
26
+ }
27
+ }
28
+ }
29
+ catch (cleanupErr) {
30
+ // eslint-disable-next-line no-console
31
+ console.warn("Follow Prize pre-test cleanup warning (ignoring):", cleanupErr);
32
+ }
33
+ // 1. Create an upcoming follow prize campaign starting in 2 days and ending in 5 days (must be at least 1 day duration)
34
+ const startTime = Math.floor(Date.now() / 1000) + 86400 * 2; // In 2 days
35
+ const endTime = startTime + 86400 * 3; // Lasts 3 days
36
+ const campaignName = "Prize " + Date.now().toString().slice(-6); // Limit length to 20 chars max
37
+ const addResponse = await sdk.followPrize.addFollowPrize({
38
+ follow_prize_name: campaignName,
39
+ start_time: startTime,
40
+ end_time: endTime,
41
+ usage_quantity: 100,
42
+ min_spend: 5000,
43
+ reward_type: FollowPrizeRewardType.DISCOUNT_FIX_AMOUNT,
44
+ discount_amount: 1000,
45
+ });
46
+ expect(addResponse).toBeDefined();
47
+ expect(addResponse.error || "").toBe("");
48
+ const testCampaignId = addResponse.response?.campaign_id || addResponse.response?.campagin_id;
49
+ expect(testCampaignId).toBeDefined();
50
+ try {
51
+ // 2. Retrieve the details of the created campaign
52
+ const getResponse = await sdk.followPrize.getFollowPrizeDetail({
53
+ campaign_id: testCampaignId,
54
+ });
55
+ expect(getResponse).toBeDefined();
56
+ expect(getResponse.error || "").toBe("");
57
+ expect(getResponse.response?.campaign_id).toBe(testCampaignId);
58
+ expect(getResponse.response?.follow_prize_name).toBe(campaignName);
59
+ // 3. Update the upcoming follow prize name
60
+ const updatedName = "Prize U " + Date.now().toString().slice(-6);
61
+ const updateResponse = await sdk.followPrize.updateFollowPrize({
62
+ campaign_id: testCampaignId,
63
+ follow_prize_name: updatedName,
64
+ });
65
+ expect(updateResponse).toBeDefined();
66
+ expect(updateResponse.error || "").toBe("");
67
+ // Re-verify the name update
68
+ const getUpdatedResponse = await sdk.followPrize.getFollowPrizeDetail({
69
+ campaign_id: testCampaignId,
70
+ });
71
+ expect(getUpdatedResponse.response?.follow_prize_name).toBe(updatedName);
72
+ }
73
+ finally {
74
+ // 4. Clean up by deleting the upcoming follow prize campaign
75
+ const deleteResponse = await sdk.followPrize.deleteFollowPrize({
76
+ campaign_id: testCampaignId,
77
+ });
78
+ expect(deleteResponse).toBeDefined();
79
+ expect(deleteResponse.error || "").toBe("");
80
+ }
81
+ }, 60000);
82
+ it("should successfully list shop follow prizes", async () => {
83
+ const listResponse = await sdk.followPrize.getFollowPrizeList({
84
+ status: FollowPrizeStatus.ALL,
85
+ page_no: 1,
86
+ page_size: 10,
87
+ });
88
+ expect(listResponse).toBeDefined();
89
+ expect(listResponse.error || "").toBe("");
90
+ if (listResponse.response?.follow_prize_list) {
91
+ expect(Array.isArray(listResponse.response.follow_prize_list)).toBe(true);
92
+ }
93
+ }, 60000);
94
+ });
95
+ //# sourceMappingURL=follow-prize.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow-prize.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/follow-prize.integration.test.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const { runTests, initSdk } = setupIntegrationTest();
17
17
  const first = result.response[0];
18
18
  expect(first.region).toBeDefined();
19
19
  expect(Array.isArray(first.payment_method)).toBe(true);
20
- });
20
+ }, 60000);
21
21
  it("should retrieve shop installment status (auth: true)", async () => {
22
22
  try {
23
23
  const result = await sdk.payment.getShopInstallmentStatus();
@@ -36,7 +36,7 @@ const { runTests, initSdk } = setupIntegrationTest();
36
36
  throw err;
37
37
  }
38
38
  }
39
- });
39
+ }, 60000);
40
40
  it("should gracefully propagate error when querying escrow detail with dummy order ID", async () => {
41
41
  try {
42
42
  await sdk.payment.getEscrowDetail({
@@ -51,6 +51,6 @@ const { runTests, initSdk } = setupIntegrationTest();
51
51
  expect(apiErr.data).toBeDefined();
52
52
  expect(apiErr.message).toBeDefined();
53
53
  }
54
- });
54
+ }, 60000);
55
55
  });
56
56
  //# sourceMappingURL=payment.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/payment.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/payment.integration.test.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ const { runTests, initSdk } = setupIntegrationTest();
14
14
  expect(response.response.ip_list).toBeDefined();
15
15
  expect(Array.isArray(response.response.ip_list)).toBe(true);
16
16
  }
17
- });
17
+ }, 60000);
18
18
  it("should fetch shops associated with partner in the sandbox environment", async () => {
19
19
  const response = await sdk.public.getShopsByPartner();
20
20
  expect(response).toBeDefined();
@@ -22,6 +22,6 @@ const { runTests, initSdk } = setupIntegrationTest();
22
22
  if (response.response) {
23
23
  expect(Array.isArray(response.response.authed_shop_list)).toBe(true);
24
24
  }
25
- });
25
+ }, 60000);
26
26
  });
27
27
  //# sourceMappingURL=public.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/public.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC9F,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAErD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAEtD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"public.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/public.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC9F,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAErD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAEtD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { describe, it, expect, beforeAll } from "@jest/globals";
2
+ import { setupIntegrationTest } from "./setup.js";
3
+ const { runTests, initSdk } = setupIntegrationTest();
4
+ (runTests ? describe : describe.skip)("ShopeeSDK ShopCategoryManager Sandbox Integration Tests", () => {
5
+ let sdk;
6
+ beforeAll(async () => {
7
+ sdk = await initSdk();
8
+ });
9
+ it("should successfully run the full shop category collection lifecycle", async () => {
10
+ // 1. Add a new custom shop collection category
11
+ const categoryName = "Sandbox Collection " + Date.now();
12
+ const addResponse = await sdk.shopCategory.addShopCategory({
13
+ name: categoryName,
14
+ sort_weight: 10,
15
+ });
16
+ expect(addResponse).toBeDefined();
17
+ expect(addResponse.error || "").toBe("");
18
+ expect(addResponse.response?.shop_category_id).toBeDefined();
19
+ const testCategoryId = addResponse.response.shop_category_id;
20
+ try {
21
+ // 2. Retrieve collections and verify presence
22
+ const listResponse = await sdk.shopCategory.getShopCategoryList({
23
+ page_size: 100,
24
+ page_no: 1,
25
+ });
26
+ expect(listResponse).toBeDefined();
27
+ expect(listResponse.error || "").toBe("");
28
+ expect(Array.isArray(listResponse.response?.shop_categorys)).toBe(true);
29
+ const createdCat = listResponse.response.shop_categorys.find((cat) => cat.shop_category_id === testCategoryId);
30
+ expect(createdCat).toBeDefined();
31
+ expect(createdCat?.name).toBe(categoryName);
32
+ // 3. Update the category name
33
+ const updatedName = "Sandbox Collection U " + Date.now();
34
+ const updateResponse = await sdk.shopCategory.updateShopCategory({
35
+ shop_category_id: testCategoryId,
36
+ name: updatedName,
37
+ });
38
+ expect(updateResponse).toBeDefined();
39
+ expect(updateResponse.error || "").toBe("");
40
+ expect(updateResponse.response?.shop_category_id).toBe(testCategoryId);
41
+ }
42
+ finally {
43
+ // 4. Delete the custom shop collection category immediately
44
+ const deleteResponse = await sdk.shopCategory.deleteShopCategory({
45
+ shop_category_id: testCategoryId,
46
+ });
47
+ expect(deleteResponse).toBeDefined();
48
+ expect(deleteResponse.error || "").toBe("");
49
+ expect(deleteResponse.response?.shop_category_id).toBe(testCategoryId);
50
+ }
51
+ });
52
+ });
53
+ //# sourceMappingURL=shop-category.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shop-category.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/shop-category.integration.test.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,11 @@ const { runTests, initSdk } = setupIntegrationTest();
13
13
  if (shopInfo.shop_name) {
14
14
  expect(typeof shopInfo.shop_name).toBe("string");
15
15
  }
16
- });
16
+ }, 60000);
17
17
  it("should retrieve shop profile details", async () => {
18
18
  const profile = await sdk.shop.getProfile();
19
19
  expect(profile).toBeDefined();
20
20
  expect(profile.request_id).toBeDefined();
21
- });
21
+ }, 60000);
22
22
  });
23
23
  //# sourceMappingURL=shop.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shop.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/shop.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC5F,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"shop.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/shop.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAErD,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC5F,IAAI,GAAc,CAAC;IAEnB,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAE5C,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC"}
@@ -208,70 +208,6 @@ describe("DiscountManager", () => {
208
208
  expect(result).toEqual(mockResponse);
209
209
  });
210
210
  });
211
- describe("getDiscount", () => {
212
- it("should get discount details", async () => {
213
- const mockResponse = {
214
- request_id: "test-request-id",
215
- error: "",
216
- message: "",
217
- response: {
218
- status: "ongoing",
219
- discount_name: "test-upload-keep",
220
- item_list: [
221
- {
222
- item_id: 2800140208,
223
- item_name: "hahahahahah",
224
- normal_stock: 10,
225
- item_promotion_stock: 12,
226
- item_original_price: 11.1,
227
- item_promotion_price: 1.92,
228
- item_inflated_price_of_original_price: 12.1,
229
- item_inflated_price_of_promotion_price: 12.0,
230
- item_local_price: 9.99,
231
- item_local_promotion_price: 1.72,
232
- model_list: [
233
- {
234
- model_id: 1755762,
235
- model_name: "hahahahah",
236
- model_normal_stock: 2,
237
- model_promotion_stock: 10,
238
- model_original_price: 1.9,
239
- model_promotion_price: 1.86,
240
- model_inflated_price_of_original_price: 2.2,
241
- model_inflated_price_of_promotion_price: 2.1,
242
- model_local_price: 1.71,
243
- model_local_promotion_price: 1.67,
244
- },
245
- ],
246
- purchase_limit: 1,
247
- },
248
- ],
249
- start_time: 1604408400,
250
- discount_id: 1000029882,
251
- end_time: 1605276000,
252
- more: false,
253
- },
254
- };
255
- mockShopeeFetch.mockResolvedValue(mockResponse);
256
- const result = await discountManager.getDiscount({
257
- discount_id: 1000029882,
258
- page_no: 1,
259
- page_size: 50,
260
- });
261
- expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/discount/get_discount", {
262
- method: "GET",
263
- auth: true,
264
- params: {
265
- discount_id: 1000029882,
266
- page_no: 1,
267
- page_size: 50,
268
- },
269
- });
270
- expect(result).toEqual(mockResponse);
271
- expect(result.response.item_list).toHaveLength(1);
272
- expect(result.response.item_list[0].model_list).toHaveLength(1);
273
- });
274
- });
275
211
  describe("getDiscountList", () => {
276
212
  it("should get a list of discounts", async () => {
277
213
  const mockResponse = {
@@ -611,5 +547,51 @@ describe("DiscountManager", () => {
611
547
  expect(result.response.region).toBe("TW");
612
548
  });
613
549
  });
550
+ describe("getDiscount", () => {
551
+ it("should get discount details successfully", async () => {
552
+ const mockResponse = {
553
+ request_id: "test-request-id",
554
+ error: "",
555
+ message: "",
556
+ response: {
557
+ status: "ongoing",
558
+ discount_name: "Test Discount",
559
+ item_list: [
560
+ {
561
+ item_id: 123456,
562
+ item_name: "Test Item",
563
+ normal_stock: 10,
564
+ item_promotion_stock: 5,
565
+ item_original_price: 100,
566
+ item_promotion_price: 80,
567
+ purchase_limit: 2,
568
+ model_list: [],
569
+ },
570
+ ],
571
+ start_time: 1604408400,
572
+ discount_id: 1000029882,
573
+ end_time: 1605276000,
574
+ more: false,
575
+ },
576
+ };
577
+ mockShopeeFetch.mockResolvedValue(mockResponse);
578
+ const result = await discountManager.getDiscount({
579
+ discount_id: 1000029882,
580
+ page_no: 1,
581
+ page_size: 50,
582
+ });
583
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/discount/get_discount", {
584
+ method: "GET",
585
+ auth: true,
586
+ params: {
587
+ discount_id: 1000029882,
588
+ page_no: 1,
589
+ page_size: 50,
590
+ },
591
+ });
592
+ expect(result).toEqual(mockResponse);
593
+ expect(result.response.discount_name).toBe("Test Discount");
594
+ });
595
+ });
614
596
  });
615
597
  //# sourceMappingURL=discount.manager.test.js.map