UNPKG

@congminh1254/shopee-sdk

Version:
63 lines 2.79 kB
import { describe, it, expect, beforeAll } from "@jest/globals"; import { setupIntegrationTest } from "./setup.js"; import { VoucherStatus } from "../../schemas/voucher.js"; const { runTests, initSdk } = setupIntegrationTest(); (runTests ? describe : describe.skip)("ShopeeSDK VoucherManager Sandbox Integration Tests", () => { let sdk; let testVoucherId; beforeAll(async () => { sdk = await initSdk(); }); it("should successfully run the full voucher lifecycle", async () => { // 1. Create a Voucher starting tomorrow and ending in 3 days const startTime = Math.floor(Date.now() / 1000) + 86400; // Tomorrow const endTime = startTime + 86400 * 2; // Next 2 days const addResponse = await sdk.voucher.addVoucher({ voucher_name: "Integration Test Voucher", voucher_code: "IV" + Math.floor(100 + Math.random() * 899), start_time: startTime, end_time: endTime, voucher_type: 1, // Shop Voucher reward_type: 1, // Fix Amount Discount usage_quantity: 10, discount_amount: 10000, // 10k VND min_basket_price: 50000, // 50k VND }); expect(addResponse).toBeDefined(); expect(addResponse.error).toBe(""); expect(addResponse.response?.voucher_id).toBeDefined(); testVoucherId = addResponse.response?.voucher_id; if (testVoucherId) { // 2. Fetch the voucher detail to verify const getResponse = await sdk.voucher.getVoucher({ voucher_id: testVoucherId, }); expect(getResponse.error).toBe(""); expect(getResponse.response?.voucher_name).toBe("Integration Test Voucher"); // 3. Update the voucher limits const updateResponse = await sdk.voucher.updateVoucher({ voucher_id: testVoucherId, usage_quantity: 15, }); expect(updateResponse.error).toBe(""); // 4. Delete the upcoming voucher (clean up) const deleteResponse = await sdk.voucher.deleteVoucher({ voucher_id: testVoucherId, }); expect(deleteResponse.error).toBe(""); } }); it("should successfully list shop vouchers", async () => { const listResponse = await sdk.voucher.getVoucherList({ status: VoucherStatus.ALL, page_no: 1, page_size: 10, }); expect(listResponse).toBeDefined(); expect(listResponse.error).toBe(""); if (listResponse.response?.voucher_list) { expect(Array.isArray(listResponse.response.voucher_list)).toBe(true); } }); }); //# sourceMappingURL=voucher.integration.test.js.map