feat: add KnowledgeConfirmDialog component and integrate delete confirmation dialog in KnowledgePage
This commit is contained in:
@@ -21,7 +21,6 @@ vi.mock('../src/pages/Knowledge/copy', () => ({
|
||||
'knowledge.storageLabel': 'Storage',
|
||||
'knowledge.refresh': 'Refresh',
|
||||
'knowledge.upload': 'Upload',
|
||||
'knowledge.uploadHint': 'Knowledge docs only',
|
||||
'knowledge.status.loading': 'Loading documents...',
|
||||
'knowledge.status.uploading': 'Uploading...',
|
||||
'knowledge.status.deleting': 'Deleting...',
|
||||
@@ -29,7 +28,10 @@ vi.mock('../src/pages/Knowledge/copy', () => ({
|
||||
'knowledge.status.deleteSuccess': 'Deleted',
|
||||
'knowledge.emptyTitle': 'No documents yet',
|
||||
'knowledge.emptyDescription': 'Upload a file',
|
||||
'knowledge.deleteConfirm': 'Delete this document?',
|
||||
'knowledge.deleteDialog.title': 'Delete document?',
|
||||
'knowledge.deleteDialog.confirm': 'Delete document',
|
||||
'knowledge.deleteDialog.close': 'Close dialog',
|
||||
'knowledge.common.cancel': 'Cancel',
|
||||
'knowledge.table.name': 'Name',
|
||||
'knowledge.table.size': 'Size',
|
||||
'knowledge.table.modifiedAt': 'Modified At',
|
||||
@@ -42,6 +44,10 @@ vi.mock('../src/pages/Knowledge/copy', () => ({
|
||||
return `Knowledge docs request failed: ${params?.error ?? ''}`;
|
||||
}
|
||||
|
||||
if (path === 'knowledge.deleteDialog.description') {
|
||||
return `This will permanently remove "${params?.name ?? ''}" from the local knowledge docs directory.`;
|
||||
}
|
||||
|
||||
return dictionary[path] ?? fallback ?? path;
|
||||
},
|
||||
}));
|
||||
@@ -53,7 +59,6 @@ describe('KnowledgePage', () => {
|
||||
apiMocks.list.mockReset();
|
||||
apiMocks.upload.mockReset();
|
||||
apiMocks.delete.mockReset();
|
||||
vi.stubGlobal('confirm', vi.fn(() => true));
|
||||
});
|
||||
|
||||
it('loads and renders docs from the knowledge docs api', async () => {
|
||||
@@ -87,6 +92,7 @@ describe('KnowledgePage', () => {
|
||||
|
||||
const deleteButton = await screen.findByRole('button', { name: /delete/i });
|
||||
fireEvent.click(deleteButton);
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Delete document' }));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(apiMocks.delete).toHaveBeenCalledWith('guide.md');
|
||||
|
||||
Reference in New Issue
Block a user