Skip to content

Commit d0f98dd

Browse files
committed
fix: avoid using jest.mock in AppEvents test
1 parent 313b486 commit d0f98dd

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

packages/pluggableWidgets/app-events-native/src/__tests__/AppEvents.spec.tsx

+19-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { actionValue } from "@mendix/piw-utils-internal";
22
import { createElement } from "react";
3-
import { AppStateStatus } from "react-native";
3+
import { AppStateStatus, AppState } from "react-native";
44
import { render } from "@testing-library/react-native";
55

66
import { AppEvents, Props } from "../AppEvents";
@@ -12,16 +12,6 @@ function flushMicrotasksQueue() {
1212
return new Promise(resolve => setImmediate(resolve));
1313
}
1414

15-
jest.mock("react-native", () => ({
16-
AppState: {
17-
currentState: "active",
18-
addEventListener: jest.fn((_type, listener) => {
19-
appStateChangeHandler = listener;
20-
return { remove: jest.fn(() => (appStateChangeHandler = undefined)) };
21-
})
22-
}
23-
}));
24-
2515
jest.mock("@react-native-community/netinfo", () => ({
2616
fetch: jest.fn(() => Promise.resolve({ isConnected: true })),
2717
addEventListener: jest.fn(listener => {
@@ -43,10 +33,27 @@ const defaultProps: Props = {
4333
};
4434

4535
describe("AppEvents", () => {
36+
let oldAppStateState: any;
37+
let oldAppStateEventListener: any;
38+
39+
beforeAll(() => {
40+
oldAppStateState = AppState.currentState;
41+
oldAppStateEventListener = AppState.addEventListener;
42+
AppState.currentState = "active";
43+
AppState.addEventListener = jest.fn((_type, listener) => {
44+
appStateChangeHandler = listener;
45+
return { remove: jest.fn(() => (appStateChangeHandler = undefined)) };
46+
});
47+
});
48+
49+
afterAll(() => {
50+
AppState.currentState = oldAppStateState;
51+
AppState.addEventListener = oldAppStateEventListener;
52+
});
53+
4654
afterEach(() => {
4755
appStateChangeHandler = undefined;
4856
connectionChangeHandler = undefined;
49-
// setTimeout(); NodeJS.Timeout;
5057
});
5158

5259
it("does not render anything", () => {

0 commit comments

Comments
 (0)