import path from 'path'; import simulate from 'miniprogram-simulate'; describe('switch', () => { const VanSwitch = simulate.load( path.resolve(__dirname, '../../switch/index'), 'van-switch', { rootPath: path.resolve(__dirname, '../../'), } ); test('should allow to custom active-value and inactive-value', async () => { const comp = simulate.render( simulate.load({ usingComponents: { 'van-switch': VanSwitch, }, template: ` `, data: { checked: 'on', }, methods: { onChange({ detail }) { this.setData({ checked: detail }); }, }, }) ); comp.attach(document.createElement('parent-wrapper')); const wrapper = comp.querySelector('#wrapper'); const btn = wrapper?.querySelector('.van-switch'); expect((btn as any).toJSON()).toMatchSnapshot(); btn?.dispatchEvent('tap'); await simulate.sleep(10); expect((btn as any).toJSON()).toMatchSnapshot(); expect(comp.data.checked).toEqual('off'); }); });