Files
test1/components/nova-sdk/nova-chat/ChatHeader.test.tsx
2026-03-20 07:33:46 +00:00

34 lines
1.2 KiB
TypeScript

import { describe, it, expect } from 'vitest'
import { render, screen } from '@testing-library/react'
import { ChatHeader } from './ChatHeader'
describe('ChatHeader', () => {
it('returns null when no header provided', () => {
const { container } = render(<ChatHeader />)
expect(container.firstChild).toBeNull()
})
it('renders string header as CardTitle', () => {
render(<ChatHeader header="Test Title" />)
expect(screen.getByText('Test Title')).toBeInTheDocument()
})
it('renders custom React node header', () => {
render(<ChatHeader header={<span data-testid="custom">Custom Header</span>} />)
expect(screen.getByTestId('custom')).toBeInTheDocument()
expect(screen.getByText('Custom Header')).toBeInTheDocument()
})
it('renders string header inside px-6 container', () => {
render(<ChatHeader header="Title" />)
const title = screen.getByText('Title')
expect(title.closest('.px-6')).not.toBeNull()
})
it('renders custom header inside px-4 container', () => {
render(<ChatHeader header={<div>Custom</div>} />)
const custom = screen.getByText('Custom')
expect(custom.closest('.px-4')).not.toBeNull()
})
})