feat(tests): enhance test coverage and error handling across various components
- Added a test case in CrowdSecConfig to show improved error message when preset is not cached. - Introduced a new test suite for the Dashboard component, verifying counts and health status. - Updated SMTPSettings tests to utilize a shared render function and added tests for backend validation errors. - Modified Security.audit tests to improve input handling and removed redundant export failure test. - Refactored Security tests to remove export functionality and ensure correct rendering of components. - Enhanced UsersPage tests with new scenarios for updating user permissions and manual invite link flow. - Created a new utility for rendering components with a QueryClient and MemoryRouter for better test isolation. - Updated go-test-coverage script to improve error handling and coverage reporting.
This commit is contained in:
@@ -328,13 +328,22 @@ export default function CrowdSecConfig() {
|
||||
return
|
||||
}
|
||||
|
||||
const errorMsg = err.response?.data?.error || err.message
|
||||
const backupPath = (err.response?.data as { backup?: string })?.backup
|
||||
if (backupPath) {
|
||||
setApplyInfo({ status: 'failed', backup: backupPath, cacheKey: presetMeta?.cacheKey })
|
||||
toast.error(`Apply failed. Restore from backup at ${backupPath}`)
|
||||
|
||||
// Check if error is due to missing cache
|
||||
if (errorMsg.includes('not cached') || errorMsg.includes('Pull the preset first')) {
|
||||
toast.error(errorMsg)
|
||||
setValidationError('Preset must be pulled before applying. Click "Pull Preview" first.')
|
||||
return
|
||||
}
|
||||
toast.error(err.response?.data?.error || err.message)
|
||||
|
||||
if (backupPath) {
|
||||
setApplyInfo({ status: 'failed', backup: backupPath, cacheKey: presetMeta?.cacheKey })
|
||||
toast.error(`Apply failed: ${errorMsg}. Backup created at ${backupPath}`)
|
||||
return
|
||||
}
|
||||
toast.error(`Apply failed: ${errorMsg}`)
|
||||
} else {
|
||||
toast.error('Failed to apply preset')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user