Skip to content

Commit e7cce51

Browse files
committed
chore: fix tests for error suppression to
1 parent a1d44b2 commit e7cce51

9 files changed

+130
-60
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,14 @@
1-
import { renderHook } from '..'
2-
31
describe('error output suppression (disabled) tests', () => {
4-
function useError(throwError?: boolean) {
5-
if (throwError) {
6-
throw new Error('expected')
7-
}
8-
return true
9-
}
10-
112
const originalConsoleError = console.error
12-
const mockConsoleError = jest.fn()
133

144
beforeAll(() => {
155
process.env.RHTL_DISABLE_ERROR_FILTERING = 'true'
166
})
177

18-
beforeEach(() => {
19-
console.error = mockConsoleError
20-
})
21-
22-
afterEach(() => {
23-
console.error = originalConsoleError
24-
})
25-
26-
test('should not suppress error output', () => {
27-
const { result } = renderHook(() => useError(true))
28-
29-
expect(result.error).toEqual(Error('expected'))
30-
expect(mockConsoleError).toBeCalledWith(
31-
expect.stringMatching(/^Error: Uncaught \[Error: expected\]/),
32-
expect.any(Error)
33-
)
34-
expect(mockConsoleError).toBeCalledWith(
35-
expect.stringMatching(/^The above error occurred in the <TestComponent> component:/)
36-
)
37-
expect(mockConsoleError).toBeCalledTimes(2)
8+
test('should not patch console.error', () => {
9+
require('..')
10+
expect(console.error).toBe(originalConsoleError)
3811
})
3912
})
13+
14+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
describe('error output suppression (noAfterAll) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
beforeAll(() => {
5+
// @ts-expect-error Turning off AfterAll -- ignore Jest LifeCycle Type
6+
// eslint-disable-next-line no-global-assign
7+
afterAll = false
8+
})
9+
10+
describe('first', () => {
11+
test('should patch console.error', () => {
12+
require('..')
13+
expect(console.error).not.toBe(originalConsoleError)
14+
})
15+
})
16+
17+
describe('second', () => {
18+
test('should still used patched console.error', () => {
19+
expect(console.error).not.toBe(originalConsoleError)
20+
})
21+
})
22+
})
23+
24+
export {}
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,10 @@
1-
import { renderHook } from '../pure'
2-
31
describe('error output suppression (pure) tests', () => {
4-
function useError(throwError?: boolean) {
5-
if (throwError) {
6-
throw new Error('expected')
7-
}
8-
return true
9-
}
10-
112
const originalConsoleError = console.error
12-
const mockConsoleError = jest.fn()
13-
14-
beforeEach(() => {
15-
console.error = mockConsoleError
16-
})
173

18-
afterEach(() => {
19-
console.error = originalConsoleError
20-
})
21-
22-
test('should not suppress error output', () => {
23-
const { result } = renderHook(() => useError(true))
24-
25-
expect(result.error).toEqual(Error('expected'))
26-
expect(mockConsoleError).toBeCalledWith(
27-
expect.stringMatching(/^Error: Uncaught \[Error: expected\]/),
28-
expect.any(Error)
29-
)
30-
expect(mockConsoleError).toBeCalledWith(
31-
expect.stringMatching(/^The above error occurred in the <TestComponent> component:/)
32-
)
33-
expect(mockConsoleError).toBeCalledTimes(2)
4+
test('should not patch console.error', () => {
5+
require('../pure')
6+
expect(console.error).toBe(originalConsoleError)
347
})
358
})
9+
10+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
describe('error output suppression (disabled) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
beforeAll(() => {
5+
process.env.RHTL_DISABLE_ERROR_FILTERING = 'true'
6+
})
7+
8+
test('should not patch console.error', () => {
9+
require('..')
10+
expect(console.error).toBe(originalConsoleError)
11+
})
12+
})
13+
14+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
describe('error output suppression (noAfterAll) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
beforeAll(() => {
5+
// @ts-expect-error Turning off AfterAll -- ignore Jest LifeCycle Type
6+
// eslint-disable-next-line no-global-assign
7+
afterAll = false
8+
})
9+
10+
describe('first', () => {
11+
test('should patch console.error', () => {
12+
require('..')
13+
expect(console.error).not.toBe(originalConsoleError)
14+
})
15+
})
16+
17+
describe('second', () => {
18+
test('should still used patched console.error', () => {
19+
expect(console.error).not.toBe(originalConsoleError)
20+
})
21+
})
22+
})
23+
24+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
describe('error output suppression (pure) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
test('should not patch console.error', () => {
5+
require('../pure')
6+
expect(console.error).toBe(originalConsoleError)
7+
})
8+
})
9+
10+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
describe('error output suppression (disabled) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
beforeAll(() => {
5+
process.env.RHTL_DISABLE_ERROR_FILTERING = 'true'
6+
})
7+
8+
test('should not patch console.error', () => {
9+
require('..')
10+
expect(console.error).toBe(originalConsoleError)
11+
})
12+
})
13+
14+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
describe('error output suppression (noAfterAll) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
beforeAll(() => {
5+
// @ts-expect-error Turning off AfterAll -- ignore Jest LifeCycle Type
6+
// eslint-disable-next-line no-global-assign
7+
afterAll = false
8+
})
9+
10+
describe('first', () => {
11+
test('should patch console.error', () => {
12+
require('..')
13+
expect(console.error).not.toBe(originalConsoleError)
14+
})
15+
})
16+
17+
describe('second', () => {
18+
test('should still used patched console.error', () => {
19+
expect(console.error).not.toBe(originalConsoleError)
20+
})
21+
})
22+
})
23+
24+
export {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
describe('error output suppression (pure) tests', () => {
2+
const originalConsoleError = console.error
3+
4+
test('should not patch console.error', () => {
5+
require('../pure')
6+
expect(console.error).toBe(originalConsoleError)
7+
})
8+
})
9+
10+
export {}

0 commit comments

Comments
 (0)