Files
motovaultpro/frontend/test/fuel-logs/FuelLogForm.test.tsx
Eric Gullickson a052040e3a Initial Commit
2025-09-17 16:09:15 -05:00

31 lines
1.0 KiB
TypeScript

import React from 'react';
import { render, screen, fireEvent } from '@testing-library/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { FuelLogForm } from '../../src/features/fuel-logs/components/FuelLogForm';
import { UnitsProvider } from '../../src/core/units/UnitsContext';
jest.mock('../../src/features/fuel-logs/hooks/useFuelLogs', () => ({
useFuelLogs: () => ({ createFuelLog: jest.fn().mockResolvedValue({}), isLoading: false })
}));
const qc = new QueryClient();
describe('FuelLogForm', () => {
it('shows validation error when no distance provided', async () => {
render(
<QueryClientProvider client={qc}>
<UnitsProvider>
<FuelLogForm />
</UnitsProvider>
</QueryClientProvider>
);
// Attempt submit without distance
const submit = screen.getByRole('button', { name: /add fuel log/i });
fireEvent.click(submit);
expect(await screen.findByText(/Either odometer reading or trip distance is required/i)).toBeInTheDocument();
});
});