|
|
|
|
@@ -88,23 +88,20 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
it('should render edit and delete buttons', () => {
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const buttons = container.querySelectorAll('button')
|
|
|
|
|
expect(buttons.length).toBe(2)
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
expect(screen.getByRole('button', { name: 'common.operation.edit' })).toBeInTheDocument()
|
|
|
|
|
expect(screen.getByRole('button', { name: 'common.operation.delete' })).toBeInTheDocument()
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
it('should hide edit and delete buttons when external knowledge API management is unavailable', () => {
|
|
|
|
|
const { container } = render(
|
|
|
|
|
<ExternalKnowledgeAPICard {...defaultProps} canManageExternalKnowledgeApi={false} />,
|
|
|
|
|
)
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} canManageExternalKnowledgeApi={false} />)
|
|
|
|
|
|
|
|
|
|
expect(container.querySelectorAll('button').length).toBe(0)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
it('should render API connection icon', () => {
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const icon = container.querySelector('svg')
|
|
|
|
|
expect(icon)!.toBeInTheDocument()
|
|
|
|
|
expect(
|
|
|
|
|
screen.queryByRole('button', { name: 'common.operation.edit' }),
|
|
|
|
|
).not.toBeInTheDocument()
|
|
|
|
|
expect(
|
|
|
|
|
screen.queryByRole('button', { name: 'common.operation.delete' }),
|
|
|
|
|
).not.toBeInTheDocument()
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
@@ -125,9 +122,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
}
|
|
|
|
|
vi.mocked(fetchExternalAPI).mockResolvedValue(mockResponse)
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const buttons = container.querySelectorAll('button')
|
|
|
|
|
const editButton = buttons[0]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const editButton = screen.getByRole('button', { name: 'common.operation.edit' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(editButton!)
|
|
|
|
|
|
|
|
|
|
@@ -153,9 +149,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {})
|
|
|
|
|
vi.mocked(fetchExternalAPI).mockRejectedValue(new Error('Fetch failed'))
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const buttons = container.querySelectorAll('button')
|
|
|
|
|
const editButton = buttons[0]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const editButton = screen.getByRole('button', { name: 'common.operation.edit' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(editButton!)
|
|
|
|
|
|
|
|
|
|
@@ -185,8 +180,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
}
|
|
|
|
|
vi.mocked(fetchExternalAPI).mockResolvedValue(mockResponse)
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const editButton = container.querySelectorAll('button')[0]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const editButton = screen.getByRole('button', { name: 'common.operation.edit' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(editButton!)
|
|
|
|
|
|
|
|
|
|
@@ -234,8 +229,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
}
|
|
|
|
|
vi.mocked(fetchExternalAPI).mockResolvedValue(mockResponse)
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const editButton = container.querySelectorAll('button')[0]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const editButton = screen.getByRole('button', { name: 'common.operation.edit' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(editButton!)
|
|
|
|
|
|
|
|
|
|
@@ -254,9 +249,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
it('should check usage and show confirm dialog when delete button is clicked', async () => {
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockResolvedValue({ is_using: false, count: 0 })
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const buttons = container.querySelectorAll('button')
|
|
|
|
|
const deleteButton = buttons[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
@@ -273,8 +267,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
it('should show usage count in confirm dialog when API is in use', async () => {
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockResolvedValue({ is_using: true, count: 3 })
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = container.querySelectorAll('button')[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
@@ -287,8 +281,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockResolvedValue({ is_using: false, count: 0 })
|
|
|
|
|
vi.mocked(deleteExternalAPI).mockResolvedValue({ result: 'success' })
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = container.querySelectorAll('button')[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
@@ -310,8 +304,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
it('should close confirm dialog when cancel is clicked', async () => {
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockResolvedValue({ is_using: false, count: 0 })
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = container.querySelectorAll('button')[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
@@ -332,8 +326,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockResolvedValue({ is_using: false, count: 0 })
|
|
|
|
|
vi.mocked(deleteExternalAPI).mockRejectedValue(new Error('Delete failed'))
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = container.querySelectorAll('button')[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
@@ -358,8 +352,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
const consoleSpy = vi.spyOn(console, 'error').mockImplementation(() => {})
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockRejectedValue(new Error('Check failed'))
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = container.querySelectorAll('button')[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
@@ -394,8 +388,8 @@ describe('ExternalKnowledgeAPICard', () => {
|
|
|
|
|
vi.mocked(checkUsageExternalAPI).mockResolvedValue({ is_using: false, count: 0 })
|
|
|
|
|
vi.mocked(deleteExternalAPI).mockResolvedValue({ result: 'error' })
|
|
|
|
|
|
|
|
|
|
const { container } = render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = container.querySelectorAll('button')[1]
|
|
|
|
|
render(<ExternalKnowledgeAPICard {...defaultProps} />)
|
|
|
|
|
const deleteButton = screen.getByRole('button', { name: 'common.operation.delete' })
|
|
|
|
|
|
|
|
|
|
fireEvent.click(deleteButton!)
|
|
|
|
|
|
|
|
|
|
|