@congminh1254/shopee-sdk 1.6.1 → 1.7.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 (154) hide show
  1. package/README.md +9 -3
  2. package/lib/__tests__/errors.test.d.ts +1 -0
  3. package/lib/__tests__/errors.test.js +49 -0
  4. package/lib/__tests__/errors.test.js.map +1 -0
  5. package/lib/__tests__/fetch.test.d.ts +1 -0
  6. package/lib/__tests__/fetch.test.js +494 -0
  7. package/lib/__tests__/fetch.test.js.map +1 -0
  8. package/lib/__tests__/integration.test.d.ts +1 -0
  9. package/lib/__tests__/integration.test.js +201 -0
  10. package/lib/__tests__/integration.test.js.map +1 -0
  11. package/lib/__tests__/managers/account-health.manager.test.d.ts +1 -0
  12. package/lib/__tests__/managers/account-health.manager.test.js +446 -0
  13. package/lib/__tests__/managers/account-health.manager.test.js.map +1 -0
  14. package/lib/__tests__/managers/add-on-deal.manager.test.d.ts +1 -0
  15. package/lib/__tests__/managers/add-on-deal.manager.test.js +636 -0
  16. package/lib/__tests__/managers/add-on-deal.manager.test.js.map +1 -0
  17. package/lib/__tests__/managers/ads.manager.test.d.ts +1 -0
  18. package/lib/__tests__/managers/ads.manager.test.js +1016 -0
  19. package/lib/__tests__/managers/ads.manager.test.js.map +1 -0
  20. package/lib/__tests__/managers/ams.manager.test.d.ts +1 -0
  21. package/lib/__tests__/managers/ams.manager.test.js +1170 -0
  22. package/lib/__tests__/managers/ams.manager.test.js.map +1 -0
  23. package/lib/__tests__/managers/auth.manager.test.d.ts +1 -0
  24. package/lib/__tests__/managers/auth.manager.test.js +193 -0
  25. package/lib/__tests__/managers/auth.manager.test.js.map +1 -0
  26. package/lib/__tests__/managers/bundle-deal.manager.test.d.ts +1 -0
  27. package/lib/__tests__/managers/bundle-deal.manager.test.js +465 -0
  28. package/lib/__tests__/managers/bundle-deal.manager.test.js.map +1 -0
  29. package/lib/__tests__/managers/discount.manager.test.d.ts +1 -0
  30. package/lib/__tests__/managers/discount.manager.test.js +615 -0
  31. package/lib/__tests__/managers/discount.manager.test.js.map +1 -0
  32. package/lib/__tests__/managers/fbs.manager.test.d.ts +1 -0
  33. package/lib/__tests__/managers/fbs.manager.test.js +349 -0
  34. package/lib/__tests__/managers/fbs.manager.test.js.map +1 -0
  35. package/lib/__tests__/managers/first-mile.manager.test.d.ts +1 -0
  36. package/lib/__tests__/managers/first-mile.manager.test.js +629 -0
  37. package/lib/__tests__/managers/first-mile.manager.test.js.map +1 -0
  38. package/lib/__tests__/managers/follow-prize.manager.test.d.ts +1 -0
  39. package/lib/__tests__/managers/follow-prize.manager.test.js +408 -0
  40. package/lib/__tests__/managers/follow-prize.manager.test.js.map +1 -0
  41. package/lib/__tests__/managers/global-product.manager.test.d.ts +1 -0
  42. package/lib/__tests__/managers/global-product.manager.test.js +1253 -0
  43. package/lib/__tests__/managers/global-product.manager.test.js.map +1 -0
  44. package/lib/__tests__/managers/livestream.manager.test.d.ts +1 -0
  45. package/lib/__tests__/managers/livestream.manager.test.js +877 -0
  46. package/lib/__tests__/managers/livestream.manager.test.js.map +1 -0
  47. package/lib/__tests__/managers/logistics.manager.test.d.ts +1 -0
  48. package/lib/__tests__/managers/logistics.manager.test.js +1125 -0
  49. package/lib/__tests__/managers/logistics.manager.test.js.map +1 -0
  50. package/lib/__tests__/managers/media-space.manager.test.d.ts +1 -0
  51. package/lib/__tests__/managers/media-space.manager.test.js +556 -0
  52. package/lib/__tests__/managers/media-space.manager.test.js.map +1 -0
  53. package/lib/__tests__/managers/media.manager.test.d.ts +1 -0
  54. package/lib/__tests__/managers/media.manager.test.js +681 -0
  55. package/lib/__tests__/managers/media.manager.test.js.map +1 -0
  56. package/lib/__tests__/managers/merchant.manager.test.d.ts +1 -0
  57. package/lib/__tests__/managers/merchant.manager.test.js +328 -0
  58. package/lib/__tests__/managers/merchant.manager.test.js.map +1 -0
  59. package/lib/__tests__/managers/order.manager.test.d.ts +1 -0
  60. package/lib/__tests__/managers/order.manager.test.js +937 -0
  61. package/lib/__tests__/managers/order.manager.test.js.map +1 -0
  62. package/lib/__tests__/managers/payment.manager.test.d.ts +1 -0
  63. package/lib/__tests__/managers/payment.manager.test.js +1167 -0
  64. package/lib/__tests__/managers/payment.manager.test.js.map +1 -0
  65. package/lib/__tests__/managers/product.manager.test.d.ts +1 -0
  66. package/lib/__tests__/managers/product.manager.test.js +2247 -0
  67. package/lib/__tests__/managers/product.manager.test.js.map +1 -0
  68. package/lib/__tests__/managers/public.manager.test.d.ts +1 -0
  69. package/lib/__tests__/managers/public.manager.test.js +209 -0
  70. package/lib/__tests__/managers/public.manager.test.js.map +1 -0
  71. package/lib/__tests__/managers/push.manager.test.d.ts +1 -0
  72. package/lib/__tests__/managers/push.manager.test.js +244 -0
  73. package/lib/__tests__/managers/push.manager.test.js.map +1 -0
  74. package/lib/__tests__/managers/returns.manager.test.d.ts +1 -0
  75. package/lib/__tests__/managers/returns.manager.test.js +783 -0
  76. package/lib/__tests__/managers/returns.manager.test.js.map +1 -0
  77. package/lib/__tests__/managers/sbs.manager.test.d.ts +1 -0
  78. package/lib/__tests__/managers/sbs.manager.test.js +492 -0
  79. package/lib/__tests__/managers/sbs.manager.test.js.map +1 -0
  80. package/lib/__tests__/managers/shop-category.manager.test.d.ts +1 -0
  81. package/lib/__tests__/managers/shop-category.manager.test.js +425 -0
  82. package/lib/__tests__/managers/shop-category.manager.test.js.map +1 -0
  83. package/lib/__tests__/managers/shop-flash-sale.manager.test.d.ts +1 -0
  84. package/lib/__tests__/managers/shop-flash-sale.manager.test.js +492 -0
  85. package/lib/__tests__/managers/shop-flash-sale.manager.test.js.map +1 -0
  86. package/lib/__tests__/managers/shop.manager.test.d.ts +1 -0
  87. package/lib/__tests__/managers/shop.manager.test.js +637 -0
  88. package/lib/__tests__/managers/shop.manager.test.js.map +1 -0
  89. package/lib/__tests__/managers/top-picks.manager.test.d.ts +1 -0
  90. package/lib/__tests__/managers/top-picks.manager.test.js +324 -0
  91. package/lib/__tests__/managers/top-picks.manager.test.js.map +1 -0
  92. package/lib/__tests__/managers/video.manager.test.d.ts +1 -0
  93. package/lib/__tests__/managers/video.manager.test.js +1039 -0
  94. package/lib/__tests__/managers/video.manager.test.js.map +1 -0
  95. package/lib/__tests__/managers/voucher.manager.test.d.ts +1 -0
  96. package/lib/__tests__/managers/voucher.manager.test.js +442 -0
  97. package/lib/__tests__/managers/voucher.manager.test.js.map +1 -0
  98. package/lib/__tests__/sdk.test.d.ts +1 -0
  99. package/lib/__tests__/sdk.test.js +227 -0
  100. package/lib/__tests__/sdk.test.js.map +1 -0
  101. package/lib/__tests__/storage/custom-token-storage.test.d.ts +1 -0
  102. package/lib/__tests__/storage/custom-token-storage.test.js +337 -0
  103. package/lib/__tests__/storage/custom-token-storage.test.js.map +1 -0
  104. package/lib/__tests__/utils/signature.test.d.ts +1 -0
  105. package/lib/__tests__/utils/signature.test.js +38 -0
  106. package/lib/__tests__/utils/signature.test.js.map +1 -0
  107. package/lib/__tests__/utils/spec-audit.test.d.ts +1 -0
  108. package/lib/__tests__/utils/spec-audit.test.js +176 -0
  109. package/lib/__tests__/utils/spec-audit.test.js.map +1 -0
  110. package/lib/errors.js +2 -0
  111. package/lib/errors.js.map +1 -1
  112. package/lib/fetch.js +65 -3
  113. package/lib/fetch.js.map +1 -1
  114. package/lib/managers/ads.manager.d.ts +1 -41
  115. package/lib/managers/ads.manager.js +0 -54
  116. package/lib/managers/ads.manager.js.map +1 -1
  117. package/lib/managers/auth.manager.d.ts +2 -1
  118. package/lib/managers/auth.manager.js +2 -5
  119. package/lib/managers/auth.manager.js.map +1 -1
  120. package/lib/managers/base.manager.js +1 -0
  121. package/lib/managers/base.manager.js.map +1 -1
  122. package/lib/managers/media.manager.d.ts +43 -8
  123. package/lib/managers/media.manager.js +75 -7
  124. package/lib/managers/media.manager.js.map +1 -1
  125. package/lib/managers/order.manager.js +1 -0
  126. package/lib/managers/order.manager.js.map +1 -1
  127. package/lib/managers/payment.manager.d.ts +13 -1
  128. package/lib/managers/payment.manager.js +26 -0
  129. package/lib/managers/payment.manager.js.map +1 -1
  130. package/lib/managers/product.manager.js +1 -1
  131. package/lib/managers/product.manager.js.map +1 -1
  132. package/lib/schemas/ads.d.ts +2 -56
  133. package/lib/schemas/ams.d.ts +92 -0
  134. package/lib/schemas/base.d.ts +2 -0
  135. package/lib/schemas/discount.d.ts +4 -0
  136. package/lib/schemas/fetch.d.ts +1 -1
  137. package/lib/schemas/livestream.d.ts +14 -0
  138. package/lib/schemas/media.d.ts +113 -6
  139. package/lib/schemas/merchant.d.ts +2 -0
  140. package/lib/schemas/order.d.ts +22 -0
  141. package/lib/schemas/payment.d.ts +96 -0
  142. package/lib/schemas/product.d.ts +253 -15
  143. package/lib/schemas/public.d.ts +3 -0
  144. package/lib/schemas/returns.d.ts +38 -1
  145. package/lib/schemas/shop.d.ts +16 -0
  146. package/lib/schemas/video.d.ts +83 -37
  147. package/lib/schemas/voucher.d.ts +2 -0
  148. package/lib/sdk.js +31 -0
  149. package/lib/sdk.js.map +1 -1
  150. package/lib/storage/custom-token-storage.js +2 -0
  151. package/lib/storage/custom-token-storage.js.map +1 -1
  152. package/lib/version.d.ts +1 -1
  153. package/lib/version.js +1 -1
  154. package/package.json +3 -3
@@ -0,0 +1,446 @@
1
+ import { jest } from "@jest/globals";
2
+ import { AccountHealthManager } from "../../managers/account-health.manager.js";
3
+ import { ShopeeRegion } from "../../schemas/region.js";
4
+ import { ShopeeFetch } from "../../fetch.js";
5
+ import { MetricType, MetricUnit, PerformanceRating, } from "../../schemas/account-health.js";
6
+ // Mock ShopeeFetch.fetch static method
7
+ const mockFetch = jest.fn();
8
+ ShopeeFetch.fetch = mockFetch;
9
+ describe("AccountHealthManager", () => {
10
+ let accountHealthManager;
11
+ let mockConfig;
12
+ const mockShopeeFetch = mockFetch;
13
+ beforeEach(() => {
14
+ jest.clearAllMocks();
15
+ mockConfig = {
16
+ partner_id: 12345,
17
+ partner_key: "test_partner_key",
18
+ shop_id: 67890,
19
+ region: ShopeeRegion.GLOBAL,
20
+ base_url: "https://partner.test-stable.shopeemobile.com/api/v2",
21
+ };
22
+ accountHealthManager = new AccountHealthManager(mockConfig);
23
+ });
24
+ describe("getShopPenalty", () => {
25
+ it("should get shop penalty information successfully", async () => {
26
+ const mockResponse = {
27
+ request_id: "test-request-id",
28
+ error: "",
29
+ message: "",
30
+ response: {
31
+ penalty_points: {
32
+ overall_penalty_points: 10,
33
+ non_fulfillment_rate: 2,
34
+ late_shipment_rate: 3,
35
+ listing_violations: 2,
36
+ opfr_violations: 1,
37
+ others: 2,
38
+ },
39
+ ongoing_punishment: [
40
+ {
41
+ punishment_tier: 2,
42
+ days_left: 15,
43
+ punishment_name: "deboost",
44
+ },
45
+ ],
46
+ },
47
+ };
48
+ mockShopeeFetch.mockResolvedValue(mockResponse);
49
+ const result = await accountHealthManager.getShopPenalty();
50
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/shop_penalty", {
51
+ method: "GET",
52
+ auth: true,
53
+ });
54
+ expect(result.error).toBe("");
55
+ expect(result.response.penalty_points.overall_penalty_points).toBe(10);
56
+ expect(result.response.ongoing_punishment).toHaveLength(1);
57
+ expect(result.response.ongoing_punishment[0].punishment_name).toBe("deboost");
58
+ });
59
+ it("should handle response with no ongoing punishments", async () => {
60
+ const mockResponse = {
61
+ request_id: "test-request-id",
62
+ error: "",
63
+ message: "",
64
+ response: {
65
+ penalty_points: {
66
+ overall_penalty_points: 0,
67
+ non_fulfillment_rate: 0,
68
+ late_shipment_rate: 0,
69
+ listing_violations: 0,
70
+ opfr_violations: 0,
71
+ others: 0,
72
+ },
73
+ ongoing_punishment: [],
74
+ },
75
+ };
76
+ mockShopeeFetch.mockResolvedValue(mockResponse);
77
+ const result = await accountHealthManager.getShopPenalty();
78
+ expect(result.response.penalty_points.overall_penalty_points).toBe(0);
79
+ expect(result.response.ongoing_punishment).toHaveLength(0);
80
+ });
81
+ });
82
+ describe("getShopPerformance", () => {
83
+ it("should get shop performance metrics successfully", async () => {
84
+ const mockResponse = {
85
+ request_id: "test-request-id",
86
+ error: "",
87
+ message: "",
88
+ response: {
89
+ overall_performance: {
90
+ rating: PerformanceRating.Good,
91
+ fulfillment_failed: 0,
92
+ listing_failed: 0,
93
+ custom_service_failed: 0,
94
+ },
95
+ metric_list: [
96
+ {
97
+ metric_type: MetricType.FulfillmentPerformance,
98
+ metric_id: 3,
99
+ parent_metric_id: 0,
100
+ metric_name: "Non-Fulfilment Rate",
101
+ current_period: 2.5,
102
+ last_period: 3.0,
103
+ unit: MetricUnit.Percentage,
104
+ target: {
105
+ value: 5,
106
+ comparator: "<=",
107
+ },
108
+ },
109
+ ],
110
+ },
111
+ };
112
+ mockShopeeFetch.mockResolvedValue(mockResponse);
113
+ const result = await accountHealthManager.getShopPerformance();
114
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_shop_performance", {
115
+ method: "GET",
116
+ auth: true,
117
+ });
118
+ expect(result.error).toBe("");
119
+ expect(result.response.overall_performance.rating).toBe(PerformanceRating.Good);
120
+ expect(result.response.metric_list).toHaveLength(1);
121
+ expect(result.response.metric_list[0].metric_name).toBe("Non-Fulfilment Rate");
122
+ });
123
+ });
124
+ describe("getMetricSourceDetail", () => {
125
+ it("should get metric source details for NFR successfully", async () => {
126
+ const mockResponse = {
127
+ request_id: "test-request-id",
128
+ error: "",
129
+ message: "",
130
+ response: {
131
+ metric_id: 3,
132
+ total_count: 1,
133
+ nfr_order_list: [
134
+ {
135
+ order_sn: "210101ABCDEF",
136
+ non_fulfillment_type: 1,
137
+ detailed_reason: 1001,
138
+ },
139
+ ],
140
+ },
141
+ };
142
+ mockShopeeFetch.mockResolvedValue(mockResponse);
143
+ const result = await accountHealthManager.getMetricSourceDetail({
144
+ metric_id: 3,
145
+ });
146
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_metric_source_detail", {
147
+ method: "GET",
148
+ auth: true,
149
+ params: {
150
+ metric_id: 3,
151
+ },
152
+ });
153
+ expect(result.error).toBe("");
154
+ expect(result.response.metric_id).toBe(3);
155
+ expect(result.response.total_count).toBe(1);
156
+ expect(result.response.nfr_order_list).toHaveLength(1);
157
+ });
158
+ it("should handle pagination parameters", async () => {
159
+ const mockResponse = {
160
+ request_id: "test-request-id",
161
+ error: "",
162
+ message: "",
163
+ response: {
164
+ metric_id: 52,
165
+ total_count: 5,
166
+ violation_listing_list: [
167
+ {
168
+ item_id: 123456,
169
+ detailed_reason: 1,
170
+ update_time: 1609459200,
171
+ },
172
+ ],
173
+ },
174
+ };
175
+ mockShopeeFetch.mockResolvedValue(mockResponse);
176
+ const result = await accountHealthManager.getMetricSourceDetail({
177
+ metric_id: 52,
178
+ page_no: 1,
179
+ page_size: 20,
180
+ });
181
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_metric_source_detail", {
182
+ method: "GET",
183
+ auth: true,
184
+ params: {
185
+ metric_id: 52,
186
+ page_no: 1,
187
+ page_size: 20,
188
+ },
189
+ });
190
+ expect(result.response.metric_id).toBe(52);
191
+ expect(result.response.total_count).toBe(5);
192
+ });
193
+ });
194
+ describe("getPenaltyPointHistory", () => {
195
+ it("should get penalty point history successfully", async () => {
196
+ const mockResponse = {
197
+ request_id: "test-request-id",
198
+ error: "",
199
+ message: "",
200
+ response: {
201
+ penalty_point_list: [
202
+ {
203
+ issue_time: 1609459200,
204
+ latest_point_num: 5,
205
+ original_point_num: 5,
206
+ reference_id: 123456789,
207
+ violation_type: 5,
208
+ },
209
+ ],
210
+ total_count: 1,
211
+ },
212
+ };
213
+ mockShopeeFetch.mockResolvedValue(mockResponse);
214
+ const result = await accountHealthManager.getPenaltyPointHistory({
215
+ page_size: 10,
216
+ });
217
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_penalty_point_history", {
218
+ method: "GET",
219
+ auth: true,
220
+ params: {
221
+ page_size: 10,
222
+ },
223
+ });
224
+ expect(result.error).toBe("");
225
+ expect(result.response.penalty_point_list).toHaveLength(1);
226
+ expect(result.response.total_count).toBe(1);
227
+ });
228
+ it("should handle violation type filter", async () => {
229
+ const mockResponse = {
230
+ request_id: "test-request-id",
231
+ error: "",
232
+ message: "",
233
+ response: {
234
+ penalty_point_list: [],
235
+ total_count: 0,
236
+ },
237
+ };
238
+ mockShopeeFetch.mockResolvedValue(mockResponse);
239
+ const result = await accountHealthManager.getPenaltyPointHistory({
240
+ page_no: 1,
241
+ page_size: 20,
242
+ violation_type: 6,
243
+ });
244
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_penalty_point_history", {
245
+ method: "GET",
246
+ auth: true,
247
+ params: {
248
+ page_no: 1,
249
+ page_size: 20,
250
+ violation_type: 6,
251
+ },
252
+ });
253
+ expect(result.response.total_count).toBe(0);
254
+ });
255
+ });
256
+ describe("getPunishmentHistory", () => {
257
+ it("should get punishment history successfully", async () => {
258
+ const mockResponse = {
259
+ request_id: "test-request-id",
260
+ error: "",
261
+ message: "",
262
+ response: {
263
+ punishment_list: [
264
+ {
265
+ issue_time: 1609459200,
266
+ start_time: 1609459200,
267
+ end_time: 1610064000,
268
+ punishment_type: 103,
269
+ reason: 1,
270
+ reference_id: 123456789,
271
+ },
272
+ ],
273
+ total_count: 1,
274
+ },
275
+ };
276
+ mockShopeeFetch.mockResolvedValue(mockResponse);
277
+ const result = await accountHealthManager.getPunishmentHistory({
278
+ punishment_status: 1,
279
+ page_size: 15,
280
+ });
281
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_punishment_history", {
282
+ method: "GET",
283
+ auth: true,
284
+ params: {
285
+ punishment_status: 1,
286
+ page_size: 15,
287
+ },
288
+ });
289
+ expect(result.error).toBe("");
290
+ expect(result.response.punishment_list).toHaveLength(1);
291
+ expect(result.response.total_count).toBe(1);
292
+ });
293
+ it("should get ended punishment history", async () => {
294
+ const mockResponse = {
295
+ request_id: "test-request-id",
296
+ error: "",
297
+ message: "",
298
+ response: {
299
+ punishment_list: [
300
+ {
301
+ issue_time: 1609459200,
302
+ start_time: 1609459200,
303
+ end_time: 1610064000,
304
+ punishment_type: 104,
305
+ reason: 2,
306
+ reference_id: 987654321,
307
+ listing_limit: 100,
308
+ },
309
+ ],
310
+ total_count: 1,
311
+ },
312
+ };
313
+ mockShopeeFetch.mockResolvedValue(mockResponse);
314
+ const result = await accountHealthManager.getPunishmentHistory({
315
+ punishment_status: 2,
316
+ });
317
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_punishment_history", {
318
+ method: "GET",
319
+ auth: true,
320
+ params: {
321
+ punishment_status: 2,
322
+ },
323
+ });
324
+ expect(result.error).toBe("");
325
+ expect(result.response.punishment_list[0].listing_limit).toBe(100);
326
+ });
327
+ });
328
+ describe("getListingsWithIssues", () => {
329
+ it("should get listings with issues successfully", async () => {
330
+ const mockResponse = {
331
+ request_id: "test-request-id",
332
+ error: "",
333
+ message: "",
334
+ response: {
335
+ listing_list: [
336
+ {
337
+ item_id: 123456,
338
+ reason: 1,
339
+ },
340
+ ],
341
+ total_count: 1,
342
+ },
343
+ };
344
+ mockShopeeFetch.mockResolvedValue(mockResponse);
345
+ const result = await accountHealthManager.getListingsWithIssues({
346
+ page_size: 10,
347
+ });
348
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_listings_with_issues", {
349
+ method: "GET",
350
+ auth: true,
351
+ params: {
352
+ page_size: 10,
353
+ },
354
+ });
355
+ expect(result.error).toBe("");
356
+ expect(result.response.listing_list).toHaveLength(1);
357
+ expect(result.response.listing_list[0].item_id).toBe(123456);
358
+ expect(result.response.total_count).toBe(1);
359
+ });
360
+ it("should handle pagination", async () => {
361
+ const mockResponse = {
362
+ request_id: "test-request-id",
363
+ error: "",
364
+ message: "",
365
+ response: {
366
+ listing_list: [],
367
+ total_count: 0,
368
+ },
369
+ };
370
+ mockShopeeFetch.mockResolvedValue(mockResponse);
371
+ const result = await accountHealthManager.getListingsWithIssues({
372
+ page_no: 2,
373
+ page_size: 20,
374
+ });
375
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_listings_with_issues", {
376
+ method: "GET",
377
+ auth: true,
378
+ params: {
379
+ page_no: 2,
380
+ page_size: 20,
381
+ },
382
+ });
383
+ expect(result.response.total_count).toBe(0);
384
+ });
385
+ });
386
+ describe("getLateOrders", () => {
387
+ it("should get late orders successfully", async () => {
388
+ const mockResponse = {
389
+ request_id: "test-request-id",
390
+ error: "",
391
+ message: "",
392
+ response: {
393
+ late_order_list: [
394
+ {
395
+ order_sn: "210101ABCDEF",
396
+ shipping_deadline: 1609459200,
397
+ late_by_days: 2,
398
+ },
399
+ ],
400
+ total_count: 1,
401
+ },
402
+ };
403
+ mockShopeeFetch.mockResolvedValue(mockResponse);
404
+ const result = await accountHealthManager.getLateOrders({
405
+ page_size: 15,
406
+ });
407
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_late_orders", {
408
+ method: "GET",
409
+ auth: true,
410
+ params: {
411
+ page_size: 15,
412
+ },
413
+ });
414
+ expect(result.error).toBe("");
415
+ expect(result.response.late_order_list).toHaveLength(1);
416
+ expect(result.response.late_order_list[0].order_sn).toBe("210101ABCDEF");
417
+ expect(result.response.total_count).toBe(1);
418
+ });
419
+ it("should handle pagination", async () => {
420
+ const mockResponse = {
421
+ request_id: "test-request-id",
422
+ error: "",
423
+ message: "",
424
+ response: {
425
+ late_order_list: [],
426
+ total_count: 0,
427
+ },
428
+ };
429
+ mockShopeeFetch.mockResolvedValue(mockResponse);
430
+ const result = await accountHealthManager.getLateOrders({
431
+ page_no: 2,
432
+ page_size: 50,
433
+ });
434
+ expect(mockShopeeFetch).toHaveBeenCalledWith(mockConfig, "/account_health/get_late_orders", {
435
+ method: "GET",
436
+ auth: true,
437
+ params: {
438
+ page_no: 2,
439
+ page_size: 50,
440
+ },
441
+ });
442
+ expect(result.response.total_count).toBe(0);
443
+ });
444
+ });
445
+ });
446
+ //# sourceMappingURL=account-health.manager.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-health.manager.test.js","sourceRoot":"","sources":["../../../src/__tests__/managers/account-health.manager.test.ts"],"names":[],"mappings":"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"}