84 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
| import { mount } from '@vue/test-utils';
 | |
| import Card from '../index';
 | |
| import Button from '../../button/index';
 | |
| import mountTest from '../../../tests/shared/mountTest';
 | |
| 
 | |
| describe('Card', () => {
 | |
|   mountTest(Card);
 | |
|   beforeAll(() => {
 | |
|     jest.useFakeTimers();
 | |
|   });
 | |
| 
 | |
|   afterAll(() => {
 | |
|     jest.useRealTimers();
 | |
|   });
 | |
|   it('should still have padding when card which set padding to 0 is loading', () => {
 | |
|     const wrapper = mount({
 | |
|       render() {
 | |
|         return (
 | |
|           <Card loading bodyStyle={{ padding: 0 }}>
 | |
|             xxx
 | |
|           </Card>
 | |
|         );
 | |
|       },
 | |
|     });
 | |
|     expect(wrapper.html()).toMatchSnapshot();
 | |
|   });
 | |
| 
 | |
|   it('title should be vertically aligned', () => {
 | |
|     const wrapper = mount({
 | |
|       render() {
 | |
|         return (
 | |
|           <Card title="Card title" extra={<Button>Button</Button>} style={{ width: '300px' }}>
 | |
|             <p>Card content</p>
 | |
|           </Card>
 | |
|         );
 | |
|       },
 | |
|     });
 | |
|     expect(wrapper.html()).toMatchSnapshot();
 | |
|   });
 | |
| 
 | |
|   it('onTabChange should work', () => {
 | |
|     const tabList = [
 | |
|       {
 | |
|         key: 'tab1',
 | |
|         tab: 'tab1',
 | |
|       },
 | |
|       {
 | |
|         key: 'tab2',
 | |
|         tab: 'tab2',
 | |
|       },
 | |
|     ];
 | |
|     const onTabChange = jest.fn();
 | |
|     const wrapper = mount(
 | |
|       {
 | |
|         render() {
 | |
|           return (
 | |
|             <Card onTabChange={onTabChange} tabList={tabList}>
 | |
|               xxx
 | |
|             </Card>
 | |
|           );
 | |
|         },
 | |
|       },
 | |
|       {
 | |
|         sync: false,
 | |
|       },
 | |
|     );
 | |
|     wrapper.findAll('.ant-tabs-tab')[1].trigger('click');
 | |
|     expect(onTabChange).toHaveBeenCalledWith('tab2');
 | |
|   });
 | |
| 
 | |
|   it('should not render when actions is number', () => {
 | |
|     const wrapper = mount({
 | |
|       render() {
 | |
|         return (
 | |
|           <Card title="Card title" actions={11}>
 | |
|             <p>Card content</p>
 | |
|           </Card>
 | |
|         );
 | |
|       },
 | |
|     });
 | |
|     expect(wrapper.findAll('.ant-card-actions').length).toBe(0);
 | |
|   });
 | |
| });
 |