From b7dba798e30454b7ff33e6bf637d1f3262d4f5f0 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Fri, 13 Jun 2025 10:26:47 -0600 Subject: [PATCH 1/2] feat: add luma functions --- CHANGELOG.md | 7 + examples | 2 +- package.json | 4 +- src/easypost.js | 2 + src/services/luma_service.js | 29 ++ src/services/shipment_service.js | 51 ++- .../recording.har | 163 +++++++++ .../recording.har | 316 ++++++++++++++++++ .../recording.har | 167 +++++++++ test/helpers/fixture.js | 8 + test/services/luma.test.js | 30 ++ test/services/shipment.test.js | 22 ++ 12 files changed, 792 insertions(+), 9 deletions(-) create mode 100644 src/services/luma_service.js create mode 100644 test/cassettes/Luma-Service_3101642631/gets-service-recommendations-from-Luma-based-on-your-ruleset_3329319999/recording.har create mode 100644 test/cassettes/Shipment-Service_2987889512/buys-a-Shipment-with-Luma_1155760042/recording.har create mode 100644 test/cassettes/Shipment-Service_2987889512/creates-and-buys-a-Shipment-with-Luma_3067609226/recording.har create mode 100644 test/services/luma.test.js diff --git a/CHANGELOG.md b/CHANGELOG.md index d95789f7a..20c8d6637 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # CHANGELOG +## Next Release + +- Adds the following functions + - `shipment.createAndBuyLuma` + - `shipment.buyLuma` + - `luma.getPromise` + ## v8.1.0 (2025-05-29) - Adds `reference` and `recipient_name` to Claims diff --git a/examples b/examples index 394ea5eff..739f96c80 160000 --- a/examples +++ b/examples @@ -1 +1 @@ -Subproject commit 394ea5effde57b304c88999761126953cb1c7e91 +Subproject commit 739f96c80fa211060e0a0b8c13e7371c9a09d66f diff --git a/package.json b/package.json index 01663dda0..2ce154688 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,9 @@ "homepage": "https://easypost.com", "exports": { ".": { + "types": "./types/index.d.ts", "import": "./dist/easypost.mjs", - "require": "./dist/easypost.js", - "types": "./types/index.d.ts" + "require": "./dist/easypost.js" } }, "main": "./dist/easypost.js", diff --git a/src/easypost.js b/src/easypost.js index 036265118..840b87541 100644 --- a/src/easypost.js +++ b/src/easypost.js @@ -22,6 +22,7 @@ import CustomsItemService from './services/customs_item_service'; import EndShipperService from './services/end_shipper_service'; import EventService from './services/event_service'; import InsuranceService from './services/insurance_service'; +import LumaService from './services/luma_service'; import OrderService from './services/order_service'; import ParcelService from './services/parcel_service'; import PickupService from './services/pickup_service'; @@ -371,6 +372,7 @@ EasyPostClient.SERVICES = { EndShipper: EndShipperService, Event: EventService, Insurance: InsuranceService, + Luma: LumaService, Order: OrderService, Parcel: ParcelService, Pickup: PickupService, diff --git a/src/services/luma_service.js b/src/services/luma_service.js new file mode 100644 index 000000000..6c6e938a9 --- /dev/null +++ b/src/services/luma_service.js @@ -0,0 +1,29 @@ +import baseService from './base_service'; + +export default (easypostClient) => + /** + * The LumaService class provides methods for interacting with EasyPost Luma objects. + * @param {EasyPostClient} easypostClient - The pre-configured EasyPostClient instance to use for API requests with this service. + */ + class LumaService extends baseService(easypostClient) { + /** + * Get service recommendations from Luma that meet the criteria of your ruleset. + * @param {Object} params - The parameters to get a Luma promise with. + * @returns {Object} - An object containing the Luma promise. + */ + static async getPromise(params) { + const url = `luma/promise`; + + const wrappedParams = { + shipment: params, + }; + + try { + const response = await easypostClient._post(url, wrappedParams); + + return this._convertToEasyPostObject(response.body, wrappedParams); + } catch (e) { + return Promise.reject(e); + } + } + }; diff --git a/src/services/shipment_service.js b/src/services/shipment_service.js index 34e362894..f04f2bc7a 100644 --- a/src/services/shipment_service.js +++ b/src/services/shipment_service.js @@ -246,14 +246,14 @@ export default (easypostClient) => static async retrieveEstimatedDeliveryDate(id, plannedShipDate) { const url = `shipments/${id}/smartrate/delivery_date`; - const params = { + const wrappedParams = { planned_ship_date: plannedShipDate, }; try { - const response = await easypostClient._get(url, params); + const response = await easypostClient._get(url, wrappedParams); - return this._convertToEasyPostObject(response.body.rates ?? [], params); + return this._convertToEasyPostObject(response.body.rates ?? [], wrappedParams); } catch (e) { return Promise.reject(e); } @@ -268,14 +268,53 @@ export default (easypostClient) => static async recommendShipDate(id, desiredDeliveryDate) { const url = `shipments/${id}/smartrate/precision_shipping`; - const params = { + const wrappedParams = { desired_delivery_date: desiredDeliveryDate, }; try { - const response = await easypostClient._get(url, params); + const response = await easypostClient._get(url, wrappedParams); + + return this._convertToEasyPostObject(response.body.rates ?? [], wrappedParams); + } catch (e) { + return Promise.reject(e); + } + } + + /** + * Create and buy a Luma Shipment in one call. + * @param {Object} params - The parameters to create and buy a Shipment with Luma. + * @returns {Shipment} - The shipment with the given ID. + */ + static async createAndBuyLuma(params) { + const url = `shipments/luma`; + + const wrappedParams = { + shipment: params, + }; + + try { + const response = await easypostClient._post(url, wrappedParams); + + return this._convertToEasyPostObject(response.body, wrappedParams); + } catch (e) { + return Promise.reject(e); + } + } + + /** + * Buy a Shipment with Luma. + * @param {string} id - The ID of the Shipment to buy with Luma. + * @param {Object} params - The parameters to buy a Shipment with Luma. + * @returns {Shipment} - The shipment with the given ID. + */ + static async buyLuma(id, params) { + const url = `shipments/${id}/luma`; + + try { + const response = await easypostClient._post(url, params); - return this._convertToEasyPostObject(response.body.rates ?? [], params); + return this._convertToEasyPostObject(response.body, params); } catch (e) { return Promise.reject(e); } diff --git a/test/cassettes/Luma-Service_3101642631/gets-service-recommendations-from-Luma-based-on-your-ruleset_3329319999/recording.har b/test/cassettes/Luma-Service_3101642631/gets-service-recommendations-from-Luma-based-on-your-ruleset_3329319999/recording.har new file mode 100644 index 000000000..33d5aef83 --- /dev/null +++ b/test/cassettes/Luma-Service_3101642631/gets-service-recommendations-from-Luma-based-on-your-ruleset_3329319999/recording.har @@ -0,0 +1,163 @@ +{ + "log": { + "_recordingName": "Luma Service/gets service recommendations from Luma based on your ruleset", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "76decaf90d0fd5d1eeb6ec644318b280", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 519, + "cookies": [], + "headers": [ + { + "name": "accept-encoding", + "value": "gzip, deflate" + }, + { + "name": "accept", + "value": "application/json" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": 519 + }, + { + "name": "host", + "value": "api.easypost.com" + } + ], + "headersSize": 394, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"shipment\":{\"from_address\":{\"name\":\"Jack Sparrow\",\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"email\":\"test@example.com\",\"phone\":\"5555555555\"},\"to_address\":{\"name\":\"Elizabeth Swan\",\"street1\":\"179 N Harbor Dr\",\"city\":\"Redondo Beach\",\"state\":\"CA\",\"zip\":\"90277\",\"country\":\"US\",\"email\":\"test@example.com\",\"phone\":\"5555555555\"},\"parcel\":{\"length\":10,\"width\":8,\"height\":4,\"weight\":15.4},\"ruleset_name\":\"cheapest_delivery\",\"planned_ship_date\":\"2025-06-13\"}}" + }, + "queryString": [], + "url": "https://api.easypost.com/v2/luma/promise" + }, + "response": { + "bodySize": 508, + "content": { + "encoding": "base64", + "mimeType": "application/json; charset=utf-8", + "size": 508, + "text": "{\"luma_info\":{\"ai_results\":[{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-16\",\"predicted_deliver_days\":3,\"rate_usd\":\"6.07\",\"service\":\"GroundAdvantage\"},{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-14\",\"predicted_deliver_days\":1,\"rate_usd\":\"34.15\",\"service\":\"Express\"},{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-15\",\"predicted_deliver_days\":2,\"rate_usd\":\"7.42\",\"service\":\"Priority\"}],\"matching_rule_idx\":0,\"ruleset_description\":\"Buy the cheapest rate that satisfies all of the following:\\nRule 0\\n \\nOtherwise buy the cheapest rate\",\"luma_selected_rate\":{\"carrier\":\"USPS\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\",\"currency\":\"USD\",\"rate\":\"6.07\",\"service\":\"GroundAdvantage\",\"luma_predicted_deliver_by_date\":\"2025-06-16\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-xss-protection", + "value": "1; mode=block" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-download-options", + "value": "noopen" + }, + { + "name": "x-permitted-cross-domain-policies", + "value": "none" + }, + { + "name": "referrer-policy", + "value": "strict-origin-when-cross-origin" + }, + { + "name": "x-ep-request-uuid", + "value": "bcf2cbba684c50b9e2bcc9560043dce8" + }, + { + "name": "cache-control", + "value": "private, no-cache, no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "x-runtime", + "value": "0.184110" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "x-node", + "value": "bigweb59nuq" + }, + { + "name": "x-version-label", + "value": "easypost-202506131433-d7d0bc55a0-master" + }, + { + "name": "x-backend", + "value": "easypost" + }, + { + "name": "x-proxied", + "value": "intlb4nuq e8fe6f4ec2, extlb1nuq 99aac35317" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 710, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-06-13T16:24:25.564Z", + "time": 319, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 319 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/cassettes/Shipment-Service_2987889512/buys-a-Shipment-with-Luma_1155760042/recording.har b/test/cassettes/Shipment-Service_2987889512/buys-a-Shipment-with-Luma_1155760042/recording.har new file mode 100644 index 000000000..3b2eeeee5 --- /dev/null +++ b/test/cassettes/Shipment-Service_2987889512/buys-a-Shipment-with-Luma_1155760042/recording.har @@ -0,0 +1,316 @@ +{ + "log": { + "_recordingName": "Shipment Service/buys a Shipment with Luma", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "66a1452a15128dd58c4223dd020f429c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 451, + "cookies": [], + "headers": [ + { + "name": "accept-encoding", + "value": "gzip, deflate" + }, + { + "name": "accept", + "value": "application/json" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": 451 + }, + { + "name": "host", + "value": "api.easypost.com" + } + ], + "headersSize": 391, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"shipment\":{\"from_address\":{\"name\":\"Jack Sparrow\",\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"email\":\"test@example.com\",\"phone\":\"5555555555\"},\"to_address\":{\"name\":\"Elizabeth Swan\",\"street1\":\"179 N Harbor Dr\",\"city\":\"Redondo Beach\",\"state\":\"CA\",\"zip\":\"90277\",\"country\":\"US\",\"email\":\"test@example.com\",\"phone\":\"5555555555\"},\"parcel\":{\"length\":10,\"width\":8,\"height\":4,\"weight\":15.4}}}" + }, + "queryString": [], + "url": "https://api.easypost.com/v2/shipments" + }, + "response": { + "bodySize": 1534, + "content": { + "encoding": "base64", + "mimeType": "application/json; charset=utf-8", + "size": 1534, + "text": "{\"id\":\"shp_88752fdef470414da254d307e6062d61\",\"created_at\":\"2025-06-13T16:24:25Z\",\"is_return\":false,\"messages\":[{\"carrier\":\"UPS\",\"carrier_account_id\":\"ca_3abe58dbb6c6463cbbc8d00a733634e8\",\"type\":\"rate_error\",\"message\":\"Account numbers should be 6 characters or less.\"}],\"mode\":\"test\",\"options\":{\"currency\":\"USD\",\"payment\":{\"type\":\"SENDER\"},\"date_advance\":0},\"reference\":null,\"status\":\"unknown\",\"tracking_code\":null,\"updated_at\":\"2025-06-13T16:24:25Z\",\"batch_id\":null,\"batch_status\":null,\"batch_message\":null,\"customs_info\":null,\"from_address\":{\"id\":\"adr_df21d129487211f0b6c63cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:25+00:00\",\"name\":\"Jack Sparrow\",\"company\":null,\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"insurance\":null,\"order_id\":null,\"parcel\":{\"id\":\"prcl_bb976e4baeb9485e8733e0813677dfe4\",\"object\":\"Parcel\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"length\":10,\"width\":8,\"height\":4,\"predefined_package\":null,\"weight\":15.4,\"mode\":\"test\"},\"postage_label\":null,\"rates\":[{\"id\":\"rate_c7e1f1cf70b44fd68c6d0f10c9aba671\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"Express\",\"carrier\":\"USPS\",\"rate\":\"34.15\",\"currency\":\"USD\",\"retail_rate\":\"39.10\",\"retail_currency\":\"USD\",\"list_rate\":\"34.15\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":1,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":1,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"},{\"id\":\"rate_77aa9c9608d447edb8521bf08270f99a\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"Priority\",\"carrier\":\"USPS\",\"rate\":\"7.42\",\"currency\":\"USD\",\"retail_rate\":\"9.90\",\"retail_currency\":\"USD\",\"list_rate\":\"8.34\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":2,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":2,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"},{\"id\":\"rate_b01e14f8d36645198d6f94830ac37882\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"GroundAdvantage\",\"carrier\":\"USPS\",\"rate\":\"6.07\",\"currency\":\"USD\",\"retail_rate\":\"8.85\",\"retail_currency\":\"USD\",\"list_rate\":\"6.57\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":3,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":3,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"}],\"refund_status\":null,\"scan_form\":null,\"selected_rate\":null,\"tracker\":null,\"to_address\":{\"id\":\"adr_df1fca73487211f0b6c43cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:25+00:00\",\"name\":\"Elizabeth Swan\",\"company\":null,\"street1\":\"179 N Harbor Dr\",\"street2\":null,\"city\":\"Redondo Beach\",\"state\":\"CA\",\"zip\":\"90277\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"usps_zone\":4,\"return_address\":{\"id\":\"adr_df21d129487211f0b6c63cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:25+00:00\",\"name\":\"Jack Sparrow\",\"company\":null,\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"buyer_address\":{\"id\":\"adr_df1fca73487211f0b6c43cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:25+00:00\",\"name\":\"Elizabeth Swan\",\"company\":null,\"street1\":\"179 N Harbor Dr\",\"street2\":null,\"city\":\"Redondo Beach\",\"state\":\"CA\",\"zip\":\"90277\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"forms\":[],\"fees\":[],\"object\":\"Shipment\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-xss-protection", + "value": "1; mode=block" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-download-options", + "value": "noopen" + }, + { + "name": "x-permitted-cross-domain-policies", + "value": "none" + }, + { + "name": "referrer-policy", + "value": "strict-origin-when-cross-origin" + }, + { + "name": "x-ep-request-uuid", + "value": "9194afe9684c50b9e2bcc9550046e019" + }, + { + "name": "cache-control", + "value": "private, no-cache, no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "location", + "value": "/api/v2/shipments/shp_88752fdef470414da254d307e6062d61" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "x-runtime", + "value": "0.231001" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "x-node", + "value": "bigweb58nuq" + }, + { + "name": "x-version-label", + "value": "easypost-202506131557-2cdf1c1c5b-master" + }, + { + "name": "x-backend", + "value": "easypost" + }, + { + "name": "x-proxied", + "value": "intlb4nuq e8fe6f4ec2, extlb2nuq 99aac35317" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 776, + "httpVersion": "HTTP/1.1", + "redirectURL": "/api/v2/shipments/shp_88752fdef470414da254d307e6062d61", + "status": 201, + "statusText": "Created" + }, + "startedDateTime": "2025-06-13T16:24:25.346Z", + "time": 342, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 342 + } + }, + { + "_id": "4a5805f41f989fa960d94890be0412c0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 69, + "cookies": [], + "headers": [ + { + "name": "accept-encoding", + "value": "gzip, deflate" + }, + { + "name": "accept", + "value": "application/json" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": 69 + }, + { + "name": "host", + "value": "api.easypost.com" + } + ], + "headersSize": 432, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"ruleset_name\":\"cheapest_delivery\",\"planned_ship_date\":\"2025-06-13\"}" + }, + "queryString": [], + "url": "https://api.easypost.com/v2/shipments/shp_88752fdef470414da254d307e6062d61/luma" + }, + "response": { + "bodySize": 2570, + "content": { + "encoding": "base64", + "mimeType": "application/json; charset=utf-8", + "size": 2570, + "text": "{\"id\":\"shp_88752fdef470414da254d307e6062d61\",\"object\":\"Shipment\",\"mode\":\"test\",\"reference\":null,\"to_address\":{\"id\":\"adr_df1fca73487211f0b6c43cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:26+00:00\",\"name\":\"ELIZABETH SWAN\",\"company\":null,\"street1\":\"179 N HARBOR DR\",\"street2\":\"\",\"city\":\"REDONDO BEACH\",\"state\":\"CA\",\"zip\":\"90277-2506\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":false,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{\"zip4\":{\"success\":true,\"errors\":[],\"details\":null},\"delivery\":{\"success\":true,\"errors\":[],\"details\":{\"latitude\":33.8436,\"longitude\":-118.39177,\"time_zone\":\"America/Los_Angeles\"}}}},\"from_address\":{\"id\":\"adr_df21d129487211f0b6c63cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:25+00:00\",\"name\":\"Jack Sparrow\",\"company\":null,\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"return_address\":{\"id\":\"adr_df21d129487211f0b6c63cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:25+00:00\",\"name\":\"Jack Sparrow\",\"company\":null,\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"buyer_address\":{\"id\":\"adr_df1fca73487211f0b6c43cecef1b359e\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:25+00:00\",\"updated_at\":\"2025-06-13T16:24:26+00:00\",\"name\":\"ELIZABETH SWAN\",\"company\":null,\"street1\":\"179 N HARBOR DR\",\"street2\":\"\",\"city\":\"REDONDO BEACH\",\"state\":\"CA\",\"zip\":\"90277-2506\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":false,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{\"zip4\":{\"success\":true,\"errors\":[],\"details\":null},\"delivery\":{\"success\":true,\"errors\":[],\"details\":{\"latitude\":33.8436,\"longitude\":-118.39177,\"time_zone\":\"America/Los_Angeles\"}}}},\"parcel\":{\"id\":\"prcl_bb976e4baeb9485e8733e0813677dfe4\",\"object\":\"Parcel\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"length\":10,\"width\":8,\"height\":4,\"predefined_package\":null,\"weight\":15.4,\"mode\":\"test\"},\"customs_info\":null,\"scan_form\":null,\"forms\":[],\"insurance\":\"50.00\",\"rates\":[{\"id\":\"rate_c7e1f1cf70b44fd68c6d0f10c9aba671\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"Express\",\"carrier\":\"USPS\",\"rate\":\"34.15\",\"currency\":\"USD\",\"retail_rate\":\"39.10\",\"retail_currency\":\"USD\",\"list_rate\":\"34.15\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":1,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":1,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"},{\"id\":\"rate_77aa9c9608d447edb8521bf08270f99a\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"Priority\",\"carrier\":\"USPS\",\"rate\":\"7.42\",\"currency\":\"USD\",\"retail_rate\":\"9.90\",\"retail_currency\":\"USD\",\"list_rate\":\"8.34\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":2,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":2,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"},{\"id\":\"rate_b01e14f8d36645198d6f94830ac37882\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"GroundAdvantage\",\"carrier\":\"USPS\",\"rate\":\"6.07\",\"currency\":\"USD\",\"retail_rate\":\"8.85\",\"retail_currency\":\"USD\",\"list_rate\":\"6.57\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":3,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":3,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"}],\"selected_rate\":{\"id\":\"rate_b01e14f8d36645198d6f94830ac37882\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:26Z\",\"updated_at\":\"2025-06-13T16:24:26Z\",\"mode\":\"test\",\"service\":\"GroundAdvantage\",\"carrier\":\"USPS\",\"rate\":\"6.07\",\"currency\":\"USD\",\"retail_rate\":\"8.85\",\"retail_currency\":\"USD\",\"list_rate\":\"6.57\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":3,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":3,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"},\"luma_info\":{\"ai_results\":[{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-14\",\"predicted_deliver_days\":1,\"rate_id\":\"rate_c7e1f1cf70b44fd68c6d0f10c9aba671\",\"rate_usd\":\"34.15\",\"service\":\"Express\"},{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-15\",\"predicted_deliver_days\":2,\"rate_id\":\"rate_77aa9c9608d447edb8521bf08270f99a\",\"rate_usd\":\"7.42\",\"service\":\"Priority\"},{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-16\",\"predicted_deliver_days\":3,\"rate_id\":\"rate_b01e14f8d36645198d6f94830ac37882\",\"rate_usd\":\"6.07\",\"service\":\"GroundAdvantage\"}],\"matching_rule_idx\":0,\"ruleset_description\":\"Buy the cheapest rate that satisfies all of the following:\\nRule 0\\n \\nOtherwise buy the cheapest rate\"},\"postage_label\":{\"object\":\"PostageLabel\",\"id\":\"pl_8ef7aa15d12a4d5481ffb526436daafc\",\"created_at\":\"2025-06-13T16:24:26Z\",\"updated_at\":\"2025-06-13T16:24:26Z\",\"date_advance\":0,\"integrated_form\":\"none\",\"label_date\":\"2025-06-13T16:24:26Z\",\"label_resolution\":300,\"label_size\":\"4x6\",\"label_type\":\"default\",\"label_file_type\":\"image/png\",\"label_url\":\"https://easypost-files.s3.us-west-2.amazonaws.com/files/postage_label/20250613/e8452b99a12a454ebcb683d7026e83c779.png\",\"label_pdf_url\":null,\"label_zpl_url\":null,\"label_epl2_url\":null,\"label_file\":null},\"messages\":[{\"carrier\":\"UPS\",\"carrier_account_id\":\"ca_3abe58dbb6c6463cbbc8d00a733634e8\",\"type\":\"rate_error\",\"message\":\"Account numbers should be 6 characters or less.\"}],\"options\":{\"currency\":\"USD\",\"payment\":{\"type\":\"SENDER\"},\"date_advance\":0},\"is_return\":null,\"tracking_code\":\"9400100208303109977270\",\"usps_zone\":4,\"status\":\"unknown\",\"tracker\":{\"id\":\"trk_086952b6ff444ac0b0741a21759b7f04\",\"object\":\"Tracker\",\"mode\":\"test\",\"tracking_code\":\"9400100208303109977270\",\"status\":\"unknown\",\"status_detail\":\"unknown\",\"created_at\":\"2025-06-13T16:24:26Z\",\"updated_at\":\"2025-06-13T16:24:26Z\",\"signed_by\":null,\"weight\":null,\"est_delivery_date\":null,\"shipment_id\":\"shp_88752fdef470414da254d307e6062d61\",\"carrier\":\"USPS\",\"tracking_details\":[],\"fees\":[],\"carrier_detail\":null,\"public_url\":\"https://track.easypost.com/djE6dHJrXzA4Njk1MmI2ZmY0NDRhYzBiMDc0MWEyMTc1OWI3ZjA0\"},\"fees\":[{\"object\":\"Fee\",\"type\":\"LabelFee\",\"amount\":\"0.00000\",\"charged\":true,\"refunded\":false},{\"object\":\"Fee\",\"type\":\"PostageFee\",\"amount\":\"6.07000\",\"charged\":true,\"refunded\":false},{\"object\":\"Fee\",\"type\":\"InsuranceFee\",\"amount\":\"0.50000\",\"charged\":true,\"refunded\":false}],\"refund_status\":null,\"batch_id\":null,\"batch_status\":null,\"batch_message\":null,\"tax_identifiers\":null,\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:26Z\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-xss-protection", + "value": "1; mode=block" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-download-options", + "value": "noopen" + }, + { + "name": "x-permitted-cross-domain-policies", + "value": "none" + }, + { + "name": "referrer-policy", + "value": "strict-origin-when-cross-origin" + }, + { + "name": "x-ep-request-uuid", + "value": "9194afef684c50b9e2bcc9570046e0ba" + }, + { + "name": "cache-control", + "value": "private, no-cache, no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "x-runtime", + "value": "0.871404" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "x-node", + "value": "bigweb57nuq" + }, + { + "name": "x-version-label", + "value": "easypost-202506131557-2cdf1c1c5b-master" + }, + { + "name": "x-backend", + "value": "easypost" + }, + { + "name": "x-proxied", + "value": "intlb3nuq e8fe6f4ec2, extlb2nuq 99aac35317" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 710, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-06-13T16:24:25.693Z", + "time": 995, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 995 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/cassettes/Shipment-Service_2987889512/creates-and-buys-a-Shipment-with-Luma_3067609226/recording.har b/test/cassettes/Shipment-Service_2987889512/creates-and-buys-a-Shipment-with-Luma_3067609226/recording.har new file mode 100644 index 000000000..b2f61fc7b --- /dev/null +++ b/test/cassettes/Shipment-Service_2987889512/creates-and-buys-a-Shipment-with-Luma_3067609226/recording.har @@ -0,0 +1,167 @@ +{ + "log": { + "_recordingName": "Shipment Service/creates and buys a Shipment with Luma", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.6" + }, + "entries": [ + { + "_id": "0a5cc7b18d95dea131f28beedf87664c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 595, + "cookies": [], + "headers": [ + { + "name": "accept-encoding", + "value": "gzip, deflate" + }, + { + "name": "accept", + "value": "application/json" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "content-length", + "value": 595 + }, + { + "name": "host", + "value": "api.easypost.com" + } + ], + "headersSize": 396, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"shipment\":{\"to_address\":{\"name\":\"Elizabeth Swan\",\"street1\":\"179 N Harbor Dr\",\"city\":\"Redondo Beach\",\"state\":\"CA\",\"zip\":\"90277\",\"country\":\"US\",\"email\":\"test@example.com\",\"phone\":\"5555555555\"},\"from_address\":{\"name\":\"Jack Sparrow\",\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"email\":\"test@example.com\",\"phone\":\"5555555555\"},\"parcel\":{\"length\":10,\"width\":8,\"height\":4,\"weight\":15.4},\"carrier_accounts\":[\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"],\"carrier\":\"USPS\",\"ruleset_name\":\"cheapest_delivery\",\"planned_ship_date\":\"2025-06-13\"}}" + }, + "queryString": [], + "url": "https://api.easypost.com/v2/shipments/luma" + }, + "response": { + "bodySize": 67232, + "content": { + "encoding": "base64", + "mimeType": "application/json; charset=utf-8", + "size": 67232, + "text": "{\"id\":\"shp_cc3fba360b37410f87ec782b9e3e23e4\",\"object\":\"Shipment\",\"mode\":\"test\",\"reference\":null,\"to_address\":{\"id\":\"adr_de93bfe7487211f0afb1ac1f6bc539aa\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:24+00:00\",\"updated_at\":\"2025-06-13T16:24:24+00:00\",\"name\":\"ELIZABETH SWAN\",\"company\":null,\"street1\":\"179 N HARBOR DR\",\"street2\":\"\",\"city\":\"REDONDO BEACH\",\"state\":\"CA\",\"zip\":\"90277-2506\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":false,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{\"zip4\":{\"success\":true,\"errors\":[],\"details\":null},\"delivery\":{\"success\":true,\"errors\":[],\"details\":{\"latitude\":33.8436,\"longitude\":-118.39177,\"time_zone\":\"America/Los_Angeles\"}}}},\"from_address\":{\"id\":\"adr_de95c17d487211f0a1d6ac1f6bc539ae\",\"object\":\"Address\",\"created_at\":\"2025-06-13T16:24:24+00:00\",\"updated_at\":\"2025-06-13T16:24:24+00:00\",\"name\":\"Jack Sparrow\",\"company\":null,\"street1\":\"388 Townsend St\",\"street2\":\"Apt 20\",\"city\":\"San Francisco\",\"state\":\"CA\",\"zip\":\"94107\",\"country\":\"US\",\"phone\":\"\",\"email\":\"\",\"mode\":\"test\",\"carrier_facility\":null,\"residential\":null,\"federal_tax_id\":null,\"state_tax_id\":null,\"verifications\":{}},\"parcel\":{\"id\":\"prcl_90e6eff2c5584193b2678e397e7f9f39\",\"object\":\"Parcel\",\"created_at\":\"2025-06-13T16:24:24Z\",\"updated_at\":\"2025-06-13T16:24:24Z\",\"length\":10,\"width\":8,\"height\":4,\"predefined_package\":null,\"weight\":15.4,\"mode\":\"test\"},\"customs_info\":null,\"forms\":[],\"insurance\":\"50.00\",\"selected_rate\":{\"id\":\"rate_bd1e73aca9e4400f8c33cb2f51ea6a73\",\"object\":\"Rate\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"mode\":\"test\",\"service\":\"GroundAdvantage\",\"carrier\":\"USPS\",\"rate\":\"6.07\",\"currency\":\"USD\",\"retail_rate\":\"8.85\",\"retail_currency\":\"USD\",\"list_rate\":\"6.57\",\"list_currency\":\"USD\",\"billing_type\":\"easypost\",\"delivery_days\":3,\"delivery_date\":null,\"delivery_date_guaranteed\":false,\"est_delivery_days\":3,\"shipment_id\":\"shp_cc3fba360b37410f87ec782b9e3e23e4\",\"carrier_account_id\":\"ca_5ba7ca3632c54adeb17ad4bcac13c890\"},\"luma_info\":{\"ai_results\":[{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-14\",\"predicted_deliver_days\":1,\"rate_id\":\"rate_734ac919c5b14a44a52fb126439ee86a\",\"rate_usd\":\"34.15\",\"service\":\"Express\"},{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-15\",\"predicted_deliver_days\":2,\"rate_id\":\"rate_209ed5646e4a45f28b101876bd1adf44\",\"rate_usd\":\"7.42\",\"service\":\"Priority\"},{\"carrier\":\"USPS\",\"meets_ruleset_requirements\":true,\"predicted_deliver_by_date\":\"2025-06-16\",\"predicted_deliver_days\":3,\"rate_id\":\"rate_5073898fd4154610b976b5301c50042b\",\"rate_usd\":\"6.07\",\"service\":\"GroundAdvantage\"}],\"matching_rule_idx\":0,\"ruleset_description\":\"Buy the cheapest rate that satisfies all of the following:\\nRule 0\\n \\nOtherwise buy the cheapest rate\"},\"postage_label\":{\"object\":\"PostageLabel\",\"id\":\"pl_7ffc5fc3e90f438b9e5a437d3952c553\",\"created_at\":\"2025-06-13T16:24:25Z\",\"updated_at\":\"2025-06-13T16:24:25Z\",\"date_advance\":0,\"integrated_form\":\"none\",\"label_date\":\"2025-06-13T16:24:25Z\",\"label_resolution\":300,\"label_size\":\"4x6\",\"label_type\":\"default\",\"label_file_type\":null,\"label_url\":null,\"label_pdf_url\":null,\"label_zpl_url\":null,\"label_epl2_url\":null,\"label_file\":\"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\"},\"messages\":[],\"tracking_code\":\"9400100208303109977263\",\"fees\":[{\"object\":\"Fee\",\"type\":\"LabelFee\",\"amount\":\"0.00000\",\"charged\":true,\"refunded\":false},{\"object\":\"Fee\",\"type\":\"PostageFee\",\"amount\":\"6.07000\",\"charged\":true,\"refunded\":false},{\"object\":\"Fee\",\"type\":\"InsuranceFee\",\"amount\":\"0.50000\",\"charged\":true,\"refunded\":false}],\"tax_identifiers\":null,\"created_at\":\"2025-06-13T16:24:24Z\",\"updated_at\":\"2025-06-13T16:24:25Z\"}" + }, + "cookies": [], + "headers": [ + { + "name": "x-frame-options", + "value": "SAMEORIGIN" + }, + { + "name": "x-xss-protection", + "value": "1; mode=block" + }, + { + "name": "x-content-type-options", + "value": "nosniff" + }, + { + "name": "x-download-options", + "value": "noopen" + }, + { + "name": "x-permitted-cross-domain-policies", + "value": "none" + }, + { + "name": "referrer-policy", + "value": "strict-origin-when-cross-origin" + }, + { + "name": "x-ep-request-uuid", + "value": "bcf2cbbe684c50b8e2bcc9540043db84" + }, + { + "name": "cache-control", + "value": "private, no-cache, no-store" + }, + { + "name": "pragma", + "value": "no-cache" + }, + { + "name": "expires", + "value": "0" + }, + { + "name": "content-type", + "value": "application/json; charset=utf-8" + }, + { + "name": "x-runtime", + "value": "0.825944" + }, + { + "name": "content-encoding", + "value": "gzip" + }, + { + "name": "transfer-encoding", + "value": "chunked" + }, + { + "name": "x-node", + "value": "bigweb43nuq" + }, + { + "name": "x-version-label", + "value": "easypost-202506131557-2cdf1c1c5b-master" + }, + { + "name": "x-backend", + "value": "easypost" + }, + { + "name": "x-canary", + "value": "direct" + }, + { + "name": "x-proxied", + "value": "intlb4nuq e8fe6f4ec2, extlb1nuq 99aac35317" + }, + { + "name": "strict-transport-security", + "value": "max-age=31536000; includeSubDomains; preload" + }, + { + "name": "connection", + "value": "close" + } + ], + "headersSize": 728, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-06-13T16:24:24.240Z", + "time": 1100, + "timings": { + "blocked": -1, + "connect": -1, + "dns": -1, + "receive": 0, + "send": 0, + "ssl": -1, + "wait": 1100 + } + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/test/helpers/fixture.js b/test/helpers/fixture.js index 22095313d..ecfc36e1b 100644 --- a/test/helpers/fixture.js +++ b/test/helpers/fixture.js @@ -166,4 +166,12 @@ export default class Fixture { static billing() { return this.readFixtureData().billing; } + + static lumaRulesetName() { + return this.readFixtureData().luma.ruleset_name; + } + + static lumaPlannedShipDate() { + return '2025-06-13'; + } } diff --git a/test/services/luma.test.js b/test/services/luma.test.js new file mode 100644 index 000000000..1e942216d --- /dev/null +++ b/test/services/luma.test.js @@ -0,0 +1,30 @@ +import { expect } from 'chai'; + +import EasyPostClient from '../../src/easypost'; +import Fixture from '../helpers/fixture'; +import * as setupPolly from '../helpers/setup_polly'; + +/* eslint-disable func-names */ +describe('Luma Service', function () { + const getPolly = setupPolly.setupPollyTests(); + let client; + + beforeAll(function () { + client = new EasyPostClient(process.env.EASYPOST_TEST_API_KEY); + }); + + beforeEach(function () { + const { server } = getPolly(); + setupPolly.setupCassette(server); + }); + + it('gets service recommendations from Luma based on your ruleset', async function () { + const basicShipment = Fixture.basicShipment(); + basicShipment.ruleset_name = Fixture.lumaRulesetName(); + basicShipment.planned_ship_date = Fixture.lumaPlannedShipDate(); + + const response = await client.Luma.getPromise(basicShipment); + + expect(response.luma_info.luma_selected_rate).to.not.be.null; + }); +}); diff --git a/test/services/shipment.test.js b/test/services/shipment.test.js index 6cf31735e..efa3f3f01 100644 --- a/test/services/shipment.test.js +++ b/test/services/shipment.test.js @@ -350,4 +350,26 @@ describe('Shipment Service', function () { expect(entry.easypost_time_in_transit_data.ship_on_date).to.not.be.null; } }); + + it('creates and buys a Shipment with Luma', async function () { + const oneCallBuyShipment = Fixture.oneCallBuyShipment(); + delete oneCallBuyShipment.service; + oneCallBuyShipment.ruleset_name = Fixture.lumaRulesetName(); + oneCallBuyShipment.planned_ship_date = Fixture.lumaPlannedShipDate(); + + const shipment = await client.Shipment.createAndBuyLuma(oneCallBuyShipment); + + expect(shipment.postage_label).to.not.be.null; + }); + + it('buys a Shipment with Luma', async function () { + const shipment = await client.Shipment.create(Fixture.basicShipment()); + + const boughtShipment = await client.Shipment.buyLuma(shipment.id, { + ruleset_name: Fixture.lumaRulesetName(), + planned_ship_date: Fixture.lumaPlannedShipDate(), + }); + + expect(boughtShipment.postage_label).to.not.be.null; + }); }); From a5530b79f19df0d5d834cfe9afbab407aa9b5407 Mon Sep 17 00:00:00 2001 From: Justintime50 <39606064+Justintime50@users.noreply.github.com> Date: Fri, 13 Jun 2025 15:21:32 -0600 Subject: [PATCH 2/2] fix: luma response --- src/services/luma_service.js | 2 +- test/services/luma.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/luma_service.js b/src/services/luma_service.js index 6c6e938a9..3947a5421 100644 --- a/src/services/luma_service.js +++ b/src/services/luma_service.js @@ -21,7 +21,7 @@ export default (easypostClient) => try { const response = await easypostClient._post(url, wrappedParams); - return this._convertToEasyPostObject(response.body, wrappedParams); + return this._convertToEasyPostObject(response.body.luma_info, wrappedParams); } catch (e) { return Promise.reject(e); } diff --git a/test/services/luma.test.js b/test/services/luma.test.js index 1e942216d..878149945 100644 --- a/test/services/luma.test.js +++ b/test/services/luma.test.js @@ -25,6 +25,6 @@ describe('Luma Service', function () { const response = await client.Luma.getPromise(basicShipment); - expect(response.luma_info.luma_selected_rate).to.not.be.null; + expect(response.luma_selected_rate).to.not.be.null; }); });