48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
| import { mount } from '@vue/test-utils';
 | |
| import List from '..';
 | |
| import { LoadingOutlined } from '@ant-design/icons-vue';
 | |
| 
 | |
| describe('List', () => {
 | |
|   it('renders empty loading', () => {
 | |
|     const loading = {
 | |
|       spinning: true,
 | |
|     };
 | |
|     const wrapper = mount({
 | |
|       render() {
 | |
|         return <List loading={loading} dataSource={[]} renderItem={() => <List.Item />} />;
 | |
|       },
 | |
|     });
 | |
|     expect(wrapper.findAll('.ant-list-empty-text')).toHaveLength(0);
 | |
|   });
 | |
| 
 | |
|   it('renders object loading', () => {
 | |
|     const loading = {
 | |
|       spinning: true,
 | |
|     };
 | |
|     const wrapper = mount({
 | |
|       render() {
 | |
|         return <List loading={loading} dataSource={[1]} renderItem={() => <List.Item />} />;
 | |
|       },
 | |
|     });
 | |
|     expect(wrapper.findAll('.ant-spin-spinning')).toHaveLength(1);
 | |
|   });
 | |
| 
 | |
|   it('renders object loading with indicator', () => {
 | |
|     const wrapper = mount({
 | |
|       render() {
 | |
|         return (
 | |
|           <List
 | |
|             loading={{
 | |
|               spinning: true,
 | |
|               indicator: <LoadingOutlined style={{ fontSize: '24px' }} />,
 | |
|             }}
 | |
|             dataSource={[1]}
 | |
|             renderItem={() => <List.Item />}
 | |
|           />
 | |
|         );
 | |
|       },
 | |
|     });
 | |
|     expect(wrapper.findAll('.anticon-loading')).toHaveLength(1);
 | |
|   });
 | |
| });
 |