Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jest not working on new install of quasar and @quasar/testing-unit-jest@3.0.0-beta.7 #375

Open
whoacowboy opened this issue May 13, 2024 · 0 comments

Comments

@whoacowboy
Copy link

Software version

OS: MacOS Sonoma 14.2
Node: v20.11.0
NPM: 10.2.4
jest: 29.7.0
yarn: 1.22.21

What did you get as the error?

 FAIL  test/jest/__tests__/MyDialog.spec.js
  ● MyDialog › should mount the document body and expose for testing

    TypeError: Cannot convert undefined or null to object
        at Function.assign (<anonymous>)

      10 |
      11 |   beforeEach(() => {
    > 12 |     wrapper = mount(MyDialog);
         |                    ^
      13 |     // Always use `wrapper.vm.myProperty` to access properties
      14 |     // returned by setup() or defined into <script setup>
      15 |     // See https://test-utils.vuejs.org/api/#vm

      at Ff (node_modules/quasar/dist/quasar.server.prod.cjs:7:19685)
      at Object.install (node_modules/quasar/dist/quasar.server.prod.cjs:127:19342)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8289:25)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at Object.<anonymous> (test/jest/__tests__/MyDialog.spec.js:12:20)

  ● MyDialog › can check the inner text of the dialog

    TypeError: Cannot convert undefined or null to object
        at Function.assign (<anonymous>)

      10 |
      11 |   beforeEach(() => {
    > 12 |     wrapper = mount(MyDialog);
         |                    ^
      13 |     // Always use `wrapper.vm.myProperty` to access properties
      14 |     // returned by setup() or defined into <script setup>
      15 |     // See https://test-utils.vuejs.org/api/#vm

      at Ff (node_modules/quasar/dist/quasar.server.prod.cjs:7:19685)
      at Object.install (node_modules/quasar/dist/quasar.server.prod.cjs:127:19342)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8289:25)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at Object.<anonymous> (test/jest/__tests__/MyDialog.spec.js:12:20)

 FAIL  test/jest/__tests__/MyButton.spec.js
  ● MyButton › has increment method

    TypeError: Cannot convert undefined or null to object
        at Function.assign (<anonymous>)

      10 | describe('MyButton', () => {
      11 |   it('has increment method', () => {
    > 12 |     const wrapper = mount(MyButton);
         |                          ^
      13 |     const { vm } = wrapper;
      14 |
      15 |     expect(typeof vm.increment).toBe('function');

      at Ff (node_modules/quasar/dist/quasar.server.prod.cjs:7:19685)
      at Object.install (node_modules/quasar/dist/quasar.server.prod.cjs:127:19342)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8289:25)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at Object.<anonymous> (test/jest/__tests__/MyButton.spec.js:12:26)

  ● MyButton › can check the inner text content

    TypeError: Cannot convert undefined or null to object
        at Function.assign (<anonymous>)

      17 |
      18 |   it('can check the inner text content', () => {
    > 19 |     const wrapper = mount(MyButton);
         |                          ^
      20 |     const { vm } = wrapper;
      21 |
      22 |     expect(vm.$el.textContent).toContain('rocket muffin');

      at Ff (node_modules/quasar/dist/quasar.server.prod.cjs:7:19685)
      at Object.install (node_modules/quasar/dist/quasar.server.prod.cjs:127:19342)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8289:25)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at Object.<anonymous> (test/jest/__tests__/MyButton.spec.js:19:26)

  ● MyButton › sets the correct default data

    TypeError: Cannot convert undefined or null to object
        at Function.assign (<anonymous>)

      25 |
      26 |   it('sets the correct default data', () => {
    > 27 |     const wrapper = mount(MyButton);
         |                          ^
      28 |     const { vm } = wrapper;
      29 |
      30 |     expect(typeof vm.counter).toBe('number');

      at Ff (node_modules/quasar/dist/quasar.server.prod.cjs:7:19685)
      at Object.install (node_modules/quasar/dist/quasar.server.prod.cjs:127:19342)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8289:25)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at Object.<anonymous> (test/jest/__tests__/MyButton.spec.js:27:26)

  ● MyButton › correctly updates counter when button is pressed

    TypeError: Cannot convert undefined or null to object
        at Function.assign (<anonymous>)

      33 |
      34 |   it('correctly updates counter when button is pressed', async () => {
    > 35 |     const wrapper = shallowMount(MyButton);
         |                                 ^
      36 |     const { vm } = wrapper;
      37 |
      38 |     const button = wrapper.findComponent(QBtn);

      at Ff (node_modules/quasar/dist/quasar.server.prod.cjs:7:19685)
      at Object.install (node_modules/quasar/dist/quasar.server.prod.cjs:127:19342)
      at Object.use (node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3854:18)
      at createInstance (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8289:25)
      at mount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8385:14)
      at shallowMount (node_modules/@vue/test-utils/dist/vue-test-utils.cjs.js:8434:12)
      at Object.<anonymous> (test/jest/__tests__/MyButton.spec.js:35:33)

Test Suites: 2 failed, 2 total
Tests:       6 failed, 6 total
Snapshots:   0 total
Time:        0.844 s, estimated 3 s
Ran all test suites.

What were you expecting?

I was expecting all tests to pass.

What steps did you take, to get the error?

Repo with error.

I did a clean install of a new quasar app.

yarn create quasar

Added @quasar/testing-unit-jest@3.0.0-beta.7

quasar ext add @quasar/testing-unit-jest@3.0.0-beta.7

When running jest at this point I received the same error as @antonio-masotti described here #373.

Per @IlCallo suggestion, I commented line 46 of the jest-preset.mjs.

'^quasar$': 'quasar/dist/quasar.esm.prod.js',

Now when I run jest I receive the above failed tests.

To reproduce you can clone the repo, run yarn install and comment out line 46 of the jest-preset.mjs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant