Difference between revisions of "Jest"

From Wasya Wiki
Jump to: navigation, search
(mock router)
 
Line 24: Line 24:
 
</pre>
 
</pre>
  
// From: https://stackoverflow.com/questions/58392815/how-to-mock-usehistory-hook-in-jest
+
From: https://stackoverflow.com/questions/58392815/how-to-mock-usehistory-hook-in-jest
 +
 
 
<pre>
 
<pre>
 
jest.mock('react-router-dom', () => ({
 
jest.mock('react-router-dom', () => ({
Line 33: Line 34:
 
}));
 
}));
 
</pre>
 
</pre>
 
  
 
== mock api ==
 
== mock api ==

Latest revision as of 18:02, 15 April 2025

does the element exist?

   logg(w.find('.BackBtn').exists(), 'found?')

dump the DOM

 render(<App />)
 logg(document, 'screen')

mock router

// const mockPush = jest.fn()
// jest.mock('react-router-dom', () => {
//   const originalModule = jest.requireActual('react-router-dom')
//   return {
//     __esModule: true,
//     ...originalModule,
//     useHistory: () => ({
//       push: mockPush,
//     }),
//   }
// })

From: https://stackoverflow.com/questions/58392815/how-to-mock-usehistory-hook-in-jest

jest.mock('react-router-dom', () => ({
  ...jest.requireActual('react-router-dom'),
  useHistory: () => ({
    goBack: jest.fn()
  })
}));

mock api

jest.mock('$shared/Api')
// jest.mock('$shared/Api', () => {
//   return {
//     __esModule: true,
//     default: () => {
//       return {
//         getCity: () => {
//           return new Promise((resolve, reject) => {
//             resolve({
//               data: {
//                 city: {
//                   newsitems: [{ name: 'report-name-2', item_type: 'Report' }]
//                 }
//               }
//             })
//           })
//         },
//       }
//     },
//   }
// })