ErrorWithCause.test.ts 1000 B

123456789101112131415161718192021222324
  1. import { describe, expect, it } from 'vitest'
  2. import ErrorWithCause from './ErrorWithCause.ts'
  3. import NetworkError from './NetworkError.ts'
  4. describe('ErrorWithCause', () => {
  5. it('should support a `{ cause }` option', () => {
  6. const cause = new Error('cause')
  7. expect(new ErrorWithCause('message').cause).toEqual(undefined)
  8. expect(new ErrorWithCause('message', {}).cause).toEqual(undefined)
  9. expect(new ErrorWithCause('message', { cause }).cause).toEqual(cause)
  10. })
  11. it('should propagate isNetworkError', () => {
  12. const regularError = new Error('cause')
  13. const networkError = new NetworkError('cause')
  14. expect(
  15. new ErrorWithCause('message', { cause: networkError }).isNetworkError,
  16. ).toEqual(true)
  17. expect(
  18. new ErrorWithCause('message', { cause: regularError }).isNetworkError,
  19. ).toEqual(false)
  20. expect(new ErrorWithCause('message', {}).isNetworkError).toEqual(false)
  21. expect(new ErrorWithCause('message').isNetworkError).toEqual(false)
  22. })
  23. })