1

I have sucessfully setup Jest with Quasar and Vue and most of my tests work. The only test that is failing is this one because of the following error message

Jest encountered an unexpected token

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:

/Users/kristijanstefanoski/Desktop/Projektt/Quasar/projektt/node_modules/capacitor-firebase-auth/dist/esm/index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){export * from './definitions';
                                                                                         ^^^^^^

SyntaxError: Unexpected token 'export'

> 1 | import * as auth from 'capacitor-firebase-auth';
    | ^
  2 | import * as firebase from "firebase";
  3 | import store from '../store';
  4 | import {set} from "src/mixins/storage";

  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 Object.<anonymous> (src/mixins/auth.js:1:1)

I have already added the following in my jest config:

  transformIgnorePatterns: [
    '<rootDir>/node_modules/(?!quasar/lang)',
    '<rootDir>/node_modules/(?!capacitor-firebase-auth/)',
  ],

I also tried the following

  transformIgnorePatterns: [
    '<rootDir>/node_modules/(?!quasar/lang)',
    '<rootDir>/node_modules/(?!capacitor-firebase-auth/dist/esm/)',
  ],

But again without luck. Anything I might be missing?

skyboyer
  • 22,209
  • 7
  • 57
  • 64
myoda999
  • 335
  • 2
  • 11
  • I don't think the problem is with firebase itself. This happens often with Jest and babel when you're importing files such as `.css`. Can you show the test file? – Tony Jul 12 '20 at 14:48
  • @Tony It is just plain Snapshot test file, just importing the component and running the test against it – myoda999 Jul 12 '20 at 15:34
  • Yes and if that component imports files that aren't included in the `moduleFileExtensions`. Jest will not be able to handle them as stated in the error log >`This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.`. Which is why I need to check your test file and component file. If that is the case you'll need to stub/mock those files – Tony Jul 13 '20 at 15:06

0 Answers0