bhubr / react-simple-oauth2-login

Simple React component for OAuth2 login - Supports Authorization Code and Implicit Grant flows.
MIT License
49 stars 31 forks source link

Tests don't work anymore 😱 #24

Closed bhubr closed 3 years ago

bhubr commented 3 years ago
[benoit@mbp] ~/Code/react-simple-oauth2-login (master) $ npm test

> react-simple-oauth2-login@0.2.0 test
> jest

Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db
 FAIL  src/__tests__/OAuth2Login.test.js
  ● Test suite failed to run

    Cannot find module 'react/lib/ReactComponentTreeHook' from 'ReactDebugTool.js'

    Require stack:
      node_modules/react-test-renderer/lib/ReactDebugTool.js
      node_modules/react-test-renderer/lib/ReactInstrumentation.js
      node_modules/react-test-renderer/lib/ReactReconciler.js
      node_modules/react-test-renderer/lib/ReactUpdates.js
      node_modules/react-test-renderer/lib/ReactDefaultBatchingStrategy.js
      node_modules/react-test-renderer/lib/ReactTestRenderer.js
      node_modules/react-test-renderer/index.js
      src/__tests__/OAuth2Login.test.js

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:299:11)
      at Object.<anonymous> (node_modules/react-test-renderer/lib/ReactDebugTool.js:14:30)
bhubr commented 3 years ago

After updating react-test-renderer to 16.x, we get another error:

  console.error
    Error: Not implemented: window.open
        at module.exports (/Users/benoit/Code/react-simple-oauth2-login/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
        at open (/Users/benoit/Code/react-simple-oauth2-login/node_modules/jsdom/lib/jsdom/browser/Window.js:563:7)
        at PopupWindow.open (/Users/benoit/Code/react-simple-oauth2-login/src/PopupWindow.js:14:26)
        at Function.open (/Users/benoit/Code/react-simple-oauth2-login/src/PopupWindow.js:80:11)
        at OAuth2Login.onBtnClick (/Users/benoit/Code/react-simple-oauth2-login/src/OAuth2Login.jsx:45:31)
        at /Users/benoit/Code/react-simple-oauth2-login/node_modules/enzyme/build/ShallowWrapper.js:844:23
        at batchedUpdates$1 (/Users/benoit/Code/react-simple-oauth2-login/node_modules/react-dom/cjs/react-dom.development.js:21856:12)
        at performBatchedUpdates (/Users/benoit/Code/react-simple-oauth2-login/node_modules/enzyme/build/ShallowWrapper.js:106:42)
        at /Users/benoit/Code/react-simple-oauth2-login/node_modules/enzyme/build/ShallowWrapper.js:843:13
        at withSetStateAllowed (/Users/benoit/Code/react-simple-oauth2-login/node_modules/enzyme/build/Utils.js:284:3) undefined

It is apparently normal, judging from jsdom's Window implementation (as of June 15th 2021)

bhubr commented 3 years ago

Among other things: