No More Posting New Topics!

If you have a question or an issue, please start a thread in our Github Discussions Forum.
This forum is closed for new threads/ topics.

Navigation

    Quasar Framework

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    JEST: "TypeError: Cannot read property 'platform' of undefined"

    Help
    1
    1
    481
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rafaelst2000 last edited by

      Hello guys, my tests sometimes is working and sometimes not. I don’t know why, but i’m getting this error in console, and the only platform i have is:

      <q-page
            class="row justify-center bg-neutral gc-bg-bottom-mobile"
            :class="{'gc-bg-bottom': !$q.platform.is.mobile && $q.screen.gt.sm,
                     'gc-bg-bottom-mobile': $q.platform.is.mobile || $q.screen.lt.sm,
                    }"
          >
      

      The test:

      import { createLocalVue, shallowMount, Wrapper } from '@vue/test-utils'
      import Vuex from 'vuex'
      import * as All from 'quasar'
      import Vuelidate from 'vuelidate'
      import GcLogin from '../GcLogin.vue'
      
      const localVue = createLocalVue()
      localVue.use(Vuelidate)
      localVue.use(Vuex)
      localVue.use(All.Quasar)
      
      fdescribe('GcCreateAccount', () => {
        let wrapper: Wrapper<GcLogin>
        let component: any
        beforeEach(() => {
          wrapper = shallowMount(GcLogin, { localVue })
          component = wrapper.vm
        })
      
        it('should create', () => {
          expect(wrapper).toBeTruthy()
        })
      
        it('should display error message when is invalid', () => {
          jest.spyOn(component.gc, 'notify')
          component.login()
          expect(component.gc.notify).toHaveBeenCalledWith(
            expect.objectContaining({
              icon: 'error',
              message: 'Preencha corretamente os campos obrigatórios (*)'
            })
          )
        })
      
        it('should be false when the required fields are filled ', async () => {
          wrapper.setData({
            user: {
              email: 'myemail@email.com',
              password: 'teste123'
            }
          })
          await component.$nextTick()
          await wrapper.vm.$forceUpdate()
          expect(component.$v.user.$invalid).toBeFalsy()
        })
      })
      

      Console:

      yarn run v1.22.10
      $ jest --updateSnapshot --watch
       PASS  src/pages/login/tests/gcLogin.spec.ts
        GcCreateAccount
          √ should create (14 ms)
          √ should display error message when is invalid (13 ms)
          √ should be false when the required fields are filled  (73 ms)
      
        console.error
          [Vue warn]: Error in render: "TypeError: Cannot read property 'platform' of undefined"
      
          found in
      
          ---> <GcLogin>
                 <GcLogin>
                   <Root>
      
            at warn (node_modules/vue/dist/vue.runtime.common.dev.js:621:15)
            at logError (node_modules/vue/dist/vue.runtime.common.dev.js:1880:5)
            at globalHandleError (node_modules/vue/dist/vue.runtime.common.dev.js:1875:3)
            at handleError (node_modules/vue/dist/vue.runtime.common.dev.js:1835:5)
            at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3540:7)
            at VueComponent.updateComponent (node_modules/vue/dist/vue.runtime.common.dev.js:4054:21)
            at Watcher.get (node_modules/vue/dist/vue.runtime.common.dev.js:4465:25)
      
        console.error
          TypeError: Cannot read property 'platform' of undefined
              at Proxy.render (C:\Users\Rafael\Documents\goclin\goclin-beta\src\shared\components\generic\gcInitialsLayout.vue:90:241)
              at VueComponent.Vue._render (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3538:22)
              at VueComponent.updateComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4054:21)
              at Watcher.get (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
              at new Watcher (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4454:12)
              at mountComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4061:3)
              at VueComponent.Object.<anonymous>.Vue.$mount (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:8392:10)
              at init (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3112:13)
              at createComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:5958:9)
              at createElm (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:5905:9)
              at VueComponent.patch [as __patch__] (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:6494:9)
              at VueComponent.Vue._update (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3936:19)
              at VueComponent.updateComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4054:10)
              at Watcher.get (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
              at Watcher.run (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4540:22)
              at flushSchedulerQueue (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4298:13)
              at Array.<anonymous> (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:1976:12)
              at flushCallbacks (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:1902:14)
              at Timeout.task [as _onTimeout] (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\jsdom\lib\jsdom\browser\Window.js:391:19)
              at listOnTimeout (internal/timers.js:549:17)
              at processTimers (internal/timers.js:492:7)
      
            at logError (node_modules/vue/dist/vue.runtime.common.dev.js:1884:13)
            at globalHandleError (node_modules/vue/dist/vue.runtime.common.dev.js:1875:3)
            at handleError (node_modules/vue/dist/vue.runtime.common.dev.js:1835:5)
            at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3540:7)
            at VueComponent.updateComponent (node_modules/vue/dist/vue.runtime.common.dev.js:4054:21)
            at Watcher.get (node_modules/vue/dist/vue.runtime.common.dev.js:4465:25)
            at new Watcher (node_modules/vue/dist/vue.runtime.common.dev.js:4454:12)
      
        console.error
          [Vue warn]: Error in render: "TypeError: Cannot read property 'platform' of undefined"
      
          found in
      
          ---> <GcLogin>
                 <GcLogin>
                   <Root>
      
            at warn (node_modules/vue/dist/vue.runtime.common.dev.js:621:15)
            at logError (node_modules/vue/dist/vue.runtime.common.dev.js:1880:5)
            at globalHandleError (node_modules/vue/dist/vue.runtime.common.dev.js:1875:3)
            at handleError (node_modules/vue/dist/vue.runtime.common.dev.js:1835:5)
            at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3540:7)
            at VueComponent.updateComponent (node_modules/vue/dist/vue.runtime.common.dev.js:4054:21)
            at Watcher.get (node_modules/vue/dist/vue.runtime.common.dev.js:4465:25)
      
        console.error
          TypeError: Cannot read property 'platform' of undefined
              at Proxy.render (C:\Users\Rafael\Documents\goclin\goclin-beta\src\shared\components\generic\gcInitialsLayout.vue:90:241)
              at VueComponent.Vue._render (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3538:22)
              at VueComponent.updateComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4054:21)
              at Watcher.get (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
              at new Watcher (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4454:12)
              at mountComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4061:3)
              at VueComponent.Object.<anonymous>.Vue.$mount (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:8392:10)
              at init (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3112:13)
              at createComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:5958:9)
              at createElm (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:5905:9)
              at VueComponent.patch [as __patch__] (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:6494:9)
              at VueComponent.Vue._update (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3936:19)
              at VueComponent.updateComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4054:10)
              at Watcher.get (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
              at Watcher.run (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4540:22)
              at flushSchedulerQueue (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4298:13)
              at Array.<anonymous> (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:1976:12)
              at flushCallbacks (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:1902:14)
              at Timeout.task [as _onTimeout] (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\jsdom\lib\jsdom\browser\Window.js:391:19)
              at listOnTimeout (internal/timers.js:549:17)
              at processTimers (internal/timers.js:492:7)
      
            at logError (node_modules/vue/dist/vue.runtime.common.dev.js:1884:13)
            at globalHandleError (node_modules/vue/dist/vue.runtime.common.dev.js:1875:3)
            at handleError (node_modules/vue/dist/vue.runtime.common.dev.js:1835:5)
            at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3540:7)
            at VueComponent.updateComponent (node_modules/vue/dist/vue.runtime.common.dev.js:4054:21)
            at Watcher.get (node_modules/vue/dist/vue.runtime.common.dev.js:4465:25)
            at new Watcher (node_modules/vue/dist/vue.runtime.common.dev.js:4454:12)
      
        console.error
          [Vue warn]: Error in render: "TypeError: Cannot read property 'platform' of undefined"
      
          found in
      
          ---> <GcLogin>
                 <GcLogin>
                   <Root>
      
            at warn (node_modules/vue/dist/vue.runtime.common.dev.js:621:15)
            at logError (node_modules/vue/dist/vue.runtime.common.dev.js:1880:5)
            at globalHandleError (node_modules/vue/dist/vue.runtime.common.dev.js:1875:3)
            at handleError (node_modules/vue/dist/vue.runtime.common.dev.js:1835:5)
            at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3540:7)
            at VueComponent.updateComponent (node_modules/vue/dist/vue.runtime.common.dev.js:4054:21)
            at Watcher.get (node_modules/vue/dist/vue.runtime.common.dev.js:4465:25)
      
        console.error
          TypeError: Cannot read property 'platform' of undefined
              at Proxy.render (C:\Users\Rafael\Documents\goclin\goclin-beta\src\shared\components\generic\gcInitialsLayout.vue:90:241)
              at VueComponent.Vue._render (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3538:22)
              at VueComponent.updateComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4054:21)
              at Watcher.get (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
              at new Watcher (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4454:12)
              at mountComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4061:3)
              at VueComponent.Object.<anonymous>.Vue.$mount (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:8392:10)
              at init (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3112:13)
              at createComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:5958:9)
              at createElm (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:5905:9)
              at VueComponent.patch [as __patch__] (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:6494:9)
              at VueComponent.Vue._update (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:3936:19)
              at VueComponent.updateComponent (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4054:10)
              at Watcher.get (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4465:25)
              at Watcher.run (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4540:22)
              at flushSchedulerQueue (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:4298:13)
              at Array.<anonymous> (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:1976:12)
              at flushCallbacks (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\vue\dist\vue.runtime.common.dev.js:1902:14)
              at Timeout.task [as _onTimeout] (C:\Users\Rafael\Documents\goclin\goclin-beta\node_modules\jsdom\lib\jsdom\browser\Window.js:391:19)
              at listOnTimeout (internal/timers.js:549:17)
              at processTimers (internal/timers.js:492:7)
      
            at logError (node_modules/vue/dist/vue.runtime.common.dev.js:1884:13)
            at globalHandleError (node_modules/vue/dist/vue.runtime.common.dev.js:1875:3)
            at handleError (node_modules/vue/dist/vue.runtime.common.dev.js:1835:5)
            at VueComponent.Vue._render (node_modules/vue/dist/vue.runtime.common.dev.js:3540:7)
            at VueComponent.updateComponent (node_modules/vue/dist/vue.runtime.common.dev.js:4054:21)
            at Watcher.get (node_modules/vue/dist/vue.runtime.common.dev.js:4465:25)
            at new Watcher (node_modules/vue/dist/vue.runtime.common.dev.js:4454:12)
      
      Test Suites: 1 passed, 1 total
      Tests:       3 passed, 3 total
      Snapshots:   0 total
      Time:        6.802 s
      Ran all test suites related to changed files.
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post