37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
|
import { config, mount } from '@vue/test-utils';
|
||
|
import Button from 'primevue/button';
|
||
|
import InputText from 'primevue/inputtext';
|
||
|
import StyleClass from './StyleClass';
|
||
|
|
||
|
config.global.directives = {
|
||
|
styleclass: StyleClass
|
||
|
};
|
||
|
|
||
|
describe('StyleClass', () => {
|
||
|
it('should work with next selector', async () => {
|
||
|
const wrapper = mount({
|
||
|
template: `
|
||
|
<Button label="Toggle p-disabled" v-styleclass="{ selector: '@next', toggleClass: 'p-disabled' }" />
|
||
|
<InputText class="block mt-3" />
|
||
|
`,
|
||
|
components: {
|
||
|
Button,
|
||
|
InputText
|
||
|
}
|
||
|
});
|
||
|
|
||
|
const button = wrapper.find('.p-button');
|
||
|
const input = wrapper.find('.p-inputtext');
|
||
|
|
||
|
expect(input.classes()).not.toContain('p-disabled');
|
||
|
|
||
|
await button.trigger('click');
|
||
|
|
||
|
expect(input.classes()).toContain('p-disabled');
|
||
|
|
||
|
await button.trigger('click');
|
||
|
|
||
|
expect(input.classes()).not.toContain('p-disabled');
|
||
|
});
|
||
|
});
|