primevue-mirror/packages/primevue/src/styleclass/StyleClass.spec.js

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