primevue-mirror/components/menubar/Menubar.spec.js

74 lines
2.6 KiB
JavaScript

import { mount } from '@vue/test-utils';
import Menubar from './Menubar.vue';
describe('Menubar.vue', () => {
let wrapper;
beforeEach(() => {
wrapper = mount(Menubar, {
global: {
stubs: {
'router-link': true
}
},
props: {
model: [
{
label:'File',
icon:'pi pi-fw pi-file',
items:[
{
label:'New',
icon:'pi pi-fw pi-plus',
items:[
{
label:'Bookmark',
icon:'pi pi-fw pi-bookmark'
},
{
label:'Video',
icon:'pi pi-fw pi-video'
}
]
},
{
label:'Delete',
icon:'pi pi-fw pi-trash'
},
{
separator:true
},
{
label:'Export',
icon:'pi pi-fw pi-external-link'
}
]
},
{
label:'Quit',
icon:'pi pi-fw pi-power-off'
}
]
},
slots: {
start: 'Start Slot',
end: 'End Slot'
}
})
});
it('should exist', () => {
expect(wrapper.find('.p-menubar.p-component').exists()).toBe(true);
expect(wrapper.find('.p-menubar-root-list').exists()).toBe(true);
expect(wrapper.findAll('ul.p-submenu-list').length).toBe(2);
expect(wrapper.findAll('ul.p-submenu-list')[0].findAll('li.p-menuitem')[0].find('.p-menuitem-text').text()).toBe('New');
expect(wrapper.findAll('li.p-menuitem').length).toBe(7);
expect(wrapper.findAll('li.p-menu-separator').length).toBe(1);
});
it('should slot visible', () => {
expect(wrapper.find('.p-menubar-start').exists()).toBe(true);
expect(wrapper.find('.p-menubar-end').exists()).toBe(true);
expect(wrapper.find('.p-menubar-end').text()).toBe('End Slot');
});
});