Skip to main content
Glama
deleonio
by deleonio
snapshot.test.tsx2.99 kB
import { h } from '@stencil/core'; import { renderFunctionalComponentToSpecPage } from '../../../utils/testing'; import KolHeadingFc from '../Heading'; describe('KolHeadingFc', () => { it('should render with default props', async () => { const page = await renderFunctionalComponentToSpecPage(() => <KolHeadingFc>Default Heading</KolHeadingFc>); expect(page.root).toBeDefined(); expect(page.root).toMatchSnapshot(); expect(page.root?.tagName).toBe('H1'); expect(page.root?.textContent).toContain('Default Heading'); expect(page.root?.classList.contains('kol-headline')).toBe(true); }); it('should render with a specific level', async () => { const page = await renderFunctionalComponentToSpecPage(() => <KolHeadingFc level={3}>Level 3 Heading</KolHeadingFc>); expect(page.root).toBeDefined(); expect(page.root).toMatchSnapshot(); expect(page.root?.tagName).toBe('H3'); expect(page.root?.textContent).toContain('Level 3 Heading'); expect(page.root?.classList.contains('kol-headline')).toBe(true); }); it('should render with a secondary headline', async () => { const page = await renderFunctionalComponentToSpecPage(() => <KolHeadingFc secondaryHeadline="Secondary Headline">Main Heading</KolHeadingFc>); expect(page.root).toBeDefined(); expect(page.root).toMatchSnapshot(); expect(page.root?.tagName).toBe('HGROUP'); expect(page.root?.querySelector('h1')).not.toBeNull(); expect(page.root?.querySelector('p')).not.toBeNull(); expect(page.root?.textContent).toContain('Main Heading'); expect(page.root?.textContent).toContain('Secondary Headline'); expect(page.root?.classList.contains('kol-heading-group')).toBe(true); expect(page.root?.querySelector('h1')?.classList.contains('kol-headline--single')).toBe(false); expect(page.root?.querySelector('p')?.classList.contains('kol-headline--single')).toBe(false); }); it('should apply custom class names', async () => { const page = await renderFunctionalComponentToSpecPage(() => <KolHeadingFc class="custom-class">Custom Class Heading</KolHeadingFc>); expect(page.root).toBeDefined(); expect(page.root).toMatchSnapshot(); expect(page.root?.tagName).toBe('H1'); expect(page.root?.classList.contains('custom-class')).toBe(true); expect(page.root?.classList.contains('kol-headline')).toBe(true); expect(page.root?.textContent).toContain('Custom Class Heading'); }); it('should apply SecondaryHeadlineProps to the secondary headline', async () => { const page = await renderFunctionalComponentToSpecPage(() => ( <KolHeadingFc secondaryHeadline="Secondary" SecondaryHeadlineProps={{ class: 'secondary-class', 'aria-label': 'secondary-label' }}> Primary </KolHeadingFc> )); expect(page.root).toBeDefined(); expect(page.root).toMatchSnapshot(); const secondary = page.root?.querySelector('p'); expect(secondary?.classList.contains('secondary-class')).toBe(true); expect(secondary?.getAttribute('aria-label')).toBe('secondary-label'); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deleonio/public-ui-kolibri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server