数通智联化工云平台
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

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)
})
})