UNPKG

laz-logistics-api

Version:
257 lines (256 loc) 12.9 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; Object.defineProperty(exports, "__esModule", { value: true }); var LogisticsService_1 = require("../LogisticsService"); var globals_1 = require("@jest/globals"); // load env variables from .env file require("dotenv").config(); // process env variables var _a = process.env, APP_KEY = _a.APP_KEY, SECRET_KEY = _a.SECRET_KEY, BASE_URL = _a.BASE_URL; (0, globals_1.describe)("LogisticsService", function () { var logisticsService; var packageCode; (0, globals_1.beforeEach)(function () { logisticsService = new LogisticsService_1.default(APP_KEY, SECRET_KEY, BASE_URL); }); (0, globals_1.it)("should create a package", function () { return __awaiter(void 0, void 0, void 0, function () { var timestamp, externalOrderId, response; return __generator(this, function (_a) { switch (_a.label) { case 0: timestamp = new Date().getTime(); externalOrderId = "TEST" + timestamp + "VNT"; return [4 /*yield*/, logisticsService.createPackage({ dangerousGood: "false", shipper: { externalSellerId: "Q123", platformName: "Ice_cream", externalWarehouseCode: "WH02", }, dimWeight: { length: "10", width: "10", weight: "100", height: "5", }, origin: { address: { details: "Test quận 2", id: "R7346817", }, phone: "0366452565", name: "Kho mặc định", email: "teat@gmail.com", geoLocation: { latitude: "21.027764", longitude: "105.834160", }, }, destination: { address: { details: "Phường Mai dịch", id: "R80199163", type: "home", }, phone: "0366452565", name: "huy huy", email: "teat@gmail.com", geoLocation: { latitude: "21.027764", longitude: "105.834160", }, }, payment: { totalAmount: "234535", currency: "VND", paymentType: "COD", insuranceAmount: "0", }, externalOrderId: externalOrderId, platformOrderCreationTime: timestamp, packageType: "Sales_order", deliveryOption: "standard", items: [ { unitPrice: "200000", quantity: "1", name: "Áo thun nam thời trang", id: "10887094399", sku: "SP701", paidPrice: "200000", category: "Áo thun nam", dimWeight: { length: "10", width: "10", weight: "100", height: "5", }, }, { unitPrice: "34535", quantity: "1", name: "áo TOP Nam đẹp", id: "AA66", sku: "1", paidPrice: "34535", category: "Áo thun nam", dimWeight: { length: "10", width: "10", weight: "100", height: "5", }, }, ], options: { directReturnToMerchant: "false", forwardPackageCode: "string", openBox: true, deliveryNote: "string", vasFdStorageOption: false, vasPartialDeliveryOption: false, orderSource: "string", }, })]; case 1: response = _a.sent(); // response.success = true (0, globals_1.expect)(response).toHaveProperty("success"); // response.data.packageCode = "string" (0, globals_1.expect)(response.data).toHaveProperty("packageCode"); packageCode = response.data.packageCode; return [2 /*return*/]; } }); }); }); (0, globals_1.it)("should print AWB V1", function () { return __awaiter(void 0, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, logisticsService.printAwb({ packageCode: "FU2520023000000000000006988748744", type: "pdf", })]; case 1: response = _a.sent(); // response.success = true (0, globals_1.expect)(response).toHaveProperty("success"); return [2 /*return*/]; } }); }); }); (0, globals_1.it)("should cancel package", function () { return __awaiter(void 0, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, logisticsService.cancelPackage({ packageCode: packageCode, reason: "reason test", })]; case 1: response = _a.sent(); // response.success = true (0, globals_1.expect)(response).toHaveProperty("success"); return [2 /*return*/]; } }); }); }); (0, globals_1.it)("estimate shipping fee", function () { return __awaiter(void 0, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, logisticsService.estimateShippingFee({ externalSellerId: "Q123", platformName: "Ice_cream", fromAddressId: "R2587255", toAddressId: "R80199163", chargeFactor: { deliveryOption: "standard", packageType: "Sales_order", paymentType: "COD", weight: "100", }, })]; case 1: response = _a.sent(); // response.success = true (0, globals_1.expect)(response).toHaveProperty("success"); // response.data[0].transactionType = "string" (0, globals_1.expect)(response.data[0]).toHaveProperty("transactionType"); return [2 /*return*/]; } }); }); }); //get shipping fee (0, globals_1.it)("should get shipping fee", function () { return __awaiter(void 0, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, logisticsService.getShippingFee({ externalSellerId: "Q123", platformName: "Ice_cream", trackingNumber: "LMP0263981358VNA", })]; case 1: response = _a.sent(); // response.success = true (0, globals_1.expect)(response).toHaveProperty("success"); // response.data.estimatedShippingFee = "string" (0, globals_1.expect)(response.data).toHaveProperty("estimatedShippingFee"); return [2 /*return*/]; } }); }); }); // print AWB v2 (0, globals_1.it)("should print AWB v2", function () { return __awaiter(void 0, void 0, void 0, function () { var response; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, logisticsService.printAwbV2({ packageCodes: ["FU2520023000000000000006988748744"], type: "pdf", })]; case 1: response = _a.sent(); response.success = true; (0, globals_1.expect)(response).toHaveProperty("success"); return [2 /*return*/]; } }); }); }); });