import { test, expect } from 'vitest';
import { render } from '@testing-library/react';
import WarningText from './WarningText';
const text = `Call 999 if you or someone else is in immediate danger, or if the crime is in progress.`;
test('warning text renders correctly', () => {
render(
{text}
);
const warningTextOuter = document.querySelector('.ds_warning-text');
const warningTextInner = warningTextOuter?.querySelector('.ds_warning-text__text');
const warningTextIcon = warningTextOuter?.querySelector('.ds_warning-text__icon');
const warningTextTitle = warningTextOuter?.querySelector('strong.visually-hidden');
expect(warningTextOuter).toBeInTheDocument();
expect(warningTextInner).toBeInTheDocument();
expect(warningTextInner?.textContent).toEqual(text);
expect(warningTextIcon).toHaveAttribute('aria-hidden');
expect(warningTextTitle?.textContent).toEqual('Warning');
expect(warningTextInner?.previousSibling).toEqual(warningTextTitle);
expect(warningTextTitle?.previousSibling).toEqual(warningTextIcon);
});
test('passing additional props', () => {
render(
{text}
)
const warningTextOuter = document.querySelector('.ds_warning-text') as HTMLElement;
expect(warningTextOuter?.dataset.test).toEqual('foo');
});
test('passing additional CSS classes', () => {
render(
{text}
)
const warningTextOuter = document.querySelector('.ds_warning-text');
expect(warningTextOuter).toHaveClass('foo');
});