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