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