mirror of
https://github.com/langgenius/dify.git
synced 2026-04-05 05:49:25 +08:00
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import React from 'react'
|
|
import { fireEvent, render, screen } from '@testing-library/react'
|
|
import EditItem, { EditItemType } from './index'
|
|
|
|
describe('AddAnnotationModal/EditItem', () => {
|
|
test('should render query inputs with user avatar and placeholder strings', () => {
|
|
render(
|
|
<EditItem
|
|
type={EditItemType.Query}
|
|
content="Why?"
|
|
onChange={vi.fn()}
|
|
/>,
|
|
)
|
|
|
|
expect(screen.getByText('appAnnotation.addModal.queryName')).toBeInTheDocument()
|
|
expect(screen.getByPlaceholderText('appAnnotation.addModal.queryPlaceholder')).toBeInTheDocument()
|
|
expect(screen.getByText('Why?')).toBeInTheDocument()
|
|
})
|
|
|
|
test('should render answer name and placeholder text', () => {
|
|
render(
|
|
<EditItem
|
|
type={EditItemType.Answer}
|
|
content="Existing answer"
|
|
onChange={vi.fn()}
|
|
/>,
|
|
)
|
|
|
|
expect(screen.getByText('appAnnotation.addModal.answerName')).toBeInTheDocument()
|
|
expect(screen.getByPlaceholderText('appAnnotation.addModal.answerPlaceholder')).toBeInTheDocument()
|
|
expect(screen.getByDisplayValue('Existing answer')).toBeInTheDocument()
|
|
})
|
|
|
|
test('should propagate changes when answer content updates', () => {
|
|
const handleChange = vi.fn()
|
|
render(
|
|
<EditItem
|
|
type={EditItemType.Answer}
|
|
content=""
|
|
onChange={handleChange}
|
|
/>,
|
|
)
|
|
|
|
fireEvent.change(screen.getByPlaceholderText('appAnnotation.addModal.answerPlaceholder'), { target: { value: 'Because' } })
|
|
expect(handleChange).toHaveBeenCalledWith('Because')
|
|
})
|
|
})
|