/**
* Copyright (c) Paymium.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root of this projects source tree.
*/
import { render, fireEvent, screen } from '@crossed/test';
import { SelectYear } from '../SelectYear';
jest.mock('../../Select', () => ({
Select: ({ value, onChange, items }: any) => (
),
}));
describe('SelectYear', () => {
const mockYears = [2020, 2021, 2022, 2023, 2024];
const mockOnChange = jest.fn();
test('renders correctly with given years and selected year', () => {
render(
);
expect(screen.getByDisplayValue('2022')).toBeInTheDocument();
});
test('calls onChange when a new year is selected', () => {
render(
);
fireEvent.change(screen.getByDisplayValue('2022'), {
target: { value: '2023' },
});
expect(mockOnChange).toHaveBeenCalledWith(2023);
});
test('renders all years in the dropdown', () => {
render(
);
mockYears.forEach((year) => {
expect(screen.getByText(`${year}`)).toBeInTheDocument();
});
});
});