import { mount } from '@vue/test-utils'; import Card from '../index'; import Button from '../../button/index'; const testMethod = typeof window !== 'undefined' ? it : xit; describe('Card', () => { beforeAll(() => { jest.useFakeTimers(); }); afterAll(() => { jest.useRealTimers(); }); function fakeResizeWindowTo(wrapper, width) { Object.defineProperties(wrapper.vm.$refs.cardContainerRef, { offsetWidth: { get() { return width; }, configurable: true, }, }); window.resizeTo(width); } testMethod('resize card will trigger different padding', () => { const wrapper = mount(Card, { propsData: 'xxx', slots: { default: 'xxx', }, }); fakeResizeWindowTo(wrapper, 1000); jest.runAllTimers(); wrapper.vm.$forceUpdate(); expect(wrapper.findAll('.ant-card-wider-padding').length).toBe(1); fakeResizeWindowTo(wrapper, 800); jest.runAllTimers(); wrapper.vm.$forceUpdate(); expect(wrapper.findAll('.ant-card-wider-padding').length).toBe(0); }); it('should still have padding when card which set padding to 0 is loading', () => { const wrapper = mount({ render() { return ( xxx ); }, }); expect(wrapper.html()).toMatchSnapshot(); }); it('title should be vertically aligned', () => { const wrapper = mount({ render() { return ( Button} style={{ width: '300px' }}>

Card content

); }, }); expect(wrapper.html()).toMatchSnapshot(); }); });