@quasar/extras/mdi-v4 jest unit testing failing



  • I am using the new SVG images. I have created a test for a header that contains a logo, name mdiMenu.

    import { mdiMenu } from '@quasar/extras/mdi-v4'
    

    But everything I am running the test: I always get this error:

    SyntaxError: Unexpected token 'export'
    
          29 | 
          30 | <script>
        > 31 | import { mdiMenu } from '@quasar/extras/mdi-v4'
    

    Do somebody else have encounter this problem and how can I solve this?

    This is the rest of the error message:

    This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.
    
        By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules".
    
        Here's what you can do:
         • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
         • If you need a custom transformation specify a "transform" option in your config.
         • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.        
    
        You'll find more details and examples of these config options in the docs:
        https://jestjs.io/docs/en/configuration.html
    
        Details:
    
        C:\Users\YohnCheung\work\bitBucket\central-station\node_modules\@quasar\extras\mdi-v4\index.js:3
        export const mdiAbTesting = 'M4 2A2 2 0 0 0 2 4V12H4V8H6V12H8V4A2 2 0 0 0 6 2H4M4 4H6V6H4M22 15.5V14A2 2 0 0 0 20 12H16V22H20A2 2 0 0 0 22 20V18.5A1.54 1.54 0 0 0 20.5 17A1.54 1.54 0 0 0 22 15.5M20 20H18V18H20V20M20 16H18V14H20M5.79 21.61L4.21 20.39L18.21 2.39L19.79 3.61Z'
        ^^^^^^
    
        SyntaxError: Unexpected token 'export'
    
          29 | 
          30 | <script>
        > 31 | import { mdiMenu } from '@quasar/extras/mdi-v4'
             | ^
          32 | 
          33 | export default {
          34 |   name: 'Header',
    
          at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:537:17)
          at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
          at src/components/header.vue:31:1
          at Object.<anonymous> (src/components/header.vue:73:3)
    


  • Hello! 🙂
    Correct transformation need to be configured.

     ...
     transform: {
        '^.+\\.jsx?$': require.resolve('babel-jest'),
     },
     ...
    

    and ensure it is transformed

      transformIgnorePatterns: ['node_modules/(?!(quasar|quasar/*|@quasar|@quasar/*))'],
    

    more info here: https://stackoverflow.com/questions/63481304/quasar-extras-mdi-v4-jest-unit-testing-failing-on-unexpected-token-export
    please upvote if it helped you, thanks 🙏


Log in to reply