55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
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<typeof load>[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
|
|
});
|
|
});
|
|
});
|