From 9af171ebd0b5a2e4083ecf368408d31c25e75ef1 Mon Sep 17 00:00:00 2001 From: Micah Thomas Date: Mon, 9 Dec 2024 19:19:17 -0800 Subject: [PATCH] test: added test to show how old queryParse is not necessary --- apps/storefront/tests/shared/request.test.ts | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 apps/storefront/tests/shared/request.test.ts diff --git a/apps/storefront/tests/shared/request.test.ts b/apps/storefront/tests/shared/request.test.ts new file mode 100644 index 00000000..5e70e3b8 --- /dev/null +++ b/apps/storefront/tests/shared/request.test.ts @@ -0,0 +1,28 @@ +// TODO: Old logic - remove +const queryParse = (query: T): string => { + let queryText = ''; + + Object.keys(query || {}).forEach((key: string) => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + queryText += `${key}=${(query as any)[key]}&`; + }); + return queryText.slice(0, -1); +}; + +describe('queryParse', () => { + it('should stringify objects', () => { + const params = { + foo: 'bar', + hello: 'world', + }; + const output = queryParse(params); + + expect(output).toMatchInlineSnapshot(`"foo=bar&hello=world"`); + + const newLogic = new URLSearchParams(params); + + expect(newLogic.toString()).toMatchInlineSnapshot(`"foo=bar&hello=world"`); + + expect(output).toMatch(newLogic.toString()); + }); +});