mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-25 19:50:05 +08:00
34 lines
984 B
TypeScript
34 lines
984 B
TypeScript
import React from 'react';
|
|
import dayjs from 'dayjs';
|
|
import MockDate from 'mockdate';
|
|
import { render } from '../utils';
|
|
import ConfigProvider from '../../components/config-provider';
|
|
|
|
interface TestOptions {
|
|
mockDate?: boolean;
|
|
componentName?: string;
|
|
}
|
|
|
|
function rtlTest(Component: React.ComponentType, { mockDate, componentName }: TestOptions = {}) {
|
|
describe(`rtl render`, () => {
|
|
it(`component should be rendered correctly in RTL direction`, () => {
|
|
const isArray = componentName && ['menu'].includes(componentName);
|
|
if (mockDate) {
|
|
MockDate.set(dayjs('2000-09-28').valueOf());
|
|
}
|
|
const { container } = render(
|
|
<ConfigProvider direction="rtl">
|
|
<Component />
|
|
</ConfigProvider>,
|
|
);
|
|
expect(isArray ? container.children : container.firstChild).toMatchSnapshot();
|
|
if (mockDate) {
|
|
MockDate.reset();
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
// eslint-disable-next-line jest/no-export
|
|
export default rtlTest;
|