import { mount } from '@vue/test-utils'; import Checkboxgroup from '../index.vue'; import Checkbox from '../../checkbox/index.vue'; import { reactive, toRefs } from 'vue'; test('checkbox-group basic usage', async () => { const wrapper = mount({ components: { 'nut-checkboxgroup': Checkboxgroup, 'nut-checkbox': Checkbox }, template: ` `, setup() { const state = reactive({ checkboxgroup1: [] }); return { ...toRefs(state) }; } }); const items = wrapper.findAll('.nut-checkbox'); await items[0].trigger('click'); expect(wrapper.vm.checkboxgroup1).toEqual(['1']); }); test('checkbox-group disabled test', async () => { const wrapper = mount({ components: { 'nut-checkboxgroup': Checkboxgroup, 'nut-checkbox': Checkbox }, template: ` `, setup() { const state = reactive({ checkboxgroup1: [] }); return { ...toRefs(state) }; } }); const items = wrapper.findAll('.nut-checkbox'); await items[0].trigger('click'); expect(wrapper.vm.checkboxgroup1).toEqual([]); expect(wrapper.find('.nut-checkbox__icon--disable')).toBeTruthy(); }); // test('checkbox-group change event test',async () => { // const wrapper = mount({ // components: { // 'nut-checkboxgroup': Checkboxgroup, // 'nut-checkbox': Checkbox // }, // template: ` // // `, // setup() { // const state = reactive({ // checkboxgroup1: [], // }); // return { ...toRefs(state) }; // } // }); // const items = wrapper.findAll('.nut-checkbox'); // await items[0].trigger('click'); // // expect(wrapper.vm.checkboxgroup1).toEqual(['1']); // expect(wrapper.emitted('change')![0]).toEqual(['1']); // });