mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Update AccessibilityInfo mocks to return promises (#45825)
Summary: Many `AccessibilityInfo` functions (`isReduceMotionEnabled`, `isBoldTextEnabled`, etc.) return promises, but the mocked versions of them in jest/setup.js aren't returning promises. All of these functions live in [packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js](https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js), where you can verify their return types are Promises. When using `react-native/jest-preset` and running tests that utilize one of these functions, you'll get an error: ``` AccessibilityInfo.isReduceMotionEnabled().then() is not a function ``` https://github.com/facebook/react-native/pull/29381 was opened in 2020 but closed after becoming stale. My PR is nearly identical but covers additional Promise-returning functions that have been added to `AccessibilityInfo` since then. ## Changelog: [GENERAL] [FIXED] - Update the react-native/jest-preset mock of AccessibilityInfo to better match its API Pull Request resolved: https://github.com/facebook/react-native/pull/45825 Test Plan: I've tested by making the change locally in my project's `node_modules/react-native/jest/setup.js` file and confirming that I no longer get an error when running this test: ``` it("should pass", async () => { await AccessibilityInfo.isReduceMotionEnabled().then(enabled => { expect(enabled).toBe(false); }); }); ``` Before: ``` TypeError: Cannot read properties of undefined (reading 'then') 16 | 17 | it.only("should pass", async () => { > 18 | await AccessibilityInfo.isReduceMotionEnabled().then(enabled => { | ^ 19 | expect(enabled).toBe(false); 20 | }); 21 | }); ``` After: No type error, and test passes. Reviewed By: robhogan Differential Revision: D60519836 Pulled By: tdn120 fbshipit-source-id: 24fc77b0f9693e131686a0a45b81fbd33ff65f01
This commit is contained in:
committed by
Facebook GitHub Bot
parent
2f651c8783
commit
8d6ec66b48
Vendored
+8
-8
@@ -146,17 +146,17 @@ jest
|
||||
remove: jest.fn(),
|
||||
})),
|
||||
announceForAccessibility: jest.fn(),
|
||||
isAccessibilityServiceEnabled: jest.fn(),
|
||||
isBoldTextEnabled: jest.fn(),
|
||||
isGrayscaleEnabled: jest.fn(),
|
||||
isInvertColorsEnabled: jest.fn(),
|
||||
isReduceMotionEnabled: jest.fn(),
|
||||
prefersCrossFadeTransitions: jest.fn(),
|
||||
isReduceTransparencyEnabled: jest.fn(),
|
||||
isAccessibilityServiceEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
isBoldTextEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
isGrayscaleEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
isInvertColorsEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
isReduceMotionEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
prefersCrossFadeTransitions: jest.fn(() => Promise.resolve(false)),
|
||||
isReduceTransparencyEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
isScreenReaderEnabled: jest.fn(() => Promise.resolve(false)),
|
||||
setAccessibilityFocus: jest.fn(),
|
||||
sendAccessibilityEvent: jest.fn(),
|
||||
getRecommendedTimeoutMillis: jest.fn(),
|
||||
getRecommendedTimeoutMillis: jest.fn(() => Promise.resolve(false)),
|
||||
},
|
||||
}))
|
||||
.mock('../Libraries/Components/Clipboard/Clipboard', () => ({
|
||||
|
||||
Reference in New Issue
Block a user