Material UI - TypeError: (0 , _capitalize.default) is not a function

270 Views Asked by At

On running jest tests locally, test suite fails when trying to mount the component with a ThemeProvider.

Unfortunately I cannot reproduce the issue on a repo. I tried to reproduce the same behaviour in the sandbox but the behaviour doesn't reproduce. See example here: https://codesandbox.io/s/fervent-nightingale-e7gg2?fontsize=14&hidenavigation=1&theme=dark

I'm using react-inl and @mui and in the test environment it just fails to compile. Complains about _capitalize.default not being a function, however I checked node_modules and the function is clearly there exported. Tried to re-install the packages as well just to make sure files are not corrupt.

It seems the error is happening when trying to mount the element in the virtual dom to run some unit tests. Snapshot testing with shallow rendering works just fine.

**Dump of the error**
TypeError: (0 , _capitalize.default) is not a function
    at InputBase (/home/circleci/project/node_modules/@material-ui/core/InputBase/InputBase.js:453:96)
    at renderWithHooks (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:15108:18)
    at updateForwardRef (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:16746:20)
    at beginWork$1 (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:18522:16)
    at HTMLUnknownElement.callCallback (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:347:14)
    at invokeEventListeners (/home/circleci/project/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:193:27)
    at HTMLUnknownElementImpl._dispatch (/home/circleci/project/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:119:9)
    at HTMLUnknownElementImpl.dispatchEvent (/home/circleci/project/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:82:17)
    at HTMLUnknownElementImpl.dispatchEvent (/home/circleci/project/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js:30:27)
    at HTMLUnknownElement.dispatchEvent (/home/circleci/project/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:157:21)
    at Object.invokeGuardedCallbackDev (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:397:16)
    at invokeGuardedCallback (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:454:31)
    at beginWork$$1 (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:23217:7)
    at performUnitOfWork (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:22211:12)
    at workLoopSync (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:22185:22)
    at renderRoot (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:21878:11)
    at scheduleUpdateOnFiber (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:21419:22)
    at scheduleRootUpdate (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:24319:3)
    at updateContainerAtExpirationTime (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:24347:10)
    at updateContainer (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:24436:10)
    at /home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:24963:7
    at unbatchedUpdates (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:21687:12)
    at legacyRenderSubtreeIntoContainer (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:24962:5)
    at Object.render (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:25042:12)
    at fn (/home/circleci/project/node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:437:26)
    at /home/circleci/project/node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:354:37
    at batchedUpdates$1 (/home/circleci/project/node_modules/react-dom/cjs/react-dom.development.js:21643:12)
    at act (/home/circleci/project/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1002:14)
    at Object.act (/home/circleci/project/node_modules/react-dom/cjs/react-dom-test-utils.development.js:1418:12)
    at wrapAct (/home/circleci/project/node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:354:13)
    at Object.render (/home/circleci/project/node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:423:16)
    at new ReactWrapper (/home/circleci/project/node_modules/enzyme/src/ReactWrapper.js:115:16)
    at mount (/home/circleci/project/node_modules/enzyme/src/mount.js:10:10)
    at mountWithIntl (/home/circleci/project/test/intlHelper.js:22:10)
    at Suite.<anonymous> (/home/circleci/project/src/app/components/statisticsFilter.test.js:52:23)
    at addSpecsToSuite (/home/circleci/project/node_modules/jest-jasmine2/build/jasmine/Env.js:339:25)
    at Env.describe (/home/circleci/project/node_modules/jest-jasmine2/build/jasmine/Env.js:308:7)
    at describe (/home/circleci/project/node_modules/jest-jasmine2/build/jasmine/jasmine_light.js:99:18)
    at Object.<anonymous> (/home/circleci/project/src/app/components/statisticsFilter.test.js:26:1)
    at Runtime._execModule (/home/circleci/project/node_modules/jest-runtime/build/index.js:694:13)
    at Runtime.requireModule (/home/circleci/project/node_modules/jest-runtime/build/index.js:376:14)
    at /home/circleci/project/node_modules/jest-jasmine2/build/index.js:129:13
    at Generator.next (<anonymous>)
    at step (/home/circleci/project/node_modules/jest-jasmine2/build/index.js:170:30)
    at /home/circleci/project/node_modules/jest-jasmine2/build/index.js:189:14
    at new Promise (<anonymous>)
    at /home/circleci/project/node_modules/jest-jasmine2/build/index.js:167:12
    at jasmine2 (/home/circleci/project/node_modules/jest-jasmine2/build/index.js:138:17)
    at /home/circleci/project/node_modules/jest-runner/build/run_test.js:187:24
    at Generator.next (<anonymous>)
    at step (/home/circleci/project/node_modules/jest-runner/build/run_test.js:315:30)
    at /home/circleci/project/node_modules/jest-runner/build/run_test.js:326:15
    at process._tickCallback (internal/process/next_tick.js:68:7)

Context

Trying to run the tests locally and it just breaks when trying to mount things.

Your Environment

React: 16.9.0
Flow: 0.2.2.3
Flow-typed: 2.5.1
Material UI Core: 4.11.0
Material UI Icons: 4.9.1
Material UI Pickers: 3.2.10
Material UI Lab: 4.0.0-alpha.56

0

There are 0 best solutions below