blessing-skin-server/resources/assets/tests/components/FileInput.test.tsx
Zephyr Lykos 9524a234cf
cleanup: wip 3.1
mostly misc cleanups
2024-02-24 23:01:32 +08:00

40 lines
857 B
TypeScript

import {expect, test} from 'vitest';
import {render, fireEvent} from '@testing-library/react';
import {t} from '@/scripts/i18n';
import FileInput from '@/components/FileInput';
test('click to select file', () => {
const {getAllByText} = render(
<FileInput
file={null}
onChange={() => {
/* */
}}
/>,
);
fireEvent.click(getAllByText(t('skinlib.upload.select-file'))[1]);
});
test('display file name', () => {
const file = new File([], 'f.txt');
const {queryByText} = render(
<FileInput
file={file}
onChange={() => {
/* */
}}
/>,
);
expect(queryByText('f.txt')).toBeInTheDocument();
});
test('input file', () => {
const mock = vi.fn();
const {getByLabelText} = render(<FileInput file={null} onChange={mock}/>);
fireEvent.change(getByLabelText(t('skinlib.upload.select-file')));
expect(mock).toBeCalled();
});