You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
1.1 KiB
21 lines
1.1 KiB
import { describe, expect, it } from '@jest/globals'
|
|
import ErrorWithCause from './ErrorWithCause.js'
|
|
import NetworkError from './NetworkError.js'
|
|
import isNetworkError from './isNetworkError.js'
|
|
|
|
describe('ErrorWithCause', () => {
|
|
it('should support a `{ cause }` option', () => {
|
|
const cause = new Error('cause')
|
|
expect(new ErrorWithCause('message').cause).toEqual(undefined)
|
|
expect(new ErrorWithCause('message', {}).cause).toEqual(undefined)
|
|
expect(new ErrorWithCause('message', { cause }).cause).toEqual(cause)
|
|
})
|
|
it('should propagate isNetworkError', () => {
|
|
const regularError = new Error('cause')
|
|
const networkError = new NetworkError('cause')
|
|
expect(isNetworkError(new ErrorWithCause('message', { cause: networkError }).isNetworkError)).toEqual(true)
|
|
expect(isNetworkError(new ErrorWithCause('message', { cause: regularError }).isNetworkError)).toEqual(false)
|
|
expect(isNetworkError(new ErrorWithCause('message', {}).isNetworkError)).toEqual(false)
|
|
expect(isNetworkError(new ErrorWithCause('message').isNetworkError)).toEqual(false)
|
|
})
|
|
})
|
|
|