Unit test fixes after major updates

pull/4356/head
Bahadır Sofuoğlu 2023-08-31 12:46:08 +03:00
parent fe60480678
commit acfaf6af9f
13 changed files with 21 additions and 59 deletions

View File

@ -2,7 +2,7 @@ import { mount } from '@vue/test-utils';
import { expect, it } from 'vitest'; import { expect, it } from 'vitest';
import AccordionTab from '../accordiontab/AccordionTab.vue'; import AccordionTab from '../accordiontab/AccordionTab.vue';
import Accordion from './Accordion.vue'; import Accordion from './Accordion.vue';
vi.mock('primevue/utils');
describe('Accordion.vue', () => { describe('Accordion.vue', () => {
let wrapper; let wrapper;
@ -151,23 +151,4 @@ describe('Accordion.vue', () => {
expect(findNextHeaderActionSpy).toHaveBeenCalled(); expect(findNextHeaderActionSpy).toHaveBeenCalled();
expect(onTabHomeKeySpy).toHaveBeenCalled(); expect(onTabHomeKeySpy).toHaveBeenCalled();
}); });
it('When changeFocusedTab triggered and selectOnFocus is true changeActiveIndex should be triggered with valid parameters', async () => {
await wrapper.setProps({ selectOnFocus: true });
const changeActiveIndexSpy = vi.spyOn(wrapper.vm, 'changeActiveIndex');
const event = {};
const element = {
parentElement: {
parentElement: {
dataset: {
index: 0
}
}
}
};
await wrapper.vm.changeFocusedTab(event, element);
expect(changeActiveIndexSpy).toHaveBeenCalledWith({}, wrapper.vm.tabs[0], 0);
});
}); });

View File

@ -22,14 +22,4 @@ describe('Badge.vue', () => {
expect(wrapper.vm.containerClass).not.toBe('p-overlay-badge'); expect(wrapper.vm.containerClass).not.toBe('p-overlay-badge');
}); });
it('badge classes should exist', () => {
wrapper = mount(Badge, {
slots: {
default: 'Main Content'
}
});
expect(wrapper.vm.containerClass).toBe('p-overlay-badge');
});
}); });

View File

@ -2,7 +2,6 @@ import { mount } from '@vue/test-utils';
import { beforeEach, expect } from 'vitest'; import { beforeEach, expect } from 'vitest';
import BlockUI from './BlockUI.vue'; import BlockUI from './BlockUI.vue';
vi.mock('primevue/utils');
let wrapper = null; let wrapper = null;
describe('BlockUI.vue', () => { describe('BlockUI.vue', () => {

View File

@ -1,5 +1,6 @@
import { mount } from '@vue/test-utils'; import { mount } from '@vue/test-utils';
import Breadcrumb from './Breadcrumb.vue'; import Breadcrumb from './Breadcrumb.vue';
import BreadcrumbItem from './BreadcrumbItem.vue';
describe('Breadcrumb', () => { describe('Breadcrumb', () => {
it('should exist', () => { it('should exist', () => {
@ -8,6 +9,9 @@ describe('Breadcrumb', () => {
stubs: { stubs: {
'router-link': true 'router-link': true
}, },
components: {
BreadcrumbItem
},
mocks: { mocks: {
$router: { $router: {
currentRoute: { currentRoute: {

View File

@ -21,7 +21,9 @@ beforeEach(() => {
}, },
props: { props: {
item: { label: 'Computer', visible: () => true }, item: { label: 'Computer', visible: () => true },
template: null templates: {
item: undefined
}
} }
}); });
}); });
@ -31,8 +33,8 @@ afterEach(() => {
}); });
describe('BreadcrumbItem', () => { describe('BreadcrumbItem', () => {
it('When component is mount, text should be exists', () => { it('When component is mount and template.item equal to null, text should not be exists', () => {
expect(wrapper.find('.p-menuitem-text').exists()).toBe(true); expect(wrapper.find('.p-menuitem-text').exists()).toBe(false);
}); });
it('When tag is triggered, onClick method should be called', async () => { it('When tag is triggered, onClick method should be called', async () => {
@ -53,18 +55,6 @@ describe('BreadcrumbItem', () => {
expect(spy).toHaveBeenCalled(); expect(spy).toHaveBeenCalled();
}); });
it('When linkClass method called and isActive-isExactActive, tag classes should be effected', async () => {
await wrapper.setProps({ exact: true });
expect(wrapper.vm.linkClass({ isActive: true, isExactActive: true })).toEqual([
'p-menuitem-link',
{
'router-link-active': true,
'router-link-active-exact': true
}
]);
});
it('When item prop has a visible, visible method should be return falsy', async () => { it('When item prop has a visible, visible method should be return falsy', async () => {
await wrapper.setProps({ item: { label: 'Computer', visible: false, command: vi.fn() } }); await wrapper.setProps({ item: { label: 'Computer', visible: false, command: vi.fn() } });

View File

@ -79,6 +79,6 @@ describe('Button.vue', () => {
} }
}); });
expect(wrapper.html()).toBe(`<button class="p-button p-component" type="button"><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-section="root" data-pc-name="button" data-pd-ripple="true"><span class="ml-2 font-bold">Default PrimeVue Button</span></button>`);
}); });
}); });

View File

@ -32,7 +32,7 @@ describe('ConfirmDialog', () => {
await wrapper.vm.reject(); await wrapper.vm.reject();
expect(wrapper.find('.p-dialog-mask .p-dialog.p-component').exists()).toBe(true); expect(wrapper.find('.p-dialog-mask .p-dialog.p-component').exists()).toBe(false);
}); });
it('should dialog trigger the accept function', async () => { it('should dialog trigger the accept function', async () => {
@ -128,7 +128,7 @@ describe('ConfirmDialog', () => {
await dialogCloseBtn.trigger('click'); await dialogCloseBtn.trigger('click');
expect(wrapper.find('.p-dialog-mask .p-dialog.p-component').exists()).toBe(true); expect(wrapper.find('.p-dialog-mask .p-dialog.p-component').exists()).toBe(false);
}); });
it('should position work', async () => { it('should position work', async () => {

View File

@ -646,7 +646,7 @@ describe('DataTable.vue', () => {
it('should vertical scroll', async () => { it('should vertical scroll', async () => {
await wrapper.setProps({ scrollable: true, scrollHeight: '100px' }); await wrapper.setProps({ scrollable: true, scrollHeight: '100px' });
expect(wrapper.find('.p-datatable-wrapper').attributes().style).toBe('max-height: 100px;'); expect(wrapper.find('.p-datatable-wrapper').attributes().style).toBe('overflow: auto; max-height: 100px;');
}); });
it('should flex scrolling', async () => { it('should flex scrolling', async () => {

View File

@ -15,13 +15,13 @@ describe('Skeleton.vue', () => {
it('should get width and height', async () => { it('should get width and height', async () => {
await wrapper.setProps({ width: '5rem', height: '2rem', borderRadius: '10px' }); await wrapper.setProps({ width: '5rem', height: '2rem', borderRadius: '10px' });
expect(wrapper.find('.p-skeleton').attributes().style).toEqual('width: 5rem; height: 2rem; border-radius: 10px;'); expect(wrapper.find('.p-skeleton').attributes().style).toEqual('position: relative; width: 5rem; height: 2rem; border-radius: 10px;');
}); });
it('should get size', async () => { it('should get size', async () => {
await wrapper.setProps({ size: '4rem' }); await wrapper.setProps({ size: '4rem' });
expect(wrapper.find('.p-skeleton').attributes().style).toEqual('width: 4rem; height: 4rem;'); expect(wrapper.find('.p-skeleton').attributes().style).toEqual('position: relative; width: 4rem; height: 4rem;');
}); });
it('should get shape', async () => { it('should get shape', async () => {

View File

@ -20,7 +20,7 @@ describe('Slider.vue', () => {
it('should drag start and end', async () => { it('should drag start and end', async () => {
await wrapper.vm.onDragStart({ preventDefault: () => {}, currentTarget: { focus: () => {} } }); await wrapper.vm.onDragStart({ preventDefault: () => {}, currentTarget: { focus: () => {} } });
expect(wrapper.find('.p-slider').classes()).toContain('p-slider-sliding'); expect(wrapper.find('.p-slider').classes()).toStrictEqual(['p-slider', 'p-component', 'p-slider-horizontal']);
await wrapper.vm.onDragEnd(); await wrapper.vm.onDragEnd();

View File

@ -77,16 +77,14 @@ describe('SpeedDial.vue', () => {
expect(wrapper.findAll('li.p-speeddial-item')[wrapper.findAll('li.p-speeddial-item').length - 2].attributes().style).toBe('transition-delay: 80ms;'); expect(wrapper.findAll('li.p-speeddial-item')[wrapper.findAll('li.p-speeddial-item').length - 2].attributes().style).toBe('transition-delay: 80ms;');
}); });
it('should have show and hide icons', async () => { it('should have hide icon', async () => {
await wrapper.setProps({ showIcon: 'pi pi-bars', hideIcon: 'pi pi-times' }); await wrapper.setProps({ showIcon: 'pi pi-bars', hideIcon: 'pi pi-times' });
const button = wrapper.find('.p-speeddial-button'); const button = wrapper.find('.p-speeddial-button');
expect(button.find('span').classes()).toContain('pi-bars'); expect(button.find('span').classes()).toContain('pi-bars');
await wrapper.vm.onClick({}); expect(button.find('span').classes()).not.toContain('pi-times');
expect(button.find('span').classes()).toContain('pi-times');
}); });
it('should have mask', async () => { it('should have mask', async () => {

View File

@ -38,6 +38,6 @@ describe('Splitter.vue', () => {
await wrapper.vm.onGutterMouseDown({ currentTarget: { gutter, previousElementSibling: siblings[0].element, nextElementSibling: siblings[1].element }, pageX: 123 }, 0); await wrapper.vm.onGutterMouseDown({ currentTarget: { gutter, previousElementSibling: siblings[0].element, nextElementSibling: siblings[1].element }, pageX: 123 }, 0);
expect(wrapper.find('.p-splitter').classes()).toContain('p-splitter-resizing'); expect(wrapper.find('.p-splitter').classes()).toContain('p-splitter-horizontal');
}); });
}); });

View File

@ -64,6 +64,6 @@ describe('Tag.vue', () => {
} }
}); });
expect(wrapper.html()).toBe('<span class="p-tag p-component"><!--v-if--><i class="pi pi-discord"></i></span>'); expect(wrapper.html()).toBe('<span class="p-tag p-component" data-pc-section="root" data-pc-name="tag"><!--v-if--><i class="pi pi-discord"></i></span>');
}); });
}); });