UNPKG

@mozaic-ds/vue

Version:

Mozaic-Vue is the Vue.js implementation of ADEO Design system

48 lines (41 loc) 1.49 kB
import { mount } from '@vue/test-utils'; import { describe, it, expect } from 'vitest'; import MTooltip from './MTooltip.vue'; describe('MTooltip.vue', () => { const defaultProps = { id: 'tooltip-1', text: 'Tooltip content', }; it('renders tooltip text', () => { const wrapper = mount(MTooltip, { props: { ...defaultProps }, slots: { default: 'Hover me' } }); expect(wrapper.text()).toContain(defaultProps.text); }); it('sets aria-describedby attribute correctly', () => { const wrapper = mount(MTooltip, { props: { ...defaultProps } }); const tooltipDiv = wrapper.find('.mc-tooltip'); expect(tooltipDiv.attributes('aria-describedby')).toBe(defaultProps.id); }); it('applies position class based on prop', () => { const wrapper = mount(MTooltip, { props: { ...defaultProps, position: 'bottom' } }); expect(wrapper.find('.mc-tooltip').classes()).toContain('mc-tooltip--bottom'); }); it('applies no-pointer class when pointer is false', () => { const wrapper = mount(MTooltip, { props: { ...defaultProps, pointer: false } }); expect(wrapper.find('.mc-tooltip').classes()).toContain('mc-tooltip--no-pointer'); }); it('does not apply no-pointer class when pointer is true', () => { const wrapper = mount(MTooltip, { props: { ...defaultProps, pointer: true } }); expect(wrapper.find('.mc-tooltip').classes()).not.toContain('mc-tooltip--no-pointer'); }); });