visua-vue/test/VLink.spec.ts

37 lines
987 B
TypeScript
Raw Normal View History

2025-07-21 12:28:37 +02:00
import { mount } from '@vue/test-utils'
import VLink from '../src/components/button/VLink.vue'
import {test, expect, describe} from 'vitest'
describe('VLink', () => {
test('renders the label correctly', () => {
const wrapper = mount(VLink, {
props: {
label: 'Link'
}
})
expect(wrapper.text()).toContain('Link');
})
test('renders as an anchor tag when `href` is provided', () => {
const wrapper = mount(VLink, {
props: {label: 'External', href: 'https://example.com' }
});
const a = wrapper.find('a')
expect(a.exists()).toBe(true);
expect(a.attributes('href')).toBe('https://example.com');
})
test('disables the link when `disabled` is true', () => {
const wrapper = mount(VLink, {
props: {label: 'Disabled', disabled: true }
})
const button = wrapper.find('.p-button');
expect(button.classes()).toContain('disabled');
expect(button.attributes('aria-disabled')).toBe('true');
});
2025-07-21 12:28:37 +02:00
})