import React from 'react'; import mountTest from '../../../tests/shared/mountTest'; import rtlTest from '../../../tests/shared/rtlTest'; import { fireEvent, render } from '../../../tests/utils'; import Button from '../../button/index'; import Card from '../index'; import '@testing-library/jest-dom'; describe('Card', () => { mountTest(Card); rtlTest(Card); beforeAll(() => { jest.useFakeTimers(); }); afterAll(() => { jest.useRealTimers(); }); it('should still have padding when card which set padding to 0 is loading', () => { const { container } = render( xxx , ); expect(container.firstChild).toMatchSnapshot(); }); it('title should be vertically aligned', () => { const { container } = render( Button} style={{ width: 300 }}>

Card content

, ); expect(container.firstChild).toMatchSnapshot(); }); it('onTabChange should work', () => { const tabList = [ { key: 'tab1', tab: 'tab1', }, { key: 'tab2', tab: 'tab2', }, ]; const onTabChange = jest.fn(); const { container } = render( xxx , ); fireEvent.click(container.querySelectorAll('.ant-tabs-tab')[1]); expect(onTabChange).toHaveBeenCalledWith('tab2'); }); it('should not render when actions is number', () => { const { container } = render( // @ts-ignore ingnore for the wrong action value

Card content

, ); expect(container.querySelectorAll('.ant-card-actions').length).toBe(0); }); it('with tab props', () => { const { container } = render(

Card content

, ); expect(container.querySelectorAll('.ant-tabs-small').length === 0).toBeFalsy(); }); it('get ref of card', () => { const cardRef = React.createRef(); render(

Card content

, ); expect(cardRef.current).toHaveClass('ant-card'); }); });