mirror of
https://github.com/supabase/supabase.git
synced 2026-05-08 01:40:13 -04:00
9685711519
* add retry * handle and capture errors * adds tests * improve Sentry integration * remove SQL logging from query performance error capture * fix error msg prop handling * add max and baseline to alert * undo change meant for other branch oops
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
|
|
import { getErrorMessage } from './get-error-message'
|
|
|
|
describe('getErrorMessage', () => {
|
|
it('returns null for null', () => {
|
|
expect(getErrorMessage(null)).toBe(null)
|
|
})
|
|
|
|
it('returns null for undefined', () => {
|
|
expect(getErrorMessage(undefined)).toBe(null)
|
|
})
|
|
|
|
it('returns the string for string errors', () => {
|
|
expect(getErrorMessage('Something went wrong')).toBe('Something went wrong')
|
|
expect(getErrorMessage('')).toBe('')
|
|
})
|
|
|
|
it('returns the message for Error instances', () => {
|
|
expect(getErrorMessage(new Error('Failed to load'))).toBe('Failed to load')
|
|
expect(getErrorMessage(new TypeError('Invalid type'))).toBe('Invalid type')
|
|
})
|
|
|
|
it('returns the message property for objects with message', () => {
|
|
expect(getErrorMessage({ message: 'Custom error' })).toBe('Custom error')
|
|
expect(getErrorMessage({ message: 123 })).toBe('123')
|
|
expect(getErrorMessage({ message: null })).toBe('null')
|
|
})
|
|
|
|
it('converts other types to string', () => {
|
|
expect(getErrorMessage(123)).toBe('123')
|
|
expect(getErrorMessage(true)).toBe('true')
|
|
expect(getErrorMessage(false)).toBe('false')
|
|
expect(getErrorMessage({})).toBe('[object Object]')
|
|
expect(getErrorMessage([])).toBe('')
|
|
})
|
|
|
|
it('handles objects without message property', () => {
|
|
expect(getErrorMessage({ code: 500 })).toBe('[object Object]')
|
|
expect(getErrorMessage({ error: 'test' })).toBe('[object Object]')
|
|
})
|
|
|
|
it('handles nested error objects', () => {
|
|
expect(getErrorMessage({ message: { nested: 'error' } })).toBe('[object Object]')
|
|
})
|
|
})
|