UNPKG

@settlemint/sdk-next

Version:

Next.js integration module for SettleMint SDK, providing React components and middleware for web applications

1 lines 4.98 kB
{"version":3,"file":"with-settlemint.test.cjs","names":["originalConfig: NextConfig","options: WithSettleMintOptions"],"sources":["../../src/config/with-settlemint.test.ts"],"sourcesContent":["import { describe, expect, it } from \"bun:test\";\nimport type { NextConfig } from \"next\";\nimport { type WithSettleMintOptions, withSettleMint } from \"./with-settlemint.js\";\n\ndescribe(\"withSettleMint\", () => {\n it(\"should return unmodified config when disabled\", async () => {\n const originalConfig: NextConfig = {\n reactStrictMode: false,\n poweredByHeader: true,\n };\n\n const options: WithSettleMintOptions = { disabled: true };\n const result = await withSettleMint(originalConfig, options);\n\n expect(result).toEqual(originalConfig);\n });\n\n it(\"should apply SettleMint defaults to empty config\", async () => {\n const originalConfig: NextConfig = {};\n const result = await withSettleMint(originalConfig);\n\n expect(result).toEqual({\n headers: expect.any(Function),\n poweredByHeader: false,\n reactStrictMode: true,\n });\n });\n\n it(\"should override existing config properties\", async () => {\n const originalConfig: NextConfig = {\n reactStrictMode: false,\n poweredByHeader: true,\n distDir: \".next\",\n };\n\n const result = await withSettleMint(originalConfig);\n\n expect(result).toEqual({\n distDir: \".next\",\n headers: expect.any(Function),\n poweredByHeader: false,\n reactStrictMode: true,\n });\n });\n\n it(\"should preserve custom config properties\", async () => {\n const originalConfig: NextConfig = {\n distDir: \"custom-dist\",\n experimental: {\n turbo: {},\n },\n env: {\n CUSTOM_VAR: \"value\",\n },\n };\n\n const result = await withSettleMint(originalConfig);\n\n expect(result).toEqual({\n distDir: \"custom-dist\",\n experimental: {\n turbo: {},\n },\n env: {\n CUSTOM_VAR: \"value\",\n },\n headers: expect.any(Function),\n poweredByHeader: false,\n reactStrictMode: true,\n });\n });\n\n it(\"should set security headers correctly\", async () => {\n const originalConfig: NextConfig = {};\n const result = await withSettleMint(originalConfig);\n\n expect(result.headers).toBeDefined();\n\n if (result.headers) {\n const headers = await result.headers();\n expect(headers).toEqual([\n {\n source: \"/(.*)\",\n headers: [{ key: \"X-Frame-Options\", value: \"DENY\" }],\n },\n ]);\n }\n });\n\n it(\"should work with default options\", async () => {\n const originalConfig: NextConfig = {\n distDir: \"build\",\n };\n\n const result = await withSettleMint(originalConfig);\n\n expect(result).toEqual({\n distDir: \"build\",\n headers: expect.any(Function),\n poweredByHeader: false,\n reactStrictMode: true,\n });\n });\n\n it(\"should work with no options parameter\", async () => {\n const originalConfig: NextConfig = {};\n const result = await withSettleMint(originalConfig);\n\n expect(result.poweredByHeader).toBe(false);\n expect(result.reactStrictMode).toBe(true);\n expect(result.headers).toBeDefined();\n });\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,uBAAS,kBAAkB,MAAM;AAC/B,kBAAG,iDAAiD,YAAY;EAC9D,MAAMA,iBAA6B;GACjC,iBAAiB;GACjB,iBAAiB;EAClB;EAED,MAAMC,UAAiC,EAAE,UAAU,KAAM;EACzD,MAAM,SAAS,MAAM,uCAAe,gBAAgB,QAAQ;AAE5D,uBAAO,OAAO,CAAC,QAAQ,eAAe;CACvC,EAAC;AAEF,kBAAG,oDAAoD,YAAY;EACjE,MAAMD,iBAA6B,CAAE;EACrC,MAAM,SAAS,MAAM,uCAAe,eAAe;AAEnD,uBAAO,OAAO,CAAC,QAAQ;GACrB,SAAS,gBAAO,IAAI,SAAS;GAC7B,iBAAiB;GACjB,iBAAiB;EAClB,EAAC;CACH,EAAC;AAEF,kBAAG,8CAA8C,YAAY;EAC3D,MAAMA,iBAA6B;GACjC,iBAAiB;GACjB,iBAAiB;GACjB,SAAS;EACV;EAED,MAAM,SAAS,MAAM,uCAAe,eAAe;AAEnD,uBAAO,OAAO,CAAC,QAAQ;GACrB,SAAS;GACT,SAAS,gBAAO,IAAI,SAAS;GAC7B,iBAAiB;GACjB,iBAAiB;EAClB,EAAC;CACH,EAAC;AAEF,kBAAG,4CAA4C,YAAY;EACzD,MAAMA,iBAA6B;GACjC,SAAS;GACT,cAAc,EACZ,OAAO,CAAE,EACV;GACD,KAAK,EACH,YAAY,QACb;EACF;EAED,MAAM,SAAS,MAAM,uCAAe,eAAe;AAEnD,uBAAO,OAAO,CAAC,QAAQ;GACrB,SAAS;GACT,cAAc,EACZ,OAAO,CAAE,EACV;GACD,KAAK,EACH,YAAY,QACb;GACD,SAAS,gBAAO,IAAI,SAAS;GAC7B,iBAAiB;GACjB,iBAAiB;EAClB,EAAC;CACH,EAAC;AAEF,kBAAG,yCAAyC,YAAY;EACtD,MAAMA,iBAA6B,CAAE;EACrC,MAAM,SAAS,MAAM,uCAAe,eAAe;AAEnD,uBAAO,OAAO,QAAQ,CAAC,aAAa;AAEpC,MAAI,OAAO,SAAS;GAClB,MAAM,UAAU,MAAM,OAAO,SAAS;AACtC,wBAAO,QAAQ,CAAC,QAAQ,CACtB;IACE,QAAQ;IACR,SAAS,CAAC;KAAE,KAAK;KAAmB,OAAO;IAAQ,CAAC;GACrD,CACF,EAAC;EACH;CACF,EAAC;AAEF,kBAAG,oCAAoC,YAAY;EACjD,MAAMA,iBAA6B,EACjC,SAAS,QACV;EAED,MAAM,SAAS,MAAM,uCAAe,eAAe;AAEnD,uBAAO,OAAO,CAAC,QAAQ;GACrB,SAAS;GACT,SAAS,gBAAO,IAAI,SAAS;GAC7B,iBAAiB;GACjB,iBAAiB;EAClB,EAAC;CACH,EAAC;AAEF,kBAAG,yCAAyC,YAAY;EACtD,MAAMA,iBAA6B,CAAE;EACrC,MAAM,SAAS,MAAM,uCAAe,eAAe;AAEnD,uBAAO,OAAO,gBAAgB,CAAC,KAAK,MAAM;AAC1C,uBAAO,OAAO,gBAAgB,CAAC,KAAK,KAAK;AACzC,uBAAO,OAAO,QAAQ,CAAC,aAAa;CACrC,EAAC;AACH,EAAC"}