初始化模版工程
This commit is contained in:
33
components/nova-sdk/nova-chat/ChatHeader.test.tsx
Normal file
33
components/nova-sdk/nova-chat/ChatHeader.test.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
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()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user