import { screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { useState } from 'react';
import { describe, expect, it } from 'vitest';
import { renderWithProviders } from '../test/render';
import { Segmented } from './Segmented';
function Harness() {
const [value, setValue] = useState<'month' | 'week'>('month');
return (
);
}
describe('Segmented', () => {
it('is a radio group that changes by click and arrow keys', async () => {
renderWithProviders();
const user = userEvent.setup();
expect(screen.getByRole('radiogroup', { name: 'Granularitet' })).toBeInTheDocument();
expect(screen.getByRole('radio', { name: 'Månad' })).toBeChecked();
await user.click(screen.getByRole('radio', { name: 'Vecka' }));
expect(screen.getByRole('radio', { name: 'Vecka' })).toBeChecked();
await user.keyboard('{ArrowRight}');
expect(screen.getByRole('radio', { name: 'Månad' })).toBeChecked();
expect(screen.getByRole('radio', { name: 'Månad' })).toHaveFocus();
});
});