51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
import { mount } from '@vue/test-utils'
 | 
						|
import { asyncExpect } from '@/tests/utils'
 | 
						|
import Tabs from '..'
 | 
						|
 | 
						|
const { TabPane } = Tabs
 | 
						|
 | 
						|
describe('Tabs', () => {
 | 
						|
  describe('editable-card', () => {
 | 
						|
    let handleEdit
 | 
						|
    let wrapper
 | 
						|
 | 
						|
    beforeEach(() => {
 | 
						|
      handleEdit = jest.fn()
 | 
						|
      wrapper = mount({
 | 
						|
        render () {
 | 
						|
          return (
 | 
						|
            <Tabs type='editable-card' onEdit={handleEdit}>
 | 
						|
              <TabPane tab='foo' key='1'>foo</TabPane>
 | 
						|
            </Tabs>
 | 
						|
          )
 | 
						|
        },
 | 
						|
      })
 | 
						|
    })
 | 
						|
 | 
						|
    it('add card', () => {
 | 
						|
      wrapper.find('.ant-tabs-new-tab').trigger('click')
 | 
						|
      expect(handleEdit.mock.calls[0][1]).toBe('add')
 | 
						|
    })
 | 
						|
 | 
						|
    it('remove card', () => {
 | 
						|
      wrapper.find('.anticon-close').trigger('click')
 | 
						|
      expect(handleEdit).toBeCalledWith('1', 'remove')
 | 
						|
    })
 | 
						|
  })
 | 
						|
 | 
						|
  describe('tabPosition', () => {
 | 
						|
    it('remove card', () => {
 | 
						|
      const wrapper = mount({
 | 
						|
        render () {
 | 
						|
          return (
 | 
						|
            <Tabs tabPosition='left' tabBarExtraContent='xxx'>
 | 
						|
              <TabPane tab='foo' key='1'>foo</TabPane>
 | 
						|
            </Tabs>
 | 
						|
          )
 | 
						|
        },
 | 
						|
      })
 | 
						|
      expect(wrapper.html()).toMatchSnapshot()
 | 
						|
    })
 | 
						|
  })
 | 
						|
})
 |