LinusU/react-native-get-random-values

Error Cannot read property 'getRandomBase64' of undefined when running test file

gandarain opened this issue · 4 comments

I try use package uuid and react native get random values to create random uuid. Everything is fine and working. But when I try run my test file using jest, and I get an error Cannot read property 'getRandomBase64' of undefined.
How to solve this error?

Thanks.

Screen Shot 2020-10-02 at 10 37 22

i'm getting this too.

I was having this problem as well while using jest to test my Entrypoint file.

My Entrypoint had the following for import Expo SDK@39.0.3 to support calling UUID@8.3.1:

import 'react-native-get-random-values';

Because my Entrypoint file was trying to import the react-native-get-random-values for shallow rendering, it was throwing the Cannot read property 'getRandomBase64' of undefined error when getting tested since it wasn't being set up correctly during the test.

I ended up solving this by mocking out the function call for getRandomBase64 in my Entrypoint test file like this:

jest.mock('react-native-get-random-values', () => ({
  getRandomBase64: jest.fn(),
}));

@aav7fl thanks, mocking helped

I was having the same problem.

Mocked it a bit differently though.

jest.mock('react-native-get-random-values/getRandomBase64', (arr='bla') => (  
  Buffer.from(arr, 'base64').toString('ascii')
))