import { describe, expect, it, vi } from 'vitest'; import { homepageContent } from '$lib/content/homepage'; const { getHomepageContent } = vi.hoisted(() => ({ getHomepageContent: vi.fn() })); vi.mock('$lib/server/content', () => ({ getHomepageContent })); import { load } from './+page.server'; function createLoadEvent(url = 'https://www.goodwalk.co.nz/') { // The loader now also receives `cookies`; resolveSurface only touches it // when ?preview is involved, which these tests don't exercise. return { url: new URL(url), cookies: { get: () => undefined, set: () => {}, delete: () => {} } } as unknown as Parameters[0]; } describe('home page server load', () => { it('returns homepage content', async () => { getHomepageContent.mockResolvedValue(homepageContent); await expect(load(createLoadEvent())).resolves.toEqual({ siteVariant: 'marketing', content: homepageContent }); }); it('returns the onboarding variant on the clients host', async () => { getHomepageContent.mockResolvedValue(homepageContent); await expect(load(createLoadEvent('https://clients.goodwalk.co.nz/'))).resolves.toEqual({ siteVariant: 'onboarding', isPreview: false }); }); it('still returns the onboarding variant on the legacy onboarding host', async () => { getHomepageContent.mockResolvedValue(homepageContent); await expect(load(createLoadEvent('https://onboarding.goodwalk.co.nz/'))).resolves.toEqual({ siteVariant: 'onboarding', isPreview: false }); }); });