0
votes

I try to mock some module (verificationToken). So I create folder __mock__ adjecent to my verificationToken module.

/actions
       | __mocks__
                   verificationToken.js
       | verificationToken.js
       | actions.js (import verificationToken from './verificationToken')

I created test for my component which uses actions.js. In action.js there is import statement. Jest clearly cannot mock verificationToken module and my test failed.

So then I tried to create folders __mocks__ adjecent to __tests__ folder but test also failed (same reason).

1

1 Answers

1
votes

Ok. I found a solution.

Note: In order to mock properly, Jest needs jest.mock('moduleName') to be in the same scope as the require/import statement.

Create __mock__ folder in actions. In component.test.js give location to that folder which in my case is:

jest.mock('../../../actions/verificationToken');

Project folders:

actions
      |__mocks__
                 | verificationToken.js
      |actions.js
      |verificationToken.js

components
         | __tests__
                     |component.test.js
         | component.js