Files
gw-svelte/src/routes/home-page.server.test.ts
T

48 lines
1.3 KiB
TypeScript
Raw Normal View History

2026-05-02 08:26:18 +12:00
import { describe, expect, it, vi } from 'vitest';
import { homepageContent } from '$lib/content/homepage';
2026-05-07 21:47:42 +12:00
const { getHomepageContent, isHomepageHowItWorksEnabled } = vi.hoisted(() => ({
getHomepageContent: vi.fn(),
isHomepageHowItWorksEnabled: vi.fn()
2026-05-02 08:26:18 +12:00
}));
vi.mock('$lib/server/content', () => ({
getHomepageContent
}));
2026-05-07 21:47:42 +12:00
vi.mock('$lib/server/feature-flags', () => ({
isHomepageHowItWorksEnabled
}));
2026-05-02 08:26:18 +12:00
import { load } from './+page.server';
function createLoadEvent(url = 'https://www.goodwalk.co.nz/') {
return {
url: new URL(url)
} as Parameters<typeof load>[0];
}
2026-05-02 08:26:18 +12:00
describe('home page server load', () => {
it('returns homepage content', async () => {
getHomepageContent.mockResolvedValue(homepageContent);
2026-05-07 21:47:42 +12:00
isHomepageHowItWorksEnabled.mockReturnValue(false);
await expect(load(createLoadEvent())).resolves.toEqual({
siteVariant: 'marketing',
2026-05-07 21:47:42 +12:00
content: homepageContent,
howItWorksEnabled: false
});
});
it('returns the how it works flag when enabled', async () => {
getHomepageContent.mockResolvedValue(homepageContent);
isHomepageHowItWorksEnabled.mockReturnValue(true);
2026-05-02 08:26:18 +12:00
await expect(load(createLoadEvent())).resolves.toEqual({
siteVariant: 'marketing',
2026-05-07 21:47:42 +12:00
content: homepageContent,
howItWorksEnabled: true
2026-05-02 08:26:18 +12:00
});
});
});