test-utils
test-utils copied to clipboard
Access RuntimeConfig via $config returns undefined
Environment
- Operating System: Linux
- Node Version: v18.18.0
- Nuxt Version: 3.10.3
- CLI Version: 3.10.1
- Nitro Version: 2.9.3
- Package Manager: [email protected]
- Builder: -
- User Config: devtools, runtimeConfig, modules
- Runtime Modules: @nuxt/test-utils/[email protected]
- Build Modules: -
Reproduction
https://stackblitz.com/edit/nuxt-starter-j9nscj?file=vitest.config.ts
Describe the bug
Hi there,
during Migration i came across an issue. I still have some Options API Components which are using this.$config.public
to access Nuxt Runtime Config.
It seems to be working fine but whenever i run vitest i receive the following error:
TypeError: Cannot read properties of undefined (reading 'public')
An simple Workaround for this is to simply mock $config globally. But shouldn't $config be working out of the box?
Thank you!
Additional context
No response
Logs
TypeError: Cannot read properties of undefined (reading 'public')
❯ Proxy.data components/withPublicConfigAccess.vue:7:26
8| </template>
9|
10| <script>
| ^
11| export default {
12| data() {
❯ applyOptions node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:3460:30
❯ finishComponentSetup node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7663:7
❯ setupStatefulComponent node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7586:5
❯ setupComponent node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7515:36
❯ mountComponent node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5845:7
❯ processComponent node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5811:9
❯ patch node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5290:11
❯ ReactiveEffect.componentUpdateFn node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5955:11
❯ ReactiveEffect.run node_modules/@vue/reactivity/dist/reactivity.cjs.js:181:19