Please provide the following:
- SDK Version: 48
- Platforms(Android/iOS/web/all): IOS
- #sdk #test #jest
After upgrading my project from Expo45 to Expo48, I encounter this error when running the test:
TypeError: Cannot read properties of undefined (reading 'exists')
at exists (node_modules/expo-asset/src/PlatformUtils.ts:65:17)
at asyncGeneratorStep (node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)
at _next (node_modules/@babel/runtime/helpers/asyncToGenerator.js:22:9)
The unit test itself is quite simple:
it('Should be able rendered properly', () => {
render(
<UserContext.Provider
value={[initialState, jest.fn()]}
>
<UpdatePasswordScreen />
</UserContext.Provider>,
);
});
The UpdatePasswordScreen component is like this:
<View style={styles.container}>
<Spinner
visible={showSpinner}
textContent={'Loading...'}
textStyle={{
color: '#FFFFFF',
}}
/>
<CustomInput
titleStyle={{
size: 13,
}}
titleContainerStyle={{
marginBottom: 10,
}}
containerStyle={{
marginBottom: 8,
}}
placeholder="Enter Password"
title="Old password"
value={oldPassword}
secureTextEntry={!showOldPassword}
onRenderLeftIcon={() => (
<Icon
name={showOldPassword ? 'eye' : 'eye-off'}
type="feather"
size={20}
color="#AFB4B9"
onPress={() => setShowOldPassword(!showOldPassword)}
/>
)}
onChangeText={setOldPassword}
/>
<View style={styles.confirmButton}>
<IconButton
text="Reset Password"
buttonStyle={{
height: 52,
width: 200,
}}
onPress={updatePassword}
disabled={!oldPassword || !newPassword
|| !confirmNewPassword || showPasswordErrorMessage()
|| newPassword !== confirmNewPassword
|| oldPasswordUnchanged
}
/>
</View>
</View>
I just want to render the component but it doesn’t work. The unit test run well under Expo45.
Any suggestions will be appreciated!