test(worker): lib/api + app/nav — fill gaps + lifecycle test

This commit is contained in:
Bas van Rossem
2026-07-23 14:15:48 +02:00
parent 32bdaa3e31
commit e174c29a77
7 changed files with 233 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
import { describe, expect, it, vi } from 'vitest';
import { renderHook, waitFor } from '@testing-library/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import type { ReactNode } from 'react';
import { apiFetch } from '../lib/api';
import { useMe } from './me';
vi.mock('../lib/api', () => ({
apiFetch: vi.fn().mockResolvedValue({ user: { id: 'u1', email: 'a@b.c', name: 'A' } }),
}));
const mockedApiFetch = vi.mocked(apiFetch);
const wrapper = ({ children }: { children: ReactNode }) => (
<QueryClientProvider client={new QueryClient({ defaultOptions: { queries: { retry: false } } })}>
{children}
</QueryClientProvider>
);
describe('useMe', () => {
it('queries GET /api/me', async () => {
const { result } = renderHook(() => useMe(), { wrapper });
await waitFor(() => expect(result.current.isSuccess).toBe(true));
expect(mockedApiFetch).toHaveBeenCalledWith('/api/me');
});
});