import { h } from 'preact';
import { render } from '@testing-library/preact';
import '@testing-library/jest-dom';
import { MentionAutocompleteTextArea } from '../MentionAutocompleteTextArea';
describe('', () => {
const textArea = document.createElement('textarea');
textArea.setAttribute('aria-label', 'test text area');
textArea.setAttribute('id', 'test-text-area');
beforeAll(() => {
global.window.matchMedia = jest.fn((query) => {
return {
matches: false,
media: query,
addListener: jest.fn(),
removeListener: jest.fn(),
};
});
});
beforeEach(() => {
document.body.appendChild(textArea);
});
it('should render', () => {
const { container } = render(
({ result: [] })}
/>,
);
expect(container.innerHTML).toMatchSnapshot();
});
it('should replace the given textarea with a combobox textarea', () => {
const { getByRole, getAllByLabelText } = render(
({ result: [] })}
/>,
);
const combobox = getByRole('combobox');
expect(combobox).toBeInTheDocument();
expect(combobox.id).toEqual('test-text-area');
expect(combobox.getAttribute('aria-label')).toEqual('test text area');
expect(getAllByLabelText('test text area')).toHaveLength(1);
});
});