diff --git a/src/components/styleclass/StyleClass.spec.js b/src/components/styleclass/StyleClass.spec.js
new file mode 100644
index 000000000..faf3b8347
--- /dev/null
+++ b/src/components/styleclass/StyleClass.spec.js
@@ -0,0 +1,38 @@
+import { config, mount } from '@vue/test-utils';
+import StyleClass from './StyleClass';
+import Button from '@/components/button/Button.vue';
+import InputText from '@/components/inputtext/InputText.vue';
+
+config.global.directives = {
+ 'styleclass': StyleClass
+}
+
+config.attachTo = document.body;
+
+describe('StyleClass', () => {
+ it('should work with next selector', async () => {
+ const wrapper = mount({
+ template: `
+
+
+ `,
+ 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');
+ });
+});
\ No newline at end of file