UNPKG

mand-mobile

Version:

A Vue.js 2.0 Mobile UI Toolkit

83 lines (71 loc) 1.8 kB
import {TabPicker} from 'mand-mobile' import data from '../demo/data' import sinon from 'sinon' import {mount} from '@vue/test-utils' describe('TabPicker - Operation', () => { let wrapper afterEach(() => { wrapper && wrapper.destroy() }) it('select and switch pane', done => { wrapper = mount(TabPicker, { propsData: { data, value: true, }, sync: false, }) expect(wrapper.vm.currentTab).toBe('province') const eventSpy = sinon.spy(wrapper.vm, '$emit') const item0 = wrapper .find({ name: 'province', class: 'md-radio-item', }) .findAll('.md-radio-item') .at(0) item0.trigger('click') setTimeout(() => { expect(wrapper.vm.panes.length).toBe(2) expect(wrapper.vm.currentTab).toBe('block') const item1 = wrapper .find({ name: 'block', class: 'md-radio-item', }) .findAll('.md-radio-item') .at(0) item1.trigger('click') setTimeout(() => { expect(eventSpy.calledWith('change')).toBe(true) done() }, 600) }, 300) }) it('set default value', () => { wrapper = mount(TabPicker, { propsData: { data: data, value: true, defaultValue: ['pk'], }, sync: false, }) expect(JSON.stringify(wrapper.vm.selected)).toBe(JSON.stringify(['pk'])) }) it('click mask to close', done => { wrapper = mount(TabPicker, { propsData: { data: data, value: true, }, sync: false, }) const eventSpy = sinon.spy(wrapper.vm, '$emit') wrapper.find('.md-popup-mask').trigger('click') setTimeout(() => { expect(eventSpy.calledWith('input')).toBe(true) done() }, 300) }) })