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']);
// });