ant-design/tests/shared/rtlTest.tsx
lijianan f47535a153
test: migrate part of rtlTest tests (#37315)
* test: migrate part of rtlTest tests

* style: performance optimize

* fix: add type

* fix: fallback
2022-09-07 14:18:32 +08:00

34 lines
987 B
TypeScript

import React from 'react';
import Moment from 'moment';
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(Moment('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;