From 01d294a8bb2d96a57e68d250464342f3c20b584f Mon Sep 17 00:00:00 2001 From: Kevin Date: Wed, 2 Jul 2025 13:52:41 -0500 Subject: [PATCH] chore: helper function and unit tests for a withSiteBaseURL --- src/lib/withBaseURL.test.ts | 31 +++++++++++++++++++++++++++++-- src/lib/withBaseURL.ts | 6 +++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/lib/withBaseURL.test.ts b/src/lib/withBaseURL.test.ts index f0a631b77..ae3dab291 100644 --- a/src/lib/withBaseURL.test.ts +++ b/src/lib/withBaseURL.test.ts @@ -1,11 +1,11 @@ -import { withAPIBaseURL } from '@src/lib/withBaseURL' +import { withAPIBaseURL, withSiteBaseURL } from '@src/lib/withBaseURL' describe('withBaseURL', () => { /** * running in the development environment * the .env.development should load */ - describe('withAPIBaseUrl', () => { + describe('withAPIBaseURL', () => { it('should return base url', () => { const expected = 'https://api.dev.zoo.dev' const actual = withAPIBaseURL('') @@ -31,4 +31,31 @@ describe('withBaseURL', () => { expect(actualEndsWith).toBe(expectedEndsWith) }) }) + + describe('withSiteBaseURL', () => { + it('should return base url', () => { + const expected = 'https://dev.zoo.dev' + const actual = withSiteBaseURL('') + expect(actual).toBe(expected) + }) + it('should return base url with /docs', () => { + const expected = 'https://dev.zoo.dev/docs' + const actual = withSiteBaseURL('/docs') + expect(actual).toBe(expected) + }) + it('should return a longer base base url with /docs/kcl-samples/car-wheel-assembly', () => { + const expected = 'https://dev.zoo.dev/docs/kcl-samples/car-wheel-assembly' + const actual = withSiteBaseURL('/docs/kcl-samples/car-wheel-assembly') + expect(actual).toBe(expected) + }) + it('should ensure base url does not have ending slash', () => { + const expected = 'https://dev.zoo.dev' + const actual = withSiteBaseURL('') + expect(actual).toBe(expected) + const expectedEndsWith = expected[expected.length - 1] + const actualEndsWith = actual[actual.length - 1] + expect(actual).toBe(expected) + expect(actualEndsWith).toBe(expectedEndsWith) + }) + }) }) diff --git a/src/lib/withBaseURL.ts b/src/lib/withBaseURL.ts index 5eccdff66..0dd18ea75 100644 --- a/src/lib/withBaseURL.ts +++ b/src/lib/withBaseURL.ts @@ -1,5 +1,9 @@ -import { VITE_KC_API_BASE_URL } from '@src/env' +import { VITE_KC_API_BASE_URL, VITE_KC_SITE_BASE_URL} from '@src/env' export function withAPIBaseURL(path: string): string { return VITE_KC_API_BASE_URL + path } + +export function withSiteBaseURL(path: string): string { + return VITE_KC_SITE_BASE_URL + path +}