From 0df012737f8770fbd6b6e93cf65312812625cb70 Mon Sep 17 00:00:00 2001 From: eps1lon Date: Sat, 12 Jun 2021 11:15:20 +0200 Subject: [PATCH] only restore the mock that was created in the same scope --- src/__tests__/new-act.js | 6 +++--- src/__tests__/no-act.js | 6 +++--- src/__tests__/old-act.js | 6 +++--- tests/setup-env.js | 9 ++++----- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/__tests__/new-act.js b/src/__tests__/new-act.js index 42552594..af81e29c 100644 --- a/src/__tests__/new-act.js +++ b/src/__tests__/new-act.js @@ -1,4 +1,4 @@ -let asyncAct +let asyncAct, consoleErrorMock jest.mock('react-dom/test-utils', () => ({ act: cb => { @@ -9,11 +9,11 @@ jest.mock('react-dom/test-utils', () => ({ beforeEach(() => { jest.resetModules() asyncAct = require('../act-compat').asyncAct - jest.spyOn(console, 'error').mockImplementation(() => {}) + consoleErrorMock = jest.spyOn(console, 'error').mockImplementation(() => {}) }) afterEach(() => { - console.error.mockRestore() + consoleErrorMock.mockRestore() }) test('async act works when it does not exist (older versions of react)', async () => { diff --git a/src/__tests__/no-act.js b/src/__tests__/no-act.js index 88c591c3..d739e763 100644 --- a/src/__tests__/no-act.js +++ b/src/__tests__/no-act.js @@ -1,15 +1,15 @@ -let act, asyncAct, React +let act, asyncAct, React, consoleErrorMock beforeEach(() => { jest.resetModules() act = require('../pure').act asyncAct = require('../act-compat').asyncAct React = require('react') - jest.spyOn(console, 'error').mockImplementation(() => {}) + consoleErrorMock = jest.spyOn(console, 'error').mockImplementation(() => {}) }) afterEach(() => { - console.error.mockRestore() + consoleErrorMock.mockRestore() }) jest.mock('react-dom/test-utils', () => ({})) diff --git a/src/__tests__/old-act.js b/src/__tests__/old-act.js index 0153fea3..6081fef8 100644 --- a/src/__tests__/old-act.js +++ b/src/__tests__/old-act.js @@ -1,13 +1,13 @@ -let asyncAct +let asyncAct, consoleErrorMock beforeEach(() => { jest.resetModules() asyncAct = require('../act-compat').asyncAct - jest.spyOn(console, 'error').mockImplementation(() => {}) + consoleErrorMock = jest.spyOn(console, 'error').mockImplementation(() => {}) }) afterEach(() => { - console.error.mockRestore() + consoleErrorMock.mockRestore() }) jest.mock('react-dom/test-utils', () => ({ diff --git a/tests/setup-env.js b/tests/setup-env.js index 71eeac3d..6c0b953b 100644 --- a/tests/setup-env.js +++ b/tests/setup-env.js @@ -1,8 +1,10 @@ import '@testing-library/jest-dom/extend-expect' +let consoleErrorMock + beforeEach(() => { const originalConsoleError = console.error - jest + consoleErrorMock = jest .spyOn(console, 'error') .mockImplementation((message, ...optionalParams) => { // Ignore ReactDOM.render/ReactDOM.hydrate deprecation warning @@ -14,8 +16,5 @@ beforeEach(() => { }) afterEach(() => { - // maybe another test already restore console error mocks - if (typeof console.error.mockRestore === 'function') { - console.error.mockRestore() - } + consoleErrorMock.mockRestore() })