commit
1287131021
|
@ -40,115 +40,25 @@ describe('Accordion.vue', () => {
|
|||
|
||||
it('should Accordion and AccordionTab component exist', () => {
|
||||
expect(wrapper.find('.p-accordion.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-accordion-tab').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-accordion-tab').length).toBe(3);
|
||||
expect(wrapper.find('.p-accordionpanel').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-accordionpanel').length).toBe(3);
|
||||
});
|
||||
|
||||
it('should activeIndex change', async () => {
|
||||
await wrapper.setProps({ activeIndex: 1 });
|
||||
|
||||
const allTabs = wrapper.findAll('.p-accordion-tab');
|
||||
const allTabs = wrapper.findAll('.p-accordionpanel');
|
||||
|
||||
expect(allTabs[0].classes()).not.toContain('p-accordion-tab-active');
|
||||
expect(allTabs[1].classes()).toContain('p-accordion-tab-active');
|
||||
expect(allTabs[0].classes()).not.toContain('p-accordionpanel-active');
|
||||
expect(allTabs[1].classes()).toContain('p-accordionpanel-active');
|
||||
});
|
||||
|
||||
it('should work tab click', async () => {
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
it('should work panel click', async () => {
|
||||
const firstHeader = wrapper.find('button.p-accordionheader');
|
||||
|
||||
await firstHeader.trigger('click');
|
||||
|
||||
expect(wrapper.emitted()['update:activeIndex'][0]).toEqual([0]);
|
||||
expect(wrapper.emitted()['tab-click'][0][0].index).toEqual(0);
|
||||
});
|
||||
|
||||
it('When invalid key triggered OnTabKey should break', async () => {
|
||||
const keydownOptions = ['onTabHomeKey', 'onTabEnterKey', 'onTabEndKey', 'onTabArrowDownKey', 'onTabArrowUpKey'];
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'ArrowRight' });
|
||||
|
||||
for (const keydownOption of keydownOptions) {
|
||||
expect(vi.spyOn(wrapper.vm, keydownOption)).not.toHaveBeenCalled();
|
||||
}
|
||||
});
|
||||
|
||||
it('When keydown enter is triggered on component header changeActiveIndex should be triggered', async () => {
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
const changeActiveIndexSpy = vi.spyOn(wrapper.vm, 'changeActiveIndex');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'Enter' });
|
||||
|
||||
expect(changeActiveIndexSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When keydown end is triggered on component header changeFocusedTab should be triggered', async () => {
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
const changeFocusedTabSpy = vi.spyOn(wrapper.vm, 'changeFocusedTab');
|
||||
const findLastHeaderActionSpy = vi.spyOn(wrapper.vm, 'findLastHeaderAction');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'End' });
|
||||
|
||||
expect(changeFocusedTabSpy).toHaveBeenCalled();
|
||||
expect(findLastHeaderActionSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When keydown home is triggered on component header changeFocusedTab should be triggered', async () => {
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
const changeFocusedTabSpy = vi.spyOn(wrapper.vm, 'changeFocusedTab');
|
||||
const findFirstHeaderActionSpy = vi.spyOn(wrapper.vm, 'findFirstHeaderAction');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'Home' });
|
||||
|
||||
expect(changeFocusedTabSpy).toHaveBeenCalled();
|
||||
expect(findFirstHeaderActionSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When keydown ArrowUp is triggered and findPrevHeaderAction is true changeFocusedTab should be triggered', async () => {
|
||||
const findPrevHeaderActionSpy = vi.spyOn(wrapper.vm, 'findPrevHeaderAction').mockImplementation(() => true);
|
||||
const onTabEndKeySpy = vi.spyOn(wrapper.vm, 'onTabEndKey');
|
||||
const changeFocusedTabSpy = vi.spyOn(wrapper.vm, 'changeFocusedTab').mockImplementation(() => true);
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'ArrowUp' });
|
||||
|
||||
expect(findPrevHeaderActionSpy).toHaveBeenCalled();
|
||||
expect(changeFocusedTabSpy).toHaveBeenCalled();
|
||||
expect(onTabEndKeySpy).toHaveBeenCalledTimes(0);
|
||||
});
|
||||
|
||||
it('When keydown ArrowUp is triggered and findPrevHeaderAction is false onTabEndKey should be triggered', async () => {
|
||||
const findPrevHeaderActionSpy = vi.spyOn(wrapper.vm, 'findPrevHeaderAction').mockImplementation(() => false);
|
||||
const onTabEndKeySpy = vi.spyOn(wrapper.vm, 'onTabEndKey');
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'ArrowUp' });
|
||||
|
||||
expect(findPrevHeaderActionSpy).toHaveBeenCalled();
|
||||
expect(onTabEndKeySpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When keydown ArrowDown is triggered and nextHeaderAction is true changeFocusedTab should be triggered', async () => {
|
||||
const findNextHeaderActionSpy = vi.spyOn(wrapper.vm, 'findNextHeaderAction').mockImplementation(() => true);
|
||||
const onTabHomeKeySpy = vi.spyOn(wrapper.vm, 'onTabHomeKey');
|
||||
const changeFocusedTabSpy = vi.spyOn(wrapper.vm, 'changeFocusedTab').mockImplementation(() => true);
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'ArrowDown' });
|
||||
|
||||
expect(findNextHeaderActionSpy).toHaveBeenCalled();
|
||||
expect(changeFocusedTabSpy).toHaveBeenCalled();
|
||||
expect(onTabHomeKeySpy).toHaveBeenCalledTimes(0);
|
||||
});
|
||||
|
||||
it('When keydown ArrowDown is triggered and nextHeaderAction is false onTabHomeKey should be triggered', async () => {
|
||||
const findNextHeaderActionSpy = vi.spyOn(wrapper.vm, 'findNextHeaderAction').mockImplementation(() => false);
|
||||
const onTabHomeKeySpy = vi.spyOn(wrapper.vm, 'onTabHomeKey');
|
||||
const firstHeader = wrapper.find('a.p-accordion-header-link');
|
||||
|
||||
await firstHeader.trigger('keydown', { code: 'ArrowDown' });
|
||||
|
||||
expect(findNextHeaderActionSpy).toHaveBeenCalled();
|
||||
expect(onTabHomeKeySpy).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -51,8 +51,8 @@ describe('AutoComplete.vue', () => {
|
|||
suggestions: [{ name: 'Bahrain', code: 'BH' }]
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-autocomplete-items').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-autocomplete-item').length).toBe(1);
|
||||
expect(wrapper.find('.p-autocomplete-list').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-autocomplete-option').length).toBe(1);
|
||||
});
|
||||
|
||||
it('should show overlay and empty-message if there are no suggestions', async () => {
|
||||
|
@ -65,8 +65,8 @@ describe('AutoComplete.vue', () => {
|
|||
suggestions: []
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-autocomplete-items').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-autocomplete-item').length).toBe(0);
|
||||
expect(wrapper.find('.p-autocomplete-list').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-autocomplete-option').length).toBe(0);
|
||||
expect(wrapper.find('.p-autocomplete-empty-message').exists()).toBe(true);
|
||||
});
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ describe('Avatar.vue', () => {
|
|||
expect(wrapper.find('.p-avatar.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-avatar-lg').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-avatar-circle').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-avatar-text').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-avatar-text').text()).toBe('T');
|
||||
expect(wrapper.find('.p-avatar-label').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-avatar-label').text()).toBe('T');
|
||||
});
|
||||
|
||||
it('should exist', async () => {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { mount } from '@vue/test-utils';
|
||||
import PrimeVue from 'primevue/config';
|
||||
import { beforeEach, expect } from 'vitest';
|
||||
import BlockUI from './BlockUI.vue';
|
||||
|
||||
|
@ -6,7 +7,15 @@ let wrapper = null;
|
|||
|
||||
describe('BlockUI.vue', () => {
|
||||
beforeEach(() => {
|
||||
wrapper = mount(BlockUI);
|
||||
wrapper = mount(BlockUI, {
|
||||
attachTo: document.body,
|
||||
global: {
|
||||
plugins: [PrimeVue],
|
||||
stubs: {
|
||||
teleport: true
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
|
|
|
@ -27,7 +27,7 @@ describe('Breadcrumb', () => {
|
|||
});
|
||||
|
||||
expect(wrapper.find('.p-breadcrumb.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-menuitem-separator').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-menuitem-text').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-breadcrumb-separator').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-breadcrumb-item-label').length).toBe(5);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -79,6 +79,6 @@ describe('Button.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.html()).toBe(`<button class="p-button p-component" type="button" data-pc-name="button" data-pc-section="root"><span class="ml-2 font-bold">Default PrimeVue Button</span></button>`);
|
||||
expect(wrapper.html()).toBe(`<button class="p-button p-component" type="button" data-pc-name="button" data-p-disabled="false" data-pc-section="root" pc7=""><span class="ml-2 font-bold">Default PrimeVue Button</span></button>`);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -81,7 +81,7 @@ describe('Carousel.vue', () => {
|
|||
|
||||
expect(firstItem.classes()).toContain('p-carousel-item-active');
|
||||
|
||||
const nextBtn = wrapper.find('.p-carousel-next');
|
||||
const nextBtn = wrapper.find('.p-carousel-next-button');
|
||||
|
||||
await nextBtn.trigger('click');
|
||||
|
||||
|
|
|
@ -106,20 +106,20 @@ describe('CascadeSelect.vue', () => {
|
|||
|
||||
await wrapper.trigger('click');
|
||||
|
||||
expect(wrapper.find('.p-cascadeselect-panel.p-cascadeselect-items').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-cascadeselect-item').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-cascadeselect-item-text')[0].text()).toBe('Australia');
|
||||
expect(wrapper.find('.p-cascadeselect-list').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-cascadeselect-option').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-cascadeselect-option-text')[0].text()).toBe('Australia');
|
||||
|
||||
const firstGroup = wrapper.findAll('.p-cascadeselect-item-content')[0];
|
||||
const firstGroup = wrapper.findAll('.p-cascadeselect-option-content')[0];
|
||||
|
||||
await firstGroup.trigger('click');
|
||||
|
||||
expect(wrapper.find('.p-cascadeselect-panel.p-cascadeselect-sublist').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-cascadeselect-list .p-cascadeselect-option-list').exists()).toBe(true);
|
||||
|
||||
const sublist = wrapper.find('.p-cascadeselect-panel.p-cascadeselect-sublist');
|
||||
const sublist = wrapper.find('.p-cascadeselect-list .p-cascadeselect-option-list');
|
||||
|
||||
expect(sublist.findAll('.p-cascadeselect-item.p-cascadeselect-item-group').length).toBe(2);
|
||||
expect(sublist.findAll('.p-cascadeselect-item-text')[0].text()).toBe('New South Wales');
|
||||
expect(sublist.findAll('.p-cascadeselect-option').length).toBe(2);
|
||||
expect(sublist.findAll('.p-cascadeselect-option-text')[0].text()).toBe('New South Wales');
|
||||
});
|
||||
|
||||
it('should accept custom icons', async () => {
|
||||
|
@ -130,7 +130,7 @@ describe('CascadeSelect.vue', () => {
|
|||
|
||||
await nextTick();
|
||||
|
||||
expect(wrapper.find('.p-cascadeselect-trigger-icon').classes()).toContain('pi-discord');
|
||||
expect(wrapper.find('.p-cascadeselect-dropdown-icon').classes()).toContain('pi-discord');
|
||||
|
||||
await wrapper.trigger('click');
|
||||
|
||||
|
|
|
@ -21,6 +21,6 @@ describe('Checkbox.vue', () => {
|
|||
it('should exist', async () => {
|
||||
await wrapper.setProps({ modelValue: true });
|
||||
|
||||
expect(wrapper.find('.p-checkbox.p-highlight').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-checkbox.p-checkbox-checked').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -21,7 +21,7 @@ describe('Chip.vue', () => {
|
|||
it('should exists', () => {
|
||||
expect(wrapper.find('.p-chip.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-chip-icon').classes()).toContain('pi-primevue');
|
||||
expect(wrapper.find('.p-chip-text').text()).toBe('PrimeVue');
|
||||
expect(wrapper.find('.p-chip-label').text()).toBe('PrimeVue');
|
||||
expect(wrapper.find('.p-chip-remove-icon').exists()).toBe(true);
|
||||
});
|
||||
|
||||
|
|
|
@ -21,11 +21,11 @@ describe('ColorPicker.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-colorpicker.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-colorpicker-preview.p-inputtext').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-colorpicker-preview').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should input click triggered', async () => {
|
||||
const input = wrapper.find('.p-colorpicker-preview.p-inputtext');
|
||||
const input = wrapper.find('input.p-colorpicker-preview');
|
||||
const onInputClick = vi.spyOn(wrapper.vm, 'onInputClick');
|
||||
|
||||
await input.trigger('click');
|
||||
|
@ -37,7 +37,7 @@ describe('ColorPicker.vue', () => {
|
|||
});
|
||||
|
||||
it('should mouse events triggered', async () => {
|
||||
const input = wrapper.find('.p-colorpicker-preview.p-inputtext');
|
||||
const input = wrapper.find('input.p-colorpicker-preview');
|
||||
|
||||
await input.trigger('click');
|
||||
|
||||
|
@ -49,11 +49,11 @@ describe('ColorPicker.vue', () => {
|
|||
wrapper.vm.onColorMousedown(event);
|
||||
|
||||
expect(onColorMousedown).toHaveBeenCalled();
|
||||
expect(wrapper.find('.p-colorpicker-preview.p-inputtext').element.style.backgroundColor).not.toBe('rgb(255, 0, 0)');
|
||||
expect(wrapper.find('input.p-colorpicker-preview').element.style.backgroundColor).not.toBe('rgb(255, 0, 0)');
|
||||
|
||||
wrapper.vm.onHueMousedown(event2);
|
||||
|
||||
expect(onHueMousedown).toHaveBeenCalled();
|
||||
expect(wrapper.find('.p-colorpicker-preview.p-inputtext').element.style.backgroundColor).not.toBe('rgb(255, 0, 0)');
|
||||
expect(wrapper.find('input.p-colorpicker-preview').element.style.backgroundColor).not.toBe('rgb(255, 0, 0)');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -191,7 +191,7 @@ export default {
|
|||
this.autoFocusAccept = null;
|
||||
this.autoFocusReject = null;
|
||||
|
||||
DomHandler.focus(this.target);
|
||||
focus(this.target);
|
||||
this.target = null;
|
||||
|
||||
this.unbindOutsideClickListener();
|
||||
|
|
|
@ -154,8 +154,8 @@ describe('ContextMenu.vue', () => {
|
|||
|
||||
expect(show).toHaveBeenCalled();
|
||||
expect(wrapper.find('.p-contextmenu.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-menuitem').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-menuitem-text')[0].text()).toBe('File');
|
||||
expect(wrapper.findAll('.p-contextmenu-item').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-contextmenu-item-label')[0].text()).toBe('File');
|
||||
});
|
||||
|
||||
it('should hide menu', async () => {
|
||||
|
|
|
@ -118,14 +118,14 @@ describe('DataTable.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-datatable.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datatable-wrapper').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datatable-table-container').exists()).toBe(true);
|
||||
expect(wrapper.find('table.p-datatable-table').exists()).toBe(true);
|
||||
expect(wrapper.find('thead.p-datatable-thead').exists()).toBe(true);
|
||||
expect(wrapper.find('tbody.p-datatable-tbody').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should have basic demo', () => {
|
||||
expect(wrapper.findAll('.p-column-header-content').length).toEqual(3);
|
||||
expect(wrapper.findAll('.p-datatable-column-header-content').length).toEqual(3);
|
||||
const tbody = wrapper.find('.p-datatable-tbody');
|
||||
|
||||
expect(tbody.findAll('tr').length).toEqual(3);
|
||||
|
@ -156,22 +156,22 @@ describe('DataTable.vue', () => {
|
|||
it('should have empty templating', async () => {
|
||||
await wrapper.setProps({ value: [] });
|
||||
|
||||
expect(wrapper.find('tr.p-datatable-emptymessage').exists()).toBe(true);
|
||||
expect(wrapper.find('tr.p-datatable-emptymessage').text()).toBe('Empty Templating');
|
||||
expect(wrapper.find('tr.p-datatable-empty-message').exists()).toBe(true);
|
||||
expect(wrapper.find('tr.p-datatable-empty-message').text()).toBe('Empty Templating');
|
||||
});
|
||||
|
||||
it('should have paginatorstart templating', async () => {
|
||||
await wrapper.setProps({ value: data, paginator: true, rows: 5 });
|
||||
|
||||
expect(wrapper.find('.p-paginator-left-content').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-paginator-left-content').text()).toBe('Paginator Start Templating');
|
||||
expect(wrapper.find('.p-paginator-content-start').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-paginator-content-start').text()).toBe('Paginator Start Templating');
|
||||
});
|
||||
|
||||
it('should have paginatorend templating', async () => {
|
||||
await wrapper.setProps({ value: data, paginator: true, rows: 5 });
|
||||
|
||||
expect(wrapper.find('.p-paginator-right-content').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-paginator-right-content').text()).toBe('Paginator End Templating');
|
||||
expect(wrapper.find('.p-paginator-content-end').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-paginator-content-end').text()).toBe('Paginator End Templating');
|
||||
});
|
||||
|
||||
// column templating
|
||||
|
@ -251,8 +251,8 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-datatable').classes()).toContain('p-datatable-grouped-header');
|
||||
expect(wrapper.find('.p-datatable').classes()).toContain('p-datatable-grouped-footer');
|
||||
expect(wrapper.find('.p-datatable .p-datatable-tfoot').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datatable .p-datatable-thead').exists()).toBe(true);
|
||||
|
||||
const headerRows = wrapper.findAll('.p-datatable-thead > tr');
|
||||
|
||||
|
@ -302,14 +302,14 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const sortableTH = wrapper.findAll('.p-sortable-column')[0];
|
||||
const sortableTH = wrapper.findAll('.p-datatable-sortable-column')[0];
|
||||
const firstCellText = wrapper.findAll('.p-datatable-tbody > tr')[0].findAll('td')[1].text();
|
||||
const headerClick = vi.spyOn(wrapper.vm, 'onColumnHeaderClick');
|
||||
|
||||
await sortableTH.trigger('click');
|
||||
|
||||
expect(headerClick).toHaveBeenCalled();
|
||||
expect(sortableTH.classes()).toContain('p-highlight');
|
||||
expect(sortableTH.classes()).toContain('p-datatable-column-sorted');
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr')[0].findAll('td')[1].text()).not.toEqual(firstCellText);
|
||||
expect(wrapper.emitted()['update:sortField'][0]).toEqual(['code']);
|
||||
expect(wrapper.emitted()['value-change'][0]).not.toBeNull();
|
||||
|
@ -335,7 +335,7 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const sortableTHs = wrapper.findAll('.p-sortable-column');
|
||||
const sortableTHs = wrapper.findAll('.p-datatable-sortable-column');
|
||||
const firstCellText = wrapper.findAll('.p-datatable-tbody > tr')[0].findAll('td')[1].text();
|
||||
const headerClick = vi.spyOn(wrapper.vm, 'onColumnHeaderClick');
|
||||
|
||||
|
@ -349,7 +349,7 @@ describe('DataTable.vue', () => {
|
|||
await sortableTHs[1].trigger('click');
|
||||
|
||||
expect(headerClick).toHaveBeenCalled();
|
||||
expect(sortableTHs[1].classes()).toContain('p-highlight');
|
||||
expect(sortableTHs[1].classes()).toContain('p-datatable-column-sorted');
|
||||
expect(wrapper.emitted()['update:multiSortMeta'][0]).toEqual([[{ field: 'code', order: 1 }]]);
|
||||
expect(wrapper.emitted()['update:multiSortMeta'][1]).toEqual([[{ field: 'name', order: 1 }]]);
|
||||
expect(wrapper.emitted()['value-change'][0]).not.toEqual(wrapper.emitted()['value-change'][1]);
|
||||
|
@ -377,10 +377,10 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const presortedTH = wrapper.findAll('.p-sortable-column')[0];
|
||||
const presortedTH = wrapper.findAll('.p-datatable-sortable-column')[0];
|
||||
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr')[0].findAll('td')[1].text()).not.toEqual('Game Controller');
|
||||
expect(presortedTH.classes()).toContain('p-highlight');
|
||||
expect(presortedTH.classes()).toContain('p-datatable-column-sorted');
|
||||
});
|
||||
|
||||
it('should remove sort', async () => {
|
||||
|
@ -403,7 +403,7 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const sortableTH = wrapper.findAll('.p-sortable-column')[0];
|
||||
const sortableTH = wrapper.findAll('.p-datatable-sortable-column')[0];
|
||||
const firstCellText = wrapper.findAll('.p-datatable-tbody > tr')[0].findAll('td')[1].text();
|
||||
|
||||
await sortableTH.trigger('click');
|
||||
|
@ -458,7 +458,7 @@ describe('DataTable.vue', () => {
|
|||
await wrapper.setProps({ selection: null, selectionMode: 'single' });
|
||||
|
||||
await wrapper.vm.onRowClick({
|
||||
originalEvent: { target: wrapper.findAll('tr.p-selectable-row')[0].element },
|
||||
originalEvent: { target: wrapper.findAll('tr.p-datatable-selectable-row')[0].element },
|
||||
data: smallData[0],
|
||||
index: 0
|
||||
});
|
||||
|
@ -472,13 +472,13 @@ describe('DataTable.vue', () => {
|
|||
await wrapper.setProps({ selection: null, selectionMode: 'multiple' });
|
||||
|
||||
await wrapper.vm.onRowClick({
|
||||
originalEvent: { shiftKey: true, target: wrapper.findAll('tr.p-selectable-row')[0].element },
|
||||
originalEvent: { shiftKey: true, target: wrapper.findAll('tr.p-datatable-selectable-row')[0].element },
|
||||
data: smallData[0],
|
||||
index: 0
|
||||
});
|
||||
|
||||
await wrapper.vm.onRowClick({
|
||||
originalEvent: { shiftKey: true, target: wrapper.findAll('tr.p-selectable-row')[1].element },
|
||||
originalEvent: { shiftKey: true, target: wrapper.findAll('tr.p-datatable-selectable-row')[1].element },
|
||||
data: smallData[1],
|
||||
index: 1
|
||||
});
|
||||
|
@ -492,13 +492,13 @@ describe('DataTable.vue', () => {
|
|||
await wrapper.setProps({ selection: null, selectionMode: 'multiple', metaKeySelection: false });
|
||||
|
||||
await wrapper.vm.onRowClick({
|
||||
originalEvent: { target: wrapper.findAll('tr.p-selectable-row')[0].element },
|
||||
originalEvent: { target: wrapper.findAll('.p-datatable-selectable-row')[0].element },
|
||||
data: smallData[0],
|
||||
index: 0
|
||||
});
|
||||
|
||||
await wrapper.vm.onRowClick({
|
||||
originalEvent: { target: wrapper.findAll('tr.p-selectable-row')[1].element },
|
||||
originalEvent: { target: wrapper.findAll('tr.p-datatable-selectable-row')[1].element },
|
||||
data: smallData[1],
|
||||
index: 1
|
||||
});
|
||||
|
@ -533,7 +533,7 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.findAll('td.p-selection-column').length).toBe(3);
|
||||
expect(wrapper.findAll('td[data-p-selection-column="true"]').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-radiobutton').length).toBe(3);
|
||||
|
||||
await wrapper.vm.toggleRowWithRadio({ originalEvent: {}, data: smallData[0], index: 0 });
|
||||
|
@ -646,7 +646,7 @@ describe('DataTable.vue', () => {
|
|||
it('should vertical scroll', async () => {
|
||||
await wrapper.setProps({ scrollable: true, scrollHeight: '100px' });
|
||||
|
||||
expect(wrapper.find('.p-datatable-wrapper').attributes().style).toBe('overflow: auto; max-height: 100px;');
|
||||
expect(wrapper.find('.p-datatable-table-container').attributes().style).toBe('overflow: auto; max-height: 100px;');
|
||||
});
|
||||
|
||||
it('should flex scrolling', async () => {
|
||||
|
@ -686,9 +686,9 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('th.p-frozen-column').exists()).toBe(true);
|
||||
expect(wrapper.find('th.p-datatable-frozen-column').exists()).toBe(true);
|
||||
// expect(wrapper.find('th.p-frozen-column').attributes().style).toBe('left: 0px;');
|
||||
expect(wrapper.findAll('td.p-frozen-column').length).toBe(3);
|
||||
expect(wrapper.findAll('td.p-datatable-frozen-column').length).toBe(3);
|
||||
// expect(wrapper.findAll('td.p-frozen-column')[0].attributes().style).toBe('left: 0px;');
|
||||
});
|
||||
|
||||
|
@ -696,7 +696,7 @@ describe('DataTable.vue', () => {
|
|||
|
||||
// row expansion
|
||||
it('should have row toggler', () => {
|
||||
expect(wrapper.findAll('.p-row-toggler').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-datatable-row-toggle-button').length).toBe(3);
|
||||
});
|
||||
|
||||
it('should expand a row', async () => {
|
||||
|
@ -752,14 +752,14 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.findAll('.p-editable-column').length).toBe(6);
|
||||
expect(wrapper.findAll('.p-row-editor-init').length).toBe(3);
|
||||
expect(wrapper.findAll('[data-p-editable-column="true"]').length).toBe(6);
|
||||
expect(wrapper.findAll('.p-datatable-row-editor-init').length).toBe(3);
|
||||
|
||||
await wrapper.vm.onRowEditInit({ data: smallData[0] });
|
||||
|
||||
expect(wrapper.emitted()['update:editingRows'][0][0]).toEqual([smallData[0]]);
|
||||
expect(wrapper.emitted()['row-edit-init'][0][0].data).toEqual(smallData[0]);
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr > td')[wrapper.findAll('.p-datatable-tbody > tr > td').length - 1].find('.p-row-editor-init').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr > td')[wrapper.findAll('.p-datatable-tbody > tr > td').length - 1].find('.p-datatable-row-editor-init').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should save row editing', async () => {
|
||||
|
@ -860,7 +860,7 @@ describe('DataTable.vue', () => {
|
|||
|
||||
expect(wrapper.find('.p-datatable.p-component').classes()).toContain('p-datatable-resizable');
|
||||
expect(wrapper.find('.p-datatable.p-component').classes()).toContain('p-datatable-resizable-fit');
|
||||
expect(wrapper.findAll('.p-column-resizer').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-datatable-column-resizer').length).toBe(2);
|
||||
});
|
||||
|
||||
it('should fit mode resize start', async () => {
|
||||
|
@ -884,12 +884,12 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const resizer = wrapper.findAll('.p-column-resizer')[0];
|
||||
const resizer = wrapper.findAll('.p-datatable-column-resizer')[0];
|
||||
|
||||
await wrapper.vm.onColumnResizeStart({ target: resizer.element });
|
||||
|
||||
expect(wrapper.componentVM.columnResizing).toBe(true);
|
||||
expect(wrapper.find('.p-column-resizer-helper').attributes().style).toContain('display: none;');
|
||||
expect(wrapper.find('.p-datatable-column-resize-indicator').attributes().style).toContain('display: none;');
|
||||
});
|
||||
|
||||
it('should fit mode resize', async () => {
|
||||
|
@ -915,7 +915,7 @@ describe('DataTable.vue', () => {
|
|||
|
||||
await wrapper.vm.onColumnResize({});
|
||||
|
||||
expect(wrapper.find('.p-column-resizer-helper').attributes().style).toContain('display: none; height: 0px; top: 0px;');
|
||||
expect(wrapper.find('.p-datatable-column-resize-indicator').attributes().style).toContain('display: none; height: 0px; top: 0px;');
|
||||
});
|
||||
|
||||
it('should fit mode column resize end', async () => {
|
||||
|
@ -939,13 +939,13 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const resizer = wrapper.findAll('.p-column-resizer')[0];
|
||||
const resizer = wrapper.findAll('.p-datatable-column-resizer')[0];
|
||||
|
||||
await wrapper.vm.onColumnResizeStart({ target: resizer.element });
|
||||
|
||||
await wrapper.vm.onColumnResizeEnd();
|
||||
|
||||
expect(wrapper.find('.p-column-resizer-helper').attributes().style).toContain('display: none;');
|
||||
expect(wrapper.find('.p-datatable-column-resize-indicator').attributes().style).toContain('display: none;');
|
||||
});
|
||||
|
||||
it('should expand mode resize start', async () => {
|
||||
|
@ -969,12 +969,12 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const resizer = wrapper.findAll('.p-column-resizer')[0];
|
||||
const resizer = wrapper.findAll('.p-datatable-column-resizer')[0];
|
||||
|
||||
await wrapper.vm.onColumnResizeStart({ target: resizer.element });
|
||||
|
||||
expect(wrapper.componentVM.columnResizing).toBe(true);
|
||||
expect(wrapper.find('.p-column-resizer-helper').attributes().style).toContain('display: none;');
|
||||
expect(wrapper.find('.p-datatable-column-resize-indicator').attributes().style).toContain('display: none;');
|
||||
});
|
||||
|
||||
it('should fit mode resize', async () => {
|
||||
|
@ -1000,7 +1000,7 @@ describe('DataTable.vue', () => {
|
|||
|
||||
await wrapper.vm.onColumnResize({});
|
||||
|
||||
expect(wrapper.find('.p-column-resizer-helper').attributes().style).toContain('display: none; height: 0px; top: 0px;');
|
||||
expect(wrapper.find('.p-datatable-column-resize-indicator').attributes().style).toContain('display: none; height: 0px; top: 0px;');
|
||||
});
|
||||
|
||||
it('should fit mode column resize end', async () => {
|
||||
|
@ -1024,21 +1024,21 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
const resizer = wrapper.findAll('.p-column-resizer')[0];
|
||||
const resizer = wrapper.findAll('.p-datatable-column-resizer')[0];
|
||||
|
||||
await wrapper.vm.onColumnResizeStart({ target: resizer.element });
|
||||
|
||||
await wrapper.vm.onColumnResizeEnd();
|
||||
|
||||
expect(wrapper.find('.p-column-resizer-helper').attributes().style).toContain('display: none;');
|
||||
expect(wrapper.find('.p-datatable-column-resize-indicator').attributes().style).toContain('display: none;');
|
||||
});
|
||||
|
||||
// column reorder
|
||||
it('should reorder columns', async () => {
|
||||
await wrapper.setProps({ reorderableColumns: true });
|
||||
|
||||
expect(wrapper.find('.p-datatable-reorder-indicator-up').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datatable-reorder-indicator-down').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datatable-row-reorder-indicator-up').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datatable-row-reorder-indicator-down').exists()).toBe(true);
|
||||
});
|
||||
|
||||
// row reorder
|
||||
|
@ -1062,7 +1062,7 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.findAll('.p-datatable-reorderablerow-handle').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-datatable-reorderable-row-handle').length).toBe(3);
|
||||
});
|
||||
|
||||
// row group
|
||||
|
@ -1095,8 +1095,8 @@ describe('DataTable.vue', () => {
|
|||
});
|
||||
|
||||
expect(wrapper.find('.p-datatable-tbody').attributes().role).toBe('rowgroup');
|
||||
expect(wrapper.findAll('.p-column-header-content').length).toBe(1);
|
||||
expect(wrapper.find('.p-column-header-content').text()).toBe('Code');
|
||||
expect(wrapper.findAll('.p-datatable-column-header-content').length).toBe(1);
|
||||
expect(wrapper.find('.p-datatable-column-header-content').text()).toBe('Code');
|
||||
});
|
||||
|
||||
it('should have groupheader templating', () => {
|
||||
|
@ -1126,8 +1126,8 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.findAll('.p-rowgroup-header').length).toBe(3);
|
||||
expect(wrapper.find('.p-rowgroup-header').text()).toBe('GroupHeader Templating');
|
||||
expect(wrapper.findAll('.p-datatable-row-group-header').length).toBe(3);
|
||||
expect(wrapper.find('.p-datatable-row-group-header').text()).toBe('GroupHeader Templating');
|
||||
});
|
||||
|
||||
it('should have groupfooter templating', () => {
|
||||
|
@ -1157,8 +1157,8 @@ describe('DataTable.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.findAll('.p-rowgroup-header').length).toBe(3);
|
||||
expect(wrapper.find('.p-rowgroup-footer').text()).toBe('GroupFooter Templating');
|
||||
expect(wrapper.findAll('.p-datatable-row-group-header').length).toBe(3);
|
||||
expect(wrapper.find('.p-datatable-row-group-footer').text()).toBe('GroupFooter Templating');
|
||||
});
|
||||
|
||||
it('should have expandable row groups and expand rows', async () => {
|
||||
|
@ -1275,10 +1275,10 @@ describe('DataTable.vue', () => {
|
|||
});
|
||||
|
||||
expect(wrapper.findAll('.p-datatable-thead > tr > th').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr.p-rowgroup-header').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr.p-rowgroup-header')[0].text()).toBe('Amy Elsner');
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr.p-datatable-row-group-header').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-datatable-tbody > tr.p-datatable-row-group-header')[0].text()).toBe('Amy Elsner');
|
||||
|
||||
const firstToggler = wrapper.findAll('.p-row-toggler')[0];
|
||||
const firstToggler = wrapper.findAll('.p-datatable-row-toggle-button')[0];
|
||||
|
||||
await firstToggler.trigger('click');
|
||||
|
||||
|
|
|
@ -14,23 +14,24 @@ describe('DatePicker.vue', () => {
|
|||
}
|
||||
},
|
||||
props: {
|
||||
modelValue: new Date()
|
||||
modelValue: ''
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('should exist', async () => {
|
||||
expect(wrapper.find('.p-datepicker.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inputtext').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datepicker-input').exists()).toBe(true);
|
||||
|
||||
let input = wrapper.find('.p-inputtext');
|
||||
let input = wrapper.find('.p-datepicker-input');
|
||||
|
||||
await input.trigger('focus');
|
||||
|
||||
expect(wrapper.find('.p-datepicker.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datepicker-today').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-highlight').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-highlight').text()).toEqual(new Date().getDate().toString());
|
||||
expect(wrapper.find('.p-datepicker-prev-button').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-datepicker-prev-next').exists()).toBe(false);
|
||||
expect(wrapper.find('.p-datepicker-today').text()).toEqual(new Date().getDate().toString());
|
||||
});
|
||||
|
||||
it('should select a date', async () => {
|
||||
|
|
|
@ -79,7 +79,7 @@ describe('closable', () => {
|
|||
|
||||
await wrapper.setProps({ visible: true });
|
||||
|
||||
const icon = wrapper.find('.p-dialog-header-close-icon');
|
||||
const icon = wrapper.find('.p-dialog-close-button .p-button-icon');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
@ -111,7 +111,7 @@ describe('maximizable', () => {
|
|||
await wrapper.setProps({ visible: true });
|
||||
await wrapper.setData({ maximized: false });
|
||||
|
||||
const icon = wrapper.find('.p-dialog-header-maximize-icon');
|
||||
const icon = wrapper.find('.p-dialog-maximize-button .p-button-icon');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
|
||||
|
|
|
@ -164,7 +164,7 @@ export default {
|
|||
},
|
||||
onLeave() {
|
||||
this.$emit('hide');
|
||||
DomHandler.focus(this.target);
|
||||
focus(this.target);
|
||||
this.target = null;
|
||||
this.focusableClose = null;
|
||||
this.focusableMax = null;
|
||||
|
|
|
@ -1,9 +1,17 @@
|
|||
import { addClass, removeClass } from '@primeuix/utils/dom';
|
||||
import { mount } from '@vue/test-utils';
|
||||
import PrimeVue from 'primevue/config';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import Drawer from './Drawer.vue';
|
||||
vi.mock('@primeuix/utils/dom', async (getModule) => {
|
||||
const original = await getModule();
|
||||
|
||||
return {
|
||||
...original,
|
||||
addClass: vi.fn(),
|
||||
removeClass: vi.fn()
|
||||
};
|
||||
});
|
||||
describe('Drawer.vue', () => {
|
||||
let wrapper;
|
||||
|
||||
|
@ -64,19 +72,17 @@ describe('Drawer.vue', () => {
|
|||
});
|
||||
|
||||
it('When keydown is triggered , hide method should be triggered', async () => {
|
||||
const hideSpy = vi.spyOn(wrapper.vm, 'hide');
|
||||
|
||||
await wrapper.vm.onKeydown({ code: 'Escape' });
|
||||
|
||||
expect(hideSpy).toHaveBeenCalled();
|
||||
expect(wrapper.emitted()['update:visible'].length).toBe(1);
|
||||
});
|
||||
|
||||
it('When keydown is triggered , hide method should be triggered', async () => {
|
||||
const hideSpy = vi.spyOn(wrapper.vm, 'hide');
|
||||
const closeBtn = wrapper.find('.p-drawer-close-button');
|
||||
|
||||
await wrapper.find('.p-drawer-close').trigger('click');
|
||||
await closeBtn.trigger('click');
|
||||
|
||||
expect(hideSpy).toHaveBeenCalled();
|
||||
expect(wrapper.emitted()['update:visible'].length).toBe(1);
|
||||
});
|
||||
|
||||
it('When component is unmount , unbindOutsideClickListenerSpy method should be triggered', async () => {
|
||||
|
@ -88,31 +94,11 @@ describe('Drawer.vue', () => {
|
|||
expect(Drawer.container).toBe(null);
|
||||
});
|
||||
|
||||
it('When hide is triggered , removeClass util should be called', async () => {
|
||||
const removeClassSpy = vi.spyOn(removeClass);
|
||||
|
||||
await wrapper.setProps({ blockScroll: true });
|
||||
wrapper.vm.disableDocumentSettings();
|
||||
|
||||
expect(removeClassSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When onEnter is triggered , addClass util should be called', async () => {
|
||||
const addClassSpy = vi.spyOn(addClass);
|
||||
|
||||
await wrapper.setProps({ blockScroll: true });
|
||||
wrapper.vm.enableDocumentSettings();
|
||||
|
||||
expect(addClassSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When onBeforeLeave is triggered , addClass util should be called', async () => {
|
||||
const addClassSpy = vi.spyOn(addClass);
|
||||
|
||||
await wrapper.setProps({ modal: true });
|
||||
wrapper.vm.onBeforeLeave();
|
||||
|
||||
expect(addClassSpy).toHaveBeenCalled();
|
||||
expect(addClass).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('When onAfterLeave is triggered , containerVisible should be false', async () => {
|
||||
|
|
|
@ -20,7 +20,8 @@ describe('Fieldset.vue', () => {
|
|||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-fieldset.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-fieldset-legend').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-toggleable-content').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-fieldset-toggle-button').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-fieldset-content-container').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('toggleable check', async () => {
|
||||
|
|
|
@ -48,17 +48,17 @@ describe('Gallleria.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-galleria.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-galleria-item-container > .p-galleria-item').length).toBe(1);
|
||||
expect(wrapper.findAll('.p-galleria-items > .p-galleria-item').length).toBe(1);
|
||||
expect(wrapper.findAll('.p-galleria-thumbnail-item-active').length).toBe(2);
|
||||
});
|
||||
|
||||
it('should active item change', async () => {
|
||||
expect(wrapper.find('.p-galleria-item-container img').attributes().alt).toBe('Description for Image 1');
|
||||
expect(wrapper.find('.p-galleria-items-container img').attributes().alt).toBe('Description for Image 1');
|
||||
|
||||
wrapper.vm.onActiveItemChange(1);
|
||||
await wrapper.setProps({ activeIndex: 1 });
|
||||
|
||||
expect(wrapper.find('.p-galleria-item-container img').attributes().alt).toBe('Description for Image 2');
|
||||
expect(wrapper.find('.p-galleria-items-container img').attributes().alt).toBe('Description for Image 2');
|
||||
expect(wrapper.emitted()['update:activeIndex'][0]).toEqual([1]);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -34,9 +34,9 @@ describe('Image.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-image-preview-container').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-image-preview-indicator').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-image-mask').exists()).toBe(false);
|
||||
expect(wrapper.find('.p-image-preview').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-image-toolbar').exists()).toBe(false);
|
||||
expect(wrapper.find('.p-image-preview-mask').exists()).toBe(true);
|
||||
|
||||
await wrapper.setData({ maskVisible: true });
|
||||
|
||||
|
|
|
@ -35,56 +35,4 @@ describe('Inplace.vue', () => {
|
|||
|
||||
expect(wrapper.emitted()['update:active'][1]).toEqual([false]);
|
||||
});
|
||||
|
||||
it('closable inplace', async () => {
|
||||
const wrapper = mount(Inplace, {
|
||||
global: {
|
||||
components: {
|
||||
InputText
|
||||
}
|
||||
},
|
||||
props: {
|
||||
closable: true
|
||||
},
|
||||
slots: {
|
||||
display: `{{'Click to Edit'}}`,
|
||||
content: `<InputText autofocus />`
|
||||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-inplace-closable').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inplace-display').text()).toBe('Click to Edit');
|
||||
|
||||
await wrapper.vm.open({});
|
||||
|
||||
expect(wrapper.find('.p-inputtext').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inplace-content').exists()).toBe(true);
|
||||
|
||||
await wrapper.vm.close({});
|
||||
|
||||
expect(wrapper.find('.p-inplace-display').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inplace-content').exists()).toBe(false);
|
||||
});
|
||||
|
||||
it('should have custom close icon', async () => {
|
||||
const wrapper = mount(Inplace, {
|
||||
global: {
|
||||
components: {
|
||||
InputText
|
||||
}
|
||||
},
|
||||
props: {
|
||||
closable: true,
|
||||
closeIcon: 'pi pi-discord'
|
||||
},
|
||||
slots: {
|
||||
display: `{{'Click to Edit'}}`,
|
||||
content: `<InputText autofocus />`
|
||||
}
|
||||
});
|
||||
|
||||
await wrapper.vm.open({});
|
||||
|
||||
expect(wrapper.find('.pi.pi-discord').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -14,8 +14,8 @@ describe('InputChips.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-inputchips.p-component.p-inputwrapper').exists()).toBe(true);
|
||||
expect(wrapper.find('ul.p-inputchips-multiple-container').exists()).toBe(true);
|
||||
expect(wrapper.find('li.p-inputchips-input-token').exists()).toBe(true);
|
||||
expect(wrapper.find('ul.p-inputwrapper-filled').exists()).toBe(false);
|
||||
expect(wrapper.find('li.p-inputchips-input-item').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should add item', async () => {
|
||||
|
@ -26,18 +26,18 @@ describe('InputChips.vue', () => {
|
|||
await wrapper.setProps({ modelValue: ['PrimeVue'] });
|
||||
|
||||
expect(addItem).toHaveBeenCalled();
|
||||
expect(wrapper.findAll('.p-inputchips-token').length).toBe(1);
|
||||
expect(wrapper.find('.p-inputchips-token-label').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inputchips-token-label').text()).toBe('PrimeVue');
|
||||
expect(wrapper.findAll('.p-chip').length).toBe(1);
|
||||
expect(wrapper.find('.p-chip-label').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-chip-label').text()).toBe('PrimeVue');
|
||||
});
|
||||
|
||||
it('should have correct custom chip removal icon', async () => {
|
||||
await wrapper.setProps({
|
||||
modelValue: ['foo', 'bar'],
|
||||
removeTokenIcon: 'pi pi-discord'
|
||||
chipIcon: 'pi pi-discord'
|
||||
});
|
||||
|
||||
const icon = wrapper.find('.p-inputchips-token-icon');
|
||||
const icon = wrapper.find('[data-pc-section="removeicon"]');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
|
|
@ -44,7 +44,7 @@ describe('InputNumber.vue', () => {
|
|||
it('is keypress called when pressed a number', async () => {
|
||||
wrapper.find('input.p-inputnumber-input').element.setSelectionRange(2, 2);
|
||||
|
||||
await wrapper.vm.onInputKeyPress({ which: 49, preventDefault: () => {} });
|
||||
await wrapper.vm.onInputKeyPress({ key: '1', preventDefault: () => {} });
|
||||
|
||||
expect(wrapper.emitted().input[0][0].value).toBe(11);
|
||||
});
|
||||
|
@ -52,7 +52,7 @@ describe('InputNumber.vue', () => {
|
|||
it('is keypress called when pressed minus', async () => {
|
||||
wrapper.find('input.p-inputnumber-input').element.setSelectionRange(0, 0);
|
||||
|
||||
await wrapper.vm.onInputKeyPress({ keyCode: 45, preventDefault: () => {} });
|
||||
await wrapper.vm.onInputKeyPress({ key: '-', preventDefault: () => {} });
|
||||
|
||||
expect(wrapper.emitted().input[0][0].value).toBe(-1);
|
||||
});
|
||||
|
|
|
@ -5,8 +5,8 @@ describe('InputSwitch.vue', () => {
|
|||
it('should exist', async () => {
|
||||
const wrapper = mount(InputSwitch);
|
||||
|
||||
expect(wrapper.find('.p-inputswitch.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inputswitch-slider').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-toggleswitch.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-toggleswitch-slider').exists()).toBe(true);
|
||||
|
||||
await wrapper.vm.onChange({});
|
||||
|
||||
|
@ -15,6 +15,6 @@ describe('InputSwitch.vue', () => {
|
|||
await wrapper.setProps({ modelValue: true });
|
||||
|
||||
expect(wrapper.vm.checked).toBe(true);
|
||||
expect(wrapper.find('.p-inputswitch').classes()).toContain('p-highlight');
|
||||
expect(wrapper.find('.p-toggleswitch').classes()).toContain('p-toggleswitch-checked');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -22,8 +22,8 @@ describe('Listbox.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-listbox.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('li.p-listbox-item').length).toBe(5);
|
||||
expect(wrapper.findAll('li.p-listbox-item')[0].attributes()['aria-label']).toBe('New York');
|
||||
expect(wrapper.findAll('li.p-listbox-option').length).toBe(5);
|
||||
expect(wrapper.findAll('li.p-listbox-option')[0].attributes()['aria-label']).toBe('New York');
|
||||
});
|
||||
|
||||
it('should select a list item', async () => {
|
||||
|
@ -33,7 +33,7 @@ describe('Listbox.vue', () => {
|
|||
|
||||
await wrapper.setProps({ modelValue: wrapper.vm.options[0] });
|
||||
|
||||
expect(wrapper.findAll('li.p-listbox-item')[0].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('li.p-listbox-option')[0].classes()).toContain('p-listbox-option-selected');
|
||||
});
|
||||
|
||||
describe('filter', () => {
|
||||
|
@ -43,7 +43,7 @@ describe('Listbox.vue', () => {
|
|||
filterIcon: 'pi pi-discord'
|
||||
});
|
||||
|
||||
const icon = wrapper.find('.p-listbox-filter-icon');
|
||||
const icon = wrapper.find('.p-inputicon [data-pc-section="filtericon"]');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
|
|
@ -60,28 +60,28 @@ describe('MegaMenu.vue', () => {
|
|||
expect(wrapper.find('.p-megamenu.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-megamenu-root-list').exists()).toBe(true);
|
||||
expect(wrapper.findAll('ul.p-megamenu-submenu').length).toBe(5);
|
||||
expect(wrapper.findAll('li.p-menuitem').length).toBe(12);
|
||||
expect(wrapper.findAll('li.p-menuitem')[0].findAll('span.p-menuitem-text')[0].text()).toBe('Videos');
|
||||
expect(wrapper.findAll('li.p-megamenu-submenu-header')[0].text()).toBe('Video 1');
|
||||
expect(wrapper.findAll('li.p-menuitem')[1].findAll('span.p-menuitem-text')[0].text()).toBe('Video 1.1');
|
||||
expect(wrapper.findAll('li.p-megamenu-item').length).toBe(12);
|
||||
expect(wrapper.findAll('li.p-megamenu-item')[0].findAll('span.p-megamenu-item-label')[0].text()).toBe('Videos');
|
||||
expect(wrapper.findAll('li.p-megamenu-submenu-label')[0].text()).toBe('Video 1');
|
||||
expect(wrapper.findAll('li.p-megamenu-item')[1].findAll('span.p-megamenu-item-label')[0].text()).toBe('Video 1.1');
|
||||
});
|
||||
|
||||
it('should select item', async () => {
|
||||
const firstItem = wrapper.findAll('li.p-menuitem')[0];
|
||||
const firstItem = wrapper.findAll('li.p-megamenu-item')[0];
|
||||
|
||||
await firstItem.find('.p-menuitem-content').trigger('click');
|
||||
await firstItem.find('.p-megamenu-item-content').trigger('click');
|
||||
|
||||
expect(firstItem.classes()).toContain('p-menuitem-active');
|
||||
expect(firstItem.classes()).toContain('p-megamenu-item-active');
|
||||
});
|
||||
|
||||
it('should deselect item', async () => {
|
||||
const firstItem = wrapper.findAll('li.p-menuitem')[0];
|
||||
const firstItemContent = firstItem.find('.p-menuitem-content');
|
||||
const firstItem = wrapper.findAll('li.p-megamenu-item')[0];
|
||||
const firstItemContent = firstItem.find('.p-megamenu-item-content');
|
||||
|
||||
await firstItemContent.trigger('click');
|
||||
await firstItemContent.trigger('click');
|
||||
|
||||
expect(firstItem.classes()).not.toContain('p-menuitem-active');
|
||||
expect(firstItem.classes()).not.toContain('p-megamenu-item-active');
|
||||
});
|
||||
|
||||
it('should orientation work', async () => {
|
||||
|
|
|
@ -57,11 +57,11 @@ describe('Menu.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-menu.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-submenu-header').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-submenu-header')[0].text()).toBe('Options');
|
||||
expect(wrapper.findAll('.p-menuitem').length).toBe(4);
|
||||
expect(wrapper.findAll('.p-menuitem')[0].find('span.p-menuitem-text').text()).toBe('Update');
|
||||
expect(wrapper.findAll('.p-menuitem')[2].find('a').attributes().href).toBe('https://vuejs.org/');
|
||||
expect(wrapper.findAll('.p-menu-submenu-label').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-menu-submenu-label')[0].text()).toBe('Options');
|
||||
expect(wrapper.findAll('.p-menu-item').length).toBe(4);
|
||||
expect(wrapper.findAll('.p-menu-item')[0].find('span.p-menu-item-label').text()).toBe('Update');
|
||||
expect(wrapper.findAll('.p-menu-item')[2].find('a').attributes().href).toBe('https://vuejs.org/');
|
||||
});
|
||||
|
||||
it('should popup work', async () => {
|
||||
|
|
|
@ -60,10 +60,10 @@ describe('Menubar.vue', () => {
|
|||
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-menuitem-separator').length).toBe(1);
|
||||
expect(wrapper.findAll('ul.p-menubar-submenu').length).toBe(2);
|
||||
expect(wrapper.findAll('ul.p-menubar-submenu')[0].findAll('li.p-menubar-item')[0].find('.p-menubar-item-label').text()).toBe('New');
|
||||
expect(wrapper.findAll('li.p-menubar-item').length).toBe(7);
|
||||
expect(wrapper.findAll('li.p-menubar-separator').length).toBe(1);
|
||||
});
|
||||
|
||||
it('should slot visible', () => {
|
||||
|
|
|
@ -29,7 +29,7 @@ describe('Message.vue', () => {
|
|||
});
|
||||
|
||||
it('should have custom close icon if provided', async () => {
|
||||
await wrapper.setProps({ closeIcon: 'pi pi-discord' });
|
||||
await wrapper.setProps({ closeIcon: 'pi pi-discord', closable: true });
|
||||
const icon = wrapper.find('.p-message-close-icon');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
|
|
|
@ -36,9 +36,9 @@ describe('MultiSelect.vue', () => {
|
|||
|
||||
await wrapper.vm.onContainerClick();
|
||||
|
||||
expect(wrapper.findAll('li.p-multiselect-item').length).toBe(5);
|
||||
expect(wrapper.findAll('li.p-multiselect-item')[0].attributes()['aria-label']).toBe('New York');
|
||||
expect(wrapper.findAll('li.p-multiselect-item')[0].text()).toBe('New York');
|
||||
expect(wrapper.findAll('li.p-multiselect-option').length).toBe(5);
|
||||
expect(wrapper.findAll('li.p-multiselect-option')[0].attributes()['aria-label']).toBe('New York');
|
||||
expect(wrapper.findAll('li.p-multiselect-option')[0].text()).toBe('New York');
|
||||
});
|
||||
|
||||
it('should select an item', async () => {
|
||||
|
@ -49,7 +49,7 @@ describe('MultiSelect.vue', () => {
|
|||
await wrapper.setProps({ modelValue: [wrapper.vm.options[0]] });
|
||||
await wrapper.vm.onContainerClick();
|
||||
|
||||
expect(wrapper.findAll('li.p-multiselect-item')[0].attributes()['data-p-selected']).toBe('true');
|
||||
expect(wrapper.findAll('li.p-multiselect-option')[0].attributes()['data-p-selected']).toBe('true');
|
||||
expect(wrapper.find('.p-multiselect-label').text()).toBe('New York');
|
||||
});
|
||||
|
||||
|
@ -63,14 +63,8 @@ describe('MultiSelect.vue', () => {
|
|||
await wrapper.setProps({ modelValue: [wrapper.vm.options[0], wrapper.vm.options[1]] });
|
||||
await wrapper.vm.onContainerClick();
|
||||
|
||||
expect(wrapper.findAll('li.p-multiselect-item')[0].attributes()['data-p-selected']).toBe('true');
|
||||
expect(wrapper.findAll('li.p-multiselect-item')[1].attributes()['data-p-selected']).toBe('true');
|
||||
});
|
||||
|
||||
it('should close panel', async () => {
|
||||
await wrapper.vm.onCloseClick();
|
||||
|
||||
expect(wrapper.find('.p-multiselect-panel').exists()).toBe(false);
|
||||
expect(wrapper.findAll('li.p-multiselect-option')[0].attributes()['data-p-selected']).toBe('true');
|
||||
expect(wrapper.findAll('li.p-multiselect-option')[1].attributes()['data-p-selected']).toBe('true');
|
||||
});
|
||||
|
||||
it('should chip work', async () => {
|
||||
|
@ -79,8 +73,8 @@ describe('MultiSelect.vue', () => {
|
|||
modelValue: [wrapper.vm.options[0]]
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-multiselect-token').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-multiselect-token-label').text()).toBe('New York');
|
||||
expect(wrapper.find('.p-chip.p-multiselect-chip').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-chip.p-multiselect-chip > .p-chip-label').text()).toBe('New York');
|
||||
});
|
||||
|
||||
describe('custom icons', () => {
|
||||
|
@ -91,7 +85,7 @@ describe('MultiSelect.vue', () => {
|
|||
removeTokenIcon: 'pi pi-discord'
|
||||
});
|
||||
|
||||
const icon = wrapper.find('.p-multiselect-token-icon');
|
||||
const icon = wrapper.find('.p-chip-remove-icon');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
@ -101,7 +95,7 @@ describe('MultiSelect.vue', () => {
|
|||
dropdownIcon: 'pi pi-discord'
|
||||
});
|
||||
|
||||
const icon = wrapper.find('.p-multiselect-trigger-icon');
|
||||
const icon = wrapper.find('.p-multiselect-dropdown [data-pc-section="dropdownicon"]');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
@ -114,19 +108,7 @@ describe('MultiSelect.vue', () => {
|
|||
|
||||
await wrapper.vm.onContainerClick();
|
||||
|
||||
const icon = wrapper.find('.p-multiselect-filter-icon');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
||||
it('should have custom close icon', async () => {
|
||||
await wrapper.setProps({
|
||||
closeIcon: 'pi pi-discord'
|
||||
});
|
||||
|
||||
await wrapper.vm.onContainerClick();
|
||||
|
||||
const icon = wrapper.find('.p-multiselect-close-icon');
|
||||
const icon = wrapper.find('.p-multiselect-filter-container [data-pc-section="filtericon"]');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
@ -191,7 +173,7 @@ describe('MultiSelect.vue', () => {
|
|||
});
|
||||
|
||||
await wrapper.vm.onContainerClick();
|
||||
expect(wrapper.find('.p-multiselect-item-group').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-multiselect-option-group').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should show emit the filter event when filter text is entered', async () => {
|
||||
|
@ -227,8 +209,8 @@ describe('MultiSelect.vue', () => {
|
|||
input.value = 'Ber';
|
||||
|
||||
await wrapper.vm.onFilterChange({ target: input });
|
||||
expect(wrapper.findAll('.p-multiselect-item-group').length).toBe(1);
|
||||
expect(wrapper.find('.p-multiselect-item-group').text()).toBe('Germany');
|
||||
expect(wrapper.findAll('.p-multiselect-list').length).toBe(1);
|
||||
expect(wrapper.find('.p-multiselect-option-group').text()).toBe('Germany');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -113,21 +113,21 @@ describe('OrderList.vue', () => {
|
|||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-orderlist.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-orderlist-controls').exists()).toBe(true);
|
||||
expect(wrapper.findAll('li.p-orderlist-item').length).toBe(6);
|
||||
expect(wrapper.findAll('li.p-listbox-option').length).toBe(6);
|
||||
});
|
||||
|
||||
it('should select item', async () => {
|
||||
await wrapper.vm.onItemClick({}, wrapper.vm.modelValue[0], 0);
|
||||
const listBoxOption = wrapper.find('li.p-listbox-option');
|
||||
|
||||
expect(wrapper.emitted()['update:selection'][0]).toEqual([[wrapper.vm.modelValue[0]]]);
|
||||
expect(listBoxOption.classes()).not.toContain('p-listbox-option-selected');
|
||||
|
||||
await wrapper.setProps({ selection: [wrapper.vm.modelValue[0]] });
|
||||
await listBoxOption.trigger('click');
|
||||
|
||||
expect(wrapper.findAll('li.p-orderlist-item')[0].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('li.p-listbox-option')[0].classes()).toContain('p-listbox-option-selected');
|
||||
});
|
||||
|
||||
it('should slot works', () => {
|
||||
expect(wrapper.find('.p-orderlist-header').text()).toBe('List of Products');
|
||||
expect(wrapper.find('.p-listbox-header').text()).toBe('List of Products');
|
||||
expect(wrapper.findAll('.product-item').length).toBe(6);
|
||||
});
|
||||
|
||||
|
@ -135,7 +135,7 @@ describe('OrderList.vue', () => {
|
|||
await wrapper.setProps({ selection: [wrapper.vm.modelValue[2]] });
|
||||
await wrapper.setData({ d_selection: [wrapper.vm.modelValue[2]] });
|
||||
|
||||
expect(wrapper.findAll('li.p-orderlist-item')[2].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('li.p-listbox-option')[2].classes()).toContain('p-listbox-option-selected');
|
||||
|
||||
await wrapper.vm.moveUp({});
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ describe('OrganizationChart.vue', () => {
|
|||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-organizationchart.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('table.p-organizationchart-table').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-node-toggler-icon').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-organizationchart-node-toggle-button').length).toBe(5);
|
||||
});
|
||||
|
||||
it('should collapsed and expand', async () => {
|
||||
|
@ -141,7 +141,7 @@ describe('OrganizationChart.vue', () => {
|
|||
});
|
||||
|
||||
it('should item select and unselect', async () => {
|
||||
const contents = wrapper.findAll('.p-organizationchart-node-content');
|
||||
const contents = wrapper.findAll('.p-organizationchart-node.p-organizationchart-node-selectable');
|
||||
|
||||
await wrapper.vm.onNodeClick(wrapper.vm.value);
|
||||
|
||||
|
@ -150,7 +150,7 @@ describe('OrganizationChart.vue', () => {
|
|||
|
||||
await wrapper.setProps({ selectionKeys: { 0: true } });
|
||||
|
||||
expect(contents[0].classes()).toContain('p-highlight');
|
||||
expect(contents[0].classes()).toContain('p-organizationchart-node-selected');
|
||||
|
||||
await wrapper.vm.onNodeClick(wrapper.vm.value);
|
||||
|
||||
|
|
|
@ -20,9 +20,9 @@ describe('Paginator.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-paginator.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-paginator-page.p-paginator-element').length).toBe(5);
|
||||
expect(wrapper.find('.p-dropdown.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-dropdown-label').text()).toBe('10');
|
||||
expect(wrapper.findAll('.p-paginator-page').length).toBe(5);
|
||||
expect(wrapper.find('.p-select.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-label').text()).toBe('10');
|
||||
expect(wrapper.find('.p-paginator-first').classes()).toContain('p-disabled');
|
||||
expect(wrapper.find('.p-paginator-prev').classes()).toContain('p-disabled');
|
||||
expect(wrapper.vm.pageCount).toBe(12);
|
||||
|
@ -31,8 +31,8 @@ describe('Paginator.vue', () => {
|
|||
it('show jump to the end', async () => {
|
||||
await wrapper.vm.changePageToLast({ preventDefault: () => {} });
|
||||
|
||||
expect(wrapper.findAll('.p-paginator-page.p-paginator-element')[4].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('.p-paginator-page.p-paginator-element')[4].text()).toBe('12');
|
||||
expect(wrapper.findAll('.p-paginator-page')[4].classes()).toContain('p-paginator-page-selected');
|
||||
expect(wrapper.findAll('.p-paginator-page')[4].text()).toBe('12');
|
||||
expect(wrapper.find('.p-paginator-next').classes()).toContain('p-disabled');
|
||||
expect(wrapper.find('.p-paginator-last').classes()).toContain('p-disabled');
|
||||
});
|
||||
|
@ -46,6 +46,6 @@ describe('Paginator.vue', () => {
|
|||
|
||||
await wrapper.setProps({ rows: 20 });
|
||||
|
||||
expect(wrapper.find('.p-dropdown-label').text()).toBe('20');
|
||||
expect(wrapper.find('.p-select-label').text()).toBe('20');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -61,9 +61,9 @@ describe('PanelMenu', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-panelmenu.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-menuitem').length).toBe(6);
|
||||
expect(wrapper.findAll('.p-toggleable-content').length).toBe(7);
|
||||
expect(wrapper.findAll('.p-submenu-list').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-panelmenu-item').length).toBe(6);
|
||||
expect(wrapper.findAll('.p-panelmenu-item-content').length).toBe(6);
|
||||
expect(wrapper.findAll('.p-panelmenu-submenu').length).toBe(3);
|
||||
});
|
||||
|
||||
it('should update expandedKeys', async () => {
|
||||
|
|
|
@ -22,7 +22,7 @@ describe('Password.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-password.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-password-panel').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-password-overlay').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should update modelValue', async () => {
|
||||
|
@ -32,23 +32,24 @@ describe('Password.vue', () => {
|
|||
});
|
||||
|
||||
it('should meter update', async () => {
|
||||
expect(wrapper.find('.p-password-info').text()).toBe('Enter a password');
|
||||
expect(wrapper.find('.p-password-content [data-pc-section="info"]').text()).toBe('Enter a password');
|
||||
|
||||
await wrapper.vm.onKeyUp(event);
|
||||
|
||||
expect(wrapper.find('.p-password-info').text()).toBe('Weak');
|
||||
expect(wrapper.find('.p-password-content [data-pc-section="info"]').text()).toBe('Weak');
|
||||
|
||||
expect(wrapper.find('.p-password-strength').classes()).toContain('weak');
|
||||
expect(wrapper.find('.p-password-meter-label').classes()).toContain('p-password-meter-weak');
|
||||
});
|
||||
|
||||
it('should toggle mask', async () => {
|
||||
await wrapper.setProps({ toggleMask: true, showIcon: 'pi pi-eye', hideIcon: 'pi pi-eye-slash' });
|
||||
await wrapper.setProps({ toggleMask: true });
|
||||
|
||||
expect(wrapper.find('.pi.pi-eye').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-password-toggle-mask-icon.p-password-unmask-icon').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-password-toggle-mask-icon.p-password-mask-icon').exists()).toBe(false);
|
||||
|
||||
await wrapper.vm.onMaskToggle();
|
||||
|
||||
expect(wrapper.find('.pi.pi-eye').exists()).toBe(false);
|
||||
expect(wrapper.find('.pi.pi-eye-slash').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-password-toggle-mask-icon.p-password-unmask-icon').exists()).toBe(false);
|
||||
expect(wrapper.find('.p-password-toggle-mask-icon.p-password-mask-icon').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -47,13 +47,13 @@ describe('PickList.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-picklist.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-picklist-list-wrapper.p-picklist-source-wrapper').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-picklist-list-wrapper.p-picklist-target-wrapper').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-picklist-list-container.p-picklist-source-list-container').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-picklist-list-container.p-picklist-target-list-container').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should slots work', () => {
|
||||
expect(wrapper.find('.p-picklist-source-wrapper > .p-picklist-header').text()).toBe('Available');
|
||||
expect(wrapper.find('.p-picklist-target-wrapper > .p-picklist-header').text()).toBe('Selected');
|
||||
expect(wrapper.find('.p-picklist-source-list-container .p-listbox-header').text()).toBe('Available');
|
||||
expect(wrapper.find('.p-picklist-target-list-container .p-listbox-header').text()).toBe('Selected');
|
||||
});
|
||||
|
||||
it('should update sourceList and targetList', async () => {
|
||||
|
@ -95,15 +95,20 @@ describe('PickList.vue', () => {
|
|||
});
|
||||
|
||||
it('should select an item from source list', async () => {
|
||||
await wrapper.vm.onItemClick({}, wrapper.vm.modelValue[0][0], 0, 0);
|
||||
const sourceListItem = wrapper.find('.p-picklist-source-list-container .p-listbox-option');
|
||||
|
||||
expect(sourceListItem.classes()).not.toContain('p-listbox-option-selected');
|
||||
|
||||
await sourceListItem.trigger('click');
|
||||
|
||||
expect(sourceListItem.classes()).toContain('p-listbox-option-selected');
|
||||
expect(wrapper.emitted()['update:selection'][0][0]).toEqual([[wrapper.vm.modelValue[0][0]], []]);
|
||||
});
|
||||
|
||||
it('should dblclick an item from source list', async () => {
|
||||
await wrapper.setProps({ selection: [[wrapper.vm.modelValue[0][0]], []] });
|
||||
|
||||
await wrapper.vm.onItemDblClick({}, wrapper.vm.modelValue[0][0], 0);
|
||||
wrapper.vm.onItemDblClick({}, 0);
|
||||
|
||||
expect(wrapper.emitted()['update:modelValue'][0][0][1]).toEqual([wrapper.vm.modelValue[0][0]]);
|
||||
expect(wrapper.emitted()['move-to-target'][0]).toEqual([{ originalEvent: {}, items: [wrapper.vm.modelValue[0][0]] }]);
|
||||
|
|
|
@ -13,9 +13,6 @@ describe('Popover.vue', () => {
|
|||
teleport: true
|
||||
}
|
||||
},
|
||||
props: {
|
||||
showCloseIcon: true
|
||||
},
|
||||
slots: {
|
||||
default: 'PrimeVue'
|
||||
}
|
||||
|
@ -28,6 +25,5 @@ describe('Popover.vue', () => {
|
|||
expect(wrapper.find('.p-popover.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-popover-content').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-popover-content').text()).toBe('PrimeVue');
|
||||
expect(wrapper.find('.p-popover-close').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -15,10 +15,10 @@ describe('ProgressSpinner.vue', () => {
|
|||
});
|
||||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-progress-spinner').exists()).toBe(true);
|
||||
expect(wrapper.find('svg.p-progress-spinner-svg').exists()).toBe(true);
|
||||
expect(wrapper.find('svg.p-progress-spinner-svg').attributes().style).toBe('animation-duration: .5s;');
|
||||
expect(wrapper.find('circle.p-progress-spinner-circle').attributes().fill).toBe('green');
|
||||
expect(wrapper.find('circle.p-progress-spinner-circle').attributes().strokeMiterlimit).toBe('10');
|
||||
expect(wrapper.find('.p-progressspinner').exists()).toBe(true);
|
||||
expect(wrapper.find('svg.p-progressspinner-spin').exists()).toBe(true);
|
||||
expect(wrapper.find('svg.p-progressspinner-spin').attributes().style).toBe('animation-duration: .5s;');
|
||||
expect(wrapper.find('circle.p-progressspinner-circle').attributes().fill).toBe('green');
|
||||
expect(wrapper.find('circle.p-progressspinner-circle').attributes().strokeMiterlimit).toBe('10');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -43,7 +43,7 @@ describe('RadioButton.vue', () => {
|
|||
await wrapper.setProps({ modelValue: 'Tatooine' });
|
||||
|
||||
expect(wrapper.vm.checked).toBe(true);
|
||||
expect(wrapper.find('.p-radiobutton').classes()).toContain('p-highlight');
|
||||
expect(wrapper.find('.p-radiobutton').classes()).toContain('p-radiobutton-checked');
|
||||
});
|
||||
|
||||
it('When component focused onFocus method should be called', async () => {
|
||||
|
|
|
@ -29,7 +29,7 @@ describe('Rating.vue', () => {
|
|||
});
|
||||
|
||||
it('When star is clicked, onOptionClick method should triggered', async () => {
|
||||
await wrapper.find('.p-rating-item').trigger('click');
|
||||
await wrapper.find('.p-rating-option').trigger('click');
|
||||
|
||||
expect(wrapper.find('[data-p-focused="true"]').exists()).toBe(true);
|
||||
});
|
||||
|
|
|
@ -21,7 +21,7 @@ describe('Select.vue', () => {
|
|||
|
||||
it('should Select exist', () => {
|
||||
expect(wrapper.find('.p-select.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-panel').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-overlay').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-empty-message').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-inputwrapper-filled').exists()).toBe(false);
|
||||
expect(wrapper.find('.p-inputwrapper-focus').exists()).toBe(true);
|
||||
|
@ -58,10 +58,10 @@ describe('option checks', () => {
|
|||
|
||||
it('should show the options', () => {
|
||||
expect(wrapper.find('.p-select-label.p-placeholder').text()).toBe('Select a City');
|
||||
expect(wrapper.find('.p-select-items-wrapper > .p-select-items').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-item').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-select-item').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-select-item')[0].text()).toBe('New York');
|
||||
expect(wrapper.find('.p-select-list-container > .p-select-list').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-option').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-select-option').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-select-option')[0].text()).toBe('New York');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -78,8 +78,15 @@ describe('clear checks', () => {
|
|||
},
|
||||
props: {
|
||||
clearIcon: 'pi pi-discord',
|
||||
modelValue: 'value',
|
||||
showClear: true
|
||||
modelValue: { name: 'New York', code: 'NY' },
|
||||
showClear: true,
|
||||
options: [
|
||||
{ name: 'New York', code: 'NY' },
|
||||
{ name: 'Rome', code: 'RM' },
|
||||
{ name: 'London', code: 'LDN' },
|
||||
{ name: 'Istanbul', code: 'IST' },
|
||||
{ name: 'Paris', code: 'PRS' }
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -122,7 +129,7 @@ describe('editable checks', () => {
|
|||
|
||||
it('should show the options', () => {
|
||||
expect(wrapper.find('.p-select-label.p-placeholder').exists()).toBe(false);
|
||||
expect(wrapper.find('.p-select-label.p-inputtext').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-select-label[type="text"]').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -180,8 +187,8 @@ describe('option groups checks', () => {
|
|||
});
|
||||
|
||||
it('should show the option groups', () => {
|
||||
expect(wrapper.findAll('.p-select-item-group').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-select-item-group')[0].text()).toBe('Germany');
|
||||
expect(wrapper.findAll('.p-select-option-group').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-select-option-group')[0].text()).toBe('Germany');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -298,11 +305,11 @@ describe('loader checks', () => {
|
|||
});
|
||||
|
||||
it('should show the loader', async () => {
|
||||
expect(wrapper.find('.p-select-trigger-icon').classes()).toContain('pi-discord');
|
||||
expect(wrapper.find('.p-select-loading-icon').classes()).toContain('pi-discord');
|
||||
|
||||
await wrapper.setProps({ loading: false });
|
||||
|
||||
expect(wrapper.find('.p-select-trigger-icon').classes()).not.toContain('pi-discord');
|
||||
expect(wrapper.find('.p-select-loading-icon').exists()).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -341,7 +348,7 @@ describe('filter checks', () => {
|
|||
|
||||
it('should make filtering', async () => {
|
||||
const filterInput = wrapper.find('.p-select-filter');
|
||||
const filterIcon = wrapper.find('.p-select-filter-icon');
|
||||
const filterIcon = wrapper.find('[data-pc-section="filtericon"]');
|
||||
|
||||
expect(filterInput.exists()).toBe(true);
|
||||
expect(filterIcon.classes()).toContain('pi-discord');
|
||||
|
@ -356,6 +363,6 @@ describe('filter checks', () => {
|
|||
|
||||
await wrapper.setData({ filterValue: 'c' });
|
||||
|
||||
expect(wrapper.findAll('.p-select-item').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-select-option').length).toBe(2);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -15,7 +15,7 @@ describe('SelectButton.vue', () => {
|
|||
|
||||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-selectbutton.p-component').exists()).toBe(true);
|
||||
expect(wrapper.findAll('.p-button.p-component').length).toBe(2);
|
||||
expect(wrapper.findAll('.p-togglebutton.p-component').length).toBe(2);
|
||||
});
|
||||
|
||||
it('should option select', async () => {
|
||||
|
@ -25,7 +25,7 @@ describe('SelectButton.vue', () => {
|
|||
|
||||
await wrapper.setProps({ modelValue: wrapper.vm.options[0] });
|
||||
|
||||
expect(wrapper.findAll('.p-button.p-component')[0].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('.p-togglebutton.p-component')[0].classes()).toContain('p-togglebutton-checked');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -50,6 +50,6 @@ describe('multiple select', () => {
|
|||
it('should select', async () => {
|
||||
await wrapper.setProps({ modelValue: wrapper.vm.options });
|
||||
|
||||
expect(wrapper.findAll('.p-highlight').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-togglebutton-checked').length).toBe(3);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -33,6 +33,6 @@ describe('Skeleton.vue', () => {
|
|||
it('should remove animation', async () => {
|
||||
await wrapper.setProps({ animation: 'none' });
|
||||
|
||||
expect(wrapper.find('.p-skeleton').classes()).toContain('p-skeleton-none');
|
||||
expect(wrapper.find('.p-skeleton').classes()).toContain('p-skeleton-animation-none');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -51,7 +51,7 @@ describe('SpeedDial.vue', () => {
|
|||
|
||||
expect(wrapper.emitted()['click'][0]).toEqual([{}]);
|
||||
expect(wrapper.emitted()['show'][0]).toEqual([]);
|
||||
expect(wrapper.find('.p-speeddial').classes()).toContain('p-speeddial-opened');
|
||||
expect(wrapper.find('.p-speeddial').classes()).toContain('p-speeddial-open');
|
||||
expect(wrapper.findAll('li.p-speeddial-item')[0].attributes().style).toBe('transition-delay: 0ms;');
|
||||
});
|
||||
|
||||
|
@ -60,7 +60,7 @@ describe('SpeedDial.vue', () => {
|
|||
|
||||
await wrapper.vm.onClick({});
|
||||
|
||||
expect(wrapper.find('.p-speeddial').classes()).not.toContain('p-speeddial-opened');
|
||||
expect(wrapper.find('.p-speeddial').classes()).not.toContain('p-speeddial-open');
|
||||
expect(wrapper.findAll('li.p-speeddial-item')[wrapper.findAll('li.p-speeddial-item').length - 1].attributes().style).toBe('transition-delay: 0ms;');
|
||||
});
|
||||
|
||||
|
|
|
@ -43,8 +43,8 @@ describe('SplitButton.vue', () => {
|
|||
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.findAll('li.p-tieredmenu-item').length).toBe(4);
|
||||
expect(wrapper.find('.p-splitbutton-button').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-button-label').text()).toBe('Save');
|
||||
});
|
||||
|
||||
|
|
|
@ -33,42 +33,43 @@ describe('TabPanel.vue', () => {
|
|||
it('should exist', () => {
|
||||
expect(wrapper.find('.p-tabview.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-tabview-ink-bar').exists()).toBe(true);
|
||||
expect(wrapper.findAll('a.p-tabview-nav-link').length).toBe(3);
|
||||
expect(wrapper.findAll('a.p-tabview-tab-header').length).toBe(3);
|
||||
expect(wrapper.findAll('.p-tabview-panel').length).toBe(3);
|
||||
expect(wrapper.findAll('li[role="presentation"]')[0].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('li[role="presentation"]')[0].classes()).toContain('p-tabview-tablist-item-active');
|
||||
expect(wrapper.findAll('.p-tabview-panel')[1].attributes().style).toBe('display: none;');
|
||||
});
|
||||
|
||||
it('should change the active item', async () => {
|
||||
await wrapper.vm.onTabClick({}, 1);
|
||||
|
||||
expect(wrapper.findAll('li[role="presentation"]')[1].classes()).toContain('p-tabview-header');
|
||||
// expect(wrapper.findAll('li[role="presentation"]')[1].classes()).toContain('p-tabview-header');
|
||||
expect(wrapper.findAll('.p-tabview-panel')[0].attributes().style).toBe('display: none;');
|
||||
});
|
||||
});
|
||||
|
||||
describe('dynamic tabs', () => {
|
||||
it('should exist', () => {
|
||||
const wrapper = mount(TabView, {
|
||||
global: {
|
||||
components: {
|
||||
TabPanel
|
||||
}
|
||||
},
|
||||
slots: {
|
||||
default: `
|
||||
<TabPanel v-for="tab in Array.from({ length: 5 }, (_, i) => ({ title: \`Tab \${i + 1}\`, content: \`Tab \${i + 1} Content\` }))" :key="tab.title" :header="tab.title">
|
||||
<p>{{tab.content}}</p>
|
||||
</TabPanel>
|
||||
`
|
||||
}
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-tabview.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('.p-tabview-ink-bar').exists()).toBe(true);
|
||||
expect(wrapper.findAll('a.p-tabview-nav-link').length).toBe(5);
|
||||
expect(wrapper.findAll('.p-tabview-panel').length).toBe(5);
|
||||
expect(wrapper.findAll('li[role="presentation"]')[0].classes()).toContain('p-highlight');
|
||||
expect(wrapper.findAll('.p-tabview-panel')[1].attributes().style).toBe('display: none;');
|
||||
});
|
||||
});
|
||||
// todo deprecate?
|
||||
// describe('dynamic tabs', () => {
|
||||
// it('should exist', () => {
|
||||
// const wrapper = mount(TabView, {
|
||||
// global: {
|
||||
// components: {
|
||||
// TabPanel
|
||||
// }
|
||||
// },
|
||||
// slots: {
|
||||
// default: `
|
||||
// <TabPanel v-for="tab in Array.from({ length: 5 }, (_, i) => ({ title: \`Tab \${i + 1}\`, content: \`Tab \${i + 1} Content\` }))" :key="tab.title" :header="tab.title">
|
||||
// <p>{{tab.content}}</p>
|
||||
// </TabPanel>
|
||||
// `
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// expect(wrapper.find('.p-tabview.p-component').exists()).toBe(true);
|
||||
// expect(wrapper.find('.p-tabview-ink-bar').exists()).toBe(true);
|
||||
// expect(wrapper.findAll('a.p-tabview-nav-link').length).toBe(5);
|
||||
// expect(wrapper.findAll('.p-tabview-panel').length).toBe(5);
|
||||
// expect(wrapper.findAll('li[role="presentation"]')[0].classes()).toContain('p-highlight');
|
||||
// expect(wrapper.findAll('.p-tabview-panel')[1].attributes().style).toBe('display: none;');
|
||||
// });
|
||||
// });
|
||||
|
|
|
@ -46,6 +46,18 @@ describe('Tag.vue', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('Tag.vue', () => {
|
||||
it('should render default slot', () => {
|
||||
const wrapper = mount(Tag, {
|
||||
slots: {
|
||||
default: h('i', { class: 'pi pi-discord' }, '')
|
||||
}
|
||||
});
|
||||
|
||||
expect(wrapper.html()).toBe('<span class="p-tag p-component" data-pc-name="tag" data-pc-section="root" pc5=""><!--v-if--><i class="pi pi-discord"></i></span>');
|
||||
});
|
||||
});
|
||||
|
||||
describe('Tag.vue', () => {
|
||||
it('should be rounded', () => {
|
||||
const wrapper = mount(Tag, {
|
||||
|
@ -55,15 +67,3 @@ describe('Tag.vue', () => {
|
|||
expect(wrapper.find('.p-tag-rounded').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('Tag.vue', () => {
|
||||
it('should render default slot', () => {
|
||||
const wrapper = mount(Tag, {
|
||||
slots: {
|
||||
default: h('i', { class: 'pi pi-discord' }, '')
|
||||
}
|
||||
});
|
||||
|
||||
expect(wrapper.html()).toBe('<span class="p-tag p-component" data-pc-name="tag" data-pc-section="root"><!--v-if--><i class="pi pi-discord"></i></span>');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -36,7 +36,7 @@ describe('Terminal.vue', () => {
|
|||
});
|
||||
|
||||
expect(wrapper.find('.p-terminal.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-terminal-input').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-terminal-prompt-value').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should return invalid command', async () => {
|
||||
|
@ -72,6 +72,6 @@ describe('Terminal.vue', () => {
|
|||
});
|
||||
|
||||
expect(wrapper.find('.p-terminal.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-terminal-input').exists()).toBe(true);
|
||||
expect(wrapper.find('input.p-terminal-prompt-value').exists()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -83,7 +83,7 @@ describe('Toast.vue', () => {
|
|||
messages: [{ severity: 'info', summary: 'Message 1', detail: 'Message 1 Content', life: 3000 }]
|
||||
});
|
||||
|
||||
const icon = wrapper.find('.p-toast-icon-close-icon');
|
||||
const icon = wrapper.find('.p-toast-close-icon');
|
||||
|
||||
expect(icon.classes()).toContain('pi-discord');
|
||||
});
|
||||
|
|
|
@ -16,7 +16,7 @@ describe('ToggleButton', () => {
|
|||
|
||||
it('is ToggleButton exist', () => {
|
||||
expect(wrapper.find('.p-togglebutton.p-component').exists()).toBe(true);
|
||||
expect(wrapper.find('span.pi-times.p-button-icon').exists()).toBe(true);
|
||||
expect(wrapper.find('span.pi-times.p-togglebutton-icon').exists()).toBe(true);
|
||||
});
|
||||
|
||||
it('should have onIcon', async () => {
|
||||
|
@ -44,11 +44,11 @@ describe('ToggleButton', () => {
|
|||
style: 'width: 10em'
|
||||
});
|
||||
|
||||
expect(wrapper.find('.p-button-label').text()).toBe('I confirm');
|
||||
expect(wrapper.find('.p-togglebutton-label').text()).toBe('I confirm');
|
||||
expect(wrapper.attributes().style).toContain('width: 10em');
|
||||
|
||||
await wrapper.setProps({ modelValue: false });
|
||||
|
||||
expect(wrapper.find('.p-button-label').text()).toBe('I reject');
|
||||
expect(wrapper.find('.p-togglebutton-label').text()).toBe('I reject');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -13,8 +13,8 @@ describe('ToggleSwitch.vue', () => {
|
|||
expect(wrapper.emitted()['update:modelValue'][0]).toEqual([true]);
|
||||
|
||||
await wrapper.setProps({ modelValue: true });
|
||||
|
||||
//
|
||||
expect(wrapper.vm.checked).toBe(true);
|
||||
expect(wrapper.find('.p-toggleswitch').classes()).toContain('p-highlight');
|
||||
expect(wrapper.find('.p-toggleswitch').classes()).toContain('p-toggleswitch-checked');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -48,7 +48,7 @@ describe('Tree.vue', () => {
|
|||
}
|
||||
});
|
||||
|
||||
let searchField = wrapper.find('input.p-tree-filter');
|
||||
let searchField = wrapper.find('input.p-inputtext');
|
||||
|
||||
await searchField.trigger('keydown.space');
|
||||
|
||||
|
@ -57,7 +57,7 @@ describe('Tree.vue', () => {
|
|||
|
||||
it('should render icon', ({ expect }) => {
|
||||
expect(wrapper.find('span.pi-inbox').exists()).toBeTruthy();
|
||||
expect(wrapper.find('span.pi-inbox').classes('p-treenode-icon')).toBeTruthy();
|
||||
expect(wrapper.find('span.pi-inbox').classes('p-tree-node-icon')).toBeTruthy();
|
||||
});
|
||||
|
||||
it('should render icon slot', ({ expect }) => {
|
||||
|
|
|
@ -17,11 +17,6 @@ export default mergeConfig(
|
|||
reporter: ['text', 'json', 'html']
|
||||
},
|
||||
setupFiles: [path.resolve(__dirname, './src/config/Config.spec.js')]
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
//'primevue/config': path.resolve(__dirname, './components/lib/config/PrimeVue.js')
|
||||
}
|
||||
}
|
||||
})
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue