Create SplitButton.spec.js
parent
b78e47581b
commit
c1e33a0b9a
|
@ -0,0 +1,59 @@
|
|||
import { mount } from '@vue/test-utils';
|
||||
import PrimeVue from '@/components/config/PrimeVue';
|
||||
import SplitButton from './SplitButton.vue';
|
||||
|
||||
describe('SplitButton.vue', () => {
|
||||
let wrapper;
|
||||
|
||||
beforeEach(async () => {
|
||||
wrapper = mount(SplitButton, {
|
||||
global: {
|
||||
plugins: [PrimeVue],
|
||||
stubs: {
|
||||
teleport: true,
|
||||
'router-link': true
|
||||
}
|
||||
},
|
||||
props: {
|
||||
label: 'Save',
|
||||
model: [
|
||||
{
|
||||
label: 'Update',
|
||||
icon: 'pi pi-refresh'
|
||||
},
|
||||
{
|
||||
label: 'Delete',
|
||||
icon: 'pi pi-times'
|
||||
},
|
||||
{
|
||||
label: 'Vue Website',
|
||||
icon: 'pi pi-external-link',
|
||||
command: () => {
|
||||
window.location.href = 'https://vuejs.org/'
|
||||
}
|
||||
},
|
||||
{ label: 'Upload',
|
||||
icon: 'pi pi-upload',
|
||||
to: '/fileupload'
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
await wrapper.vm.onDropdownButtonClick();
|
||||
});
|
||||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-splitbutton.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-tieredmenu.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('li.p-menuitem').length).toBe(4);
|
||||
expect(wrapper.find('.p-splitbutton-defaultbutton').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-button-label').text()).toBe('Save');
|
||||
});
|
||||
|
||||
it('should hide when default button is clicked', async () => {
|
||||
await wrapper.vm.onDefaultButtonClick();
|
||||
|
||||
expect(wrapper.find('.p-tieredmenu.p-component').exists()).toBe(false);
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue