nav-menu.test.tsx36 lines · main
1import { render, screen } from '@testing-library/react'
2import React from 'react'
3import { describe, expect, it } from 'vitest'
4
5import { NavMenu, NavMenuItem } from './index'
6
7describe('NavMenu Component', () => {
8 it('renders without crashing', () => {
9 render(<NavMenu />)
10 expect(screen.getByRole('navigation')).toBeInTheDocument()
11 })
12
13 it('applies custom className', () => {
14 const className = 'test-class'
15 render(<NavMenu className={className} />)
16 expect(screen.getByRole('navigation')).toHaveClass(className)
17 })
18
19 it('forwards ref', () => {
20 const ref = React.createRef<HTMLDivElement>()
21
22 render(<NavMenu ref={ref}>test</NavMenu>)
23 expect(ref.current).toBeInTheDocument()
24 })
25
26 it('renders children', () => {
27 render(
28 <NavMenu>
29 <NavMenuItem active={false}>
30 <span>Home</span>
31 </NavMenuItem>
32 </NavMenu>
33 )
34 expect(screen.getByText('Home')).toBeInTheDocument()
35 })
36})