48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
import { shallowMount } from '@vue/test-utils';
|
|
import { shallowWrapperContainsSlotText } from './vue_test_utils_helper';
|
|
|
|
describe('Vue test utils helpers', () => {
|
|
describe('shallowWrapperContainsSlotText', () => {
|
|
const mockText = 'text';
|
|
const mockSlot = `<div>${mockText}</div>`;
|
|
let mockComponent;
|
|
|
|
beforeEach(() => {
|
|
mockComponent = shallowMount(
|
|
{
|
|
render(h) {
|
|
h(`<div>mockedComponent</div>`);
|
|
},
|
|
},
|
|
{
|
|
slots: {
|
|
default: mockText,
|
|
namedSlot: mockSlot,
|
|
},
|
|
},
|
|
);
|
|
});
|
|
|
|
it('finds text within shallowWrapper default slot', () => {
|
|
expect(shallowWrapperContainsSlotText(mockComponent, 'default', mockText)).toBe(true);
|
|
});
|
|
|
|
it('finds text within shallowWrapper named slot', () => {
|
|
expect(shallowWrapperContainsSlotText(mockComponent, 'namedSlot', mockText)).toBe(true);
|
|
});
|
|
|
|
it('returns false when text is not present', () => {
|
|
const searchText = 'absent';
|
|
|
|
expect(shallowWrapperContainsSlotText(mockComponent, 'default', searchText)).toBe(false);
|
|
expect(shallowWrapperContainsSlotText(mockComponent, 'namedSlot', searchText)).toBe(false);
|
|
});
|
|
|
|
it('searches with case-sensitivity', () => {
|
|
const searchText = mockText.toUpperCase();
|
|
|
|
expect(shallowWrapperContainsSlotText(mockComponent, 'default', searchText)).toBe(false);
|
|
expect(shallowWrapperContainsSlotText(mockComponent, 'namedSlot', searchText)).toBe(false);
|
|
});
|
|
});
|
|
});
|