From 3c8d90e3955f50d81ca6330c085da9ce54d543b2 Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Wed, 16 Jun 2021 08:07:29 +0200 Subject: [PATCH] docs: tests + docs --- .../src/__tests__/transform-idable-fields.js | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 packages/medusa-core-utils/src/__tests__/transform-idable-fields.js diff --git a/packages/medusa-core-utils/src/__tests__/transform-idable-fields.js b/packages/medusa-core-utils/src/__tests__/transform-idable-fields.js new file mode 100644 index 0000000000..c8f8113cf5 --- /dev/null +++ b/packages/medusa-core-utils/src/__tests__/transform-idable-fields.js @@ -0,0 +1,105 @@ +import { transformIdableFields } from "../transform-idable-fields" + +describe("transformIdableFields", () => { + test("one field", () => { + const test = { + shipping_address: "test_id", + } + + const result = transformIdableFields(test, ["shipping_address"]) + + expect(test).toEqual(test) + + expect(result).toEqual({ + shipping_address_id: "test_id", + }) + }) + + test("duplicate field", () => { + const test = { + shipping_address: "test_id", + shipping_address_id: "something else", + } + + const result = transformIdableFields(test, ["shipping_address"]) + + expect(test).toEqual(test) + + expect(result).toEqual({ + shipping_address_id: "test_id", + }) + }) + + test("many fields", () => { + const test = { + shipping_address: "test_id", + customer: "cus_test", + region: "reg_test", + something: "else", + } + + const result = transformIdableFields(test, [ + "shipping_address", + "customer", + "region", + ]) + + expect(test).toEqual(test) + + expect(result).toEqual({ + shipping_address_id: "test_id", + customer_id: "cus_test", + region_id: "reg_test", + something: "else", + }) + }) + + test("mix fields", () => { + const test = { + shipping_address: { + address_1: "my home", + }, + customer: "cus_test", + region: "reg_test", + something: "else", + } + + const result = transformIdableFields(test, [ + "shipping_address", + "customer", + "region", + ]) + + expect(test).toEqual(test) + + expect(result).toEqual({ + shipping_address: { + address_1: "my home", + }, + customer_id: "cus_test", + region_id: "reg_test", + something: "else", + }) + }) + + test("no fields", () => { + const test = { + something: "else", + and: "more", + maybe: "one more", + } + + const result = transformIdableFields(test, [ + "shipping_address", + "customer", + "region", + ]) + + expect(test).toEqual(test) + expect(result).toEqual({ + something: "else", + and: "more", + maybe: "one more", + }) + }) +})