\r\n\u003C/template>\r\n\u003Cscript setup lang=\"ts\">\u003C/script>\r\n```\r\n\r\nApp.vue\r\n```\r\n\u003Ctemplate>\r\n \u003Cdiv>Message: {{ getMessage(\"Hello World\") }}\u003C/div>\r\n\u003C/template>\r\n\u003Cscript setup lang=\"ts\">\r\nimport { getMessage } from \"@/service/message-service\";\r\n```\r\n\r\nApp.test.ts\r\n```\r\nimport { it, expect, vi } from \"vitest\";\r\nimport { mountSuspended } from \"@nuxt/test-utils/runtime\";\r\nimport App from \"../../layouts/default.vue\";\r\n\r\nvi.mock(\"@/service/message-service\", () => {\r\n return {\r\n getMessage: () => \"hello from mock!!\",\r\n };\r\n});\r\n\r\n\r\nit(\"nuxt unit testing\", async () => {\r\n const component = await mountSuspended(App, { route: \"/\" });\r\n expect(component.html()).toMatchInlineSnapshot(\r\n `\"\u003Cdiv>Message: hello Hello World\u003C/div>\"`\r\n );\r\n});\r\n\r\n```\r\n\r\nmessage-service.ts\r\n```\r\nexport function getMessage(message: string): string {\r\n console.log(\"FROM ACTUAL\");\r\n return `hell ${message}`;\r\n}\r\n```\r\n\n\n### Describe the bug\n\nI was expecting vitest vi.mock should be able to mock imports to provide custom/mock implementation, however it seems that vi.mock is not working in the context of nuxt test?\r\n\r\nIf so, how are we suppose to create unit tests and/or E2E using nuxt/test-utils package and be able to provide flexible mocking mechanism?\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2004,2005,2008],{"name":1985,"color":1986},{"name":2006,"color":2007},"vitest-environment","b60205",{"name":2009,"color":2010},"pending triage","5D08F5",935,"test-utils","How to mock custom imports while using mountSuspended to test","2024-09-09T02:17:10Z","https://github.com/nuxt/test-utils/issues/935",0.7440364,{"description":2018,"labels":2019,"number":2021,"owner":1994,"repository":2012,"state":1996,"title":2022,"updated_at":2023,"url":2024,"score":2025},"### Environment\r\n\r\n- Operating System: `Darwin`\r\n- Node Version: `v20.8.1`\r\n- Nuxt Version: `3.9.0`\r\n- CLI Version: `3.10.0`\r\n- Nitro Version: `2.8.1`\r\n- Package Manager: `yarn@1.22.19`\r\n- Builder: `-`\r\n- User Config: `devtools`, `modules`\r\n- Runtime Modules: `@nuxt/test-utils/module@3.9.0`\r\n- Build Modules: `-`\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/github-gee6qy?file=app.vue\r\n\r\n### Describe the bug\r\n\r\nOnce I expose a variable called `error` within the setup, the component fails to render. \r\nSince everything works within the dev server / build, I suspect this is something within `@nuxt/test-utils`\r\n\r\nAfter renaming the `error` variable to something else, the component can be mounted within the tests again.\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Logs\r\n\r\n```shell-script\r\nVitest caught 1 unhandled error during the test run.\r\nThis might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\nTypeError: 'set' on proxy: trap returned falsish for property 'error'\r\n ❯ clonedComponent.render node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:128:44\r\n 126| renderContext[key] = passedProps[key];\r\n 127| }\r\n 128| return render.call(this, renderContext, ...args);\r\n | ^\r\n 129| } : void 0,\r\n 130| setup: setup ? (props2) => wrappedSetup(props2, setupContext) : void 0\r\n ❯ renderComponentRoot node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:868:16\r\n ❯ ReactiveEffect.componentUpdateFn node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:46\r\n ❯ ReactiveEffect.run node_modules/@vue/reactivity/dist/reactivity.cjs.js:174:19\r\n ❯ instance.update node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6053:16\r\n ❯ setupRenderEffect node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6063:5\r\n ❯ eval node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:1613:9\r\n\r\nThis error originated in \"test/app.nuxt.test.ts\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\r\nThe latest test that might've caused the error is \"Should mount\". It might mean one of the following:\r\n- The error was thrown, while Vitest was running this test.\r\n- This was the last recorded test before the error was thrown, if error originated after test finished its execution.\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\n```\r\n```\r\n",[2020],{"name":1985,"color":1986},684,"mountSuspended fails: 'set' on proxy: trap returned falsish for property 'error'","2025-03-14T15:14:45Z","https://github.com/nuxt/test-utils/issues/684",0.74778897,{"description":2027,"labels":2028,"number":2034,"owner":1994,"repository":1995,"state":1996,"title":2035,"updated_at":2036,"url":2037,"score":2038},"### Environment\n\n\n\n- Operating System: Darwin\n- Node Version: v23.9.0\n- Nuxt Version: 3.16.2\n- CLI Version: 3.24.1\n- Nitro Version: 2.11.8\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: compatibilityDate, devtools, modules, components, css, devServer, ssr, vuefire, runtimeConfig\n- Runtime Modules: @nuxt/image@1.10.0, @nuxt/ui-pro@3.0.2, nuxt-vuefire@1.0.5\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.2\n\n### Reproduction\n\nThis is noticeable on the documentation [page](https://ui.nuxt.com/components/navigation-menu#orientation) for any vertical navigation menu with children navigation items. \n\n### Description\n\nThe parent item renders as a `\u003Cbutton>` tag instead of the `\u003Ca>` tags of other navigation menu items. This means the `to:` attribute is ignored (and target) and can't be clicked on. This is likely due to the parent and children being converted to a Collapsible component under the hood. \n\nWhen the orientation is horizontal, however, you can have both the parent and children be links - where they render `\u003Ca>` tags. Hovering over the horizontal parent shows the children, but the parent can still be a link.\n\nIdeally, we could set a boolean to control whether the children are converted to a Collapsible or not. Or wrap the Collapsible parent around a link. Understandably, the click then couldn't trigger opening/closing the collapsible (maybe the icon triggers opening/closing, while the label can still have the Link attributes available).\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2029,2030,2031],{"name":1985,"color":1986},{"name":1991,"color":1992},{"name":2032,"color":2033},"triage","ffffff",3911,"[NavigationMenu] Vertical menu with children doesn't respect parent Link attributes.","2025-04-16T00:38:30Z","https://github.com/nuxt/ui/issues/3911",0.7478698,{"description":2040,"labels":2041,"number":2042,"owner":1994,"repository":2043,"state":1996,"title":2044,"updated_at":2045,"url":2046,"score":2047},"Hello Nuxters,\r\n\r\nI'm a fan and a supporter of nuxt and wanted to contribute in any way possible.\r\nNot sure if it is under cooking, but if not, I would be glad to add a deploy page for (Coolify.io)[https://coolify.io/]\r\n\r\nPlease let me know if that would be an acceptable pull request.\r\n\r\nThanks,\r\nMohannad",[],1609,"nuxt.com","docs: add deploy to Coolify.io","2024-07-19T06:05:15Z","https://github.com/nuxt/nuxt.com/issues/1609",0.7526103,{"description":2049,"labels":2050,"number":2054,"owner":1994,"repository":2012,"state":2055,"title":2056,"updated_at":2057,"url":2058,"score":2059},"### Environment\n\nReproduction: https://stackblitz.com/edit/github-gu1sj1-xq3xf8?file=tests%2Fe2e%2Fbasic.e2e.test.ts\r\n\r\nA minimal repo with just [vitest](https://github.com/vitest-dev/vitest) and [@nuxt/test-utils](https://github.com/nuxt/test-utils), an app.vue, and a `pages/index.vue` fails with error:\r\n\r\n```js\r\n❯ npm run test\r\n\r\n> test\r\n> vitest\r\n\r\nRunning with compatibility version `4`\r\n\r\n DEV v1.6.0 /home/projects/github-gu1sj1-xq3xf8/app\r\n\r\n ❯ ../tests/e2e/basic.e2e.test.ts (1)\r\n ❯ basic (1)\r\n ⠹ [ beforeAll ]\r\n · contains Welcome to Nuxt! string\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\n FAIL ../tests/e2e/basic.e2e.test.ts > basic\r\nError: Cannot find any nuxt version from ./app\r\n ❯ Module.loadNuxt ../node_modules/@nuxt/kit/dist/index.mjs:2729:11\r\n ❯ loadFixture ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:102:14\r\n 100| });\r\n 101| const buildDir = ctx.nuxt.options.buildDir;\r\n 102| if (!existsSync(buildDir)) {\r\n | ^\r\n 103| await promises.mkdir(buildDir, { recursive: true });\r\n 104| ctx.teardown = ctx.teardown || [];\r\n ❯ setup2 ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:178:7\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯\r\n\r\n Test Files 1 failed (1)\r\n Tests (1)\r\n Start at 09:54:14\r\n Duration 4.84s (transform 445ms, setup 45ms, collect 2.14s, tests 5ms, environment 0ms, prepare 807ms)\r\n```\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-gu1sj1-xq3xf8?file=tests%2Fe2e%2Fbasic.e2e.test.ts\n\n### Describe the bug\n\nCannot successfully end-to-end test if there is a pages directory with an index.vue.\n\n### Additional context\n\n```\r\n\"dependencies\": {\r\n \"@nuxt/test-utils\": \"^3.13.1\",\r\n \"nuxt\": \"^3.12.3\",\r\n \"vitest\": \"^1.4.0\",\r\n \"vue\": \"latest\"\r\n }\r\n```\n\n### Logs\n\n```shell-script\n❯ npm run test\r\n\r\n> test\r\n> vitest\r\n\r\nRunning with compatibility version `4`\r\n\r\n DEV v1.6.0 /home/projects/github-gu1sj1-xq3xf8/app\r\n\r\n ❯ ../tests/e2e/basic.e2e.test.ts (1)\r\n ❯ basic (1)\r\n ⠹ [ beforeAll ]\r\n · contains Welcome to Nuxt! string\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\n FAIL ../tests/e2e/basic.e2e.test.ts > basic\r\nError: Cannot find any nuxt version from ./app\r\n ❯ Module.loadNuxt ../node_modules/@nuxt/kit/dist/index.mjs:2729:11\r\n ❯ loadFixture ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:102:14\r\n 100| });\r\n 101| const buildDir = ctx.nuxt.options.buildDir;\r\n 102| if (!existsSync(buildDir)) {\r\n | ^\r\n 103| await promises.mkdir(buildDir, { recursive: true });\r\n 104| ctx.teardown = ctx.teardown || [];\r\n ❯ setup2 ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:178:7\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯\r\n\r\n Test Files 1 failed (1)\r\n Tests (1)\r\n Start at 09:54:14\r\n Duration 4.84s (transform 445ms, setup 45ms, collect 2.14s, tests 5ms, environment 0ms, prepare 807ms)\n```\n",[2051,2052,2053],{"name":1985,"color":1986},{"name":2006,"color":2007},{"name":2009,"color":2010},895,"closed","Adding `/pages/index.vue` breaks e2e testing","2024-07-18T14:13:18Z","https://github.com/nuxt/test-utils/issues/895",0.6859107,{"description":2061,"labels":2062,"number":2065,"owner":1994,"repository":2043,"state":2055,"title":2066,"updated_at":2067,"url":2068,"score":2069},"The mobile menu is empty on a module page. Ex : https://nuxt.com/modules/tailwindcss\n\n\n",[2063],{"name":1985,"color":2064},"ff281a",1045,"[Modules/:slug] Empty menu on mobile","2023-02-15T12:31:05Z","https://github.com/nuxt/nuxt.com/issues/1045",0.7133509,{"description":2071,"labels":2072,"number":2078,"owner":1994,"repository":1995,"state":2055,"title":2079,"updated_at":2080,"url":2081,"score":2082},"### Description\n\nThe [migration](https://ui.nuxt.com/getting-started/migration) page should mention that the old implementation of [DatePicker](https://ui2.nuxt.com/components/date-picker#installation) component is no longer correct as it throw an error on v3.\n\n\n\n### Additional context\n\nNew [DatePicker](https://ui.nuxt.com/components/calendar#as-a-datepicker) implementation is different.",[2073,2076,2077],{"name":2074,"color":2075},"enhancement","a2eeef",{"name":1991,"color":1992},{"name":2032,"color":2033},3557,"`DatePicker` v2 migration guide","2025-03-17T16:17:06Z","https://github.com/nuxt/ui/issues/3557",0.72887707,{"description":2084,"labels":2085,"number":2088,"owner":1994,"repository":1995,"state":2055,"title":2089,"updated_at":2090,"url":2091,"score":2092},"### For what version of Nuxt UI are you suggesting this?\n\nv3-alpha\n\n### Description\n\nAdd a `lang` prop for the `UApp` component that will accept a string with the locale code. \n\nAdding the `i18n` integration I think will be overkill (@benjamincanac, what do you think?).\n\n### Additional context\n\nExample:\n* https://element-plus.org/en-US/guide/i18n.html \n* https://vuetifyjs.com/en/features/internationalization/\n* https://quasar.dev/options/app-internationalization/",[2086,2087],{"name":2074,"color":2075},{"name":1991,"color":1992},2512,"i18n for string literals","2024-11-08T16:25:58Z","https://github.com/nuxt/ui/issues/2512",0.7327808,{"description":2094,"labels":2095,"number":2098,"owner":1994,"repository":1995,"state":2055,"title":2099,"updated_at":2100,"url":2101,"score":2102},"### Environment\n\n- Operating System: Darwin\n- Node Version: v20.18.0\n- Nuxt Version: 3.15.4\n- CLI Version: 3.21.1\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@9.12.3\n- Builder: -\n- User Config: future, compatibilityDate, devtools, modules, css, hub, runtimeConfig, nitro\n- Runtime Modules: @nuxt/ui-pro@3.0.0-alpha.12, @nuxt/content@3.1.1, nuxt-auth-utils@0.5.15, @nuxthub/core@0.8.17, @vueuse/nuxt@11.3.0, nuxt-countdown@1.2.0, @nuxt/scripts@0.9.5\n- Build Modules: -\n\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0-alpha.12\n\n### Reproduction\n\n```\n\u003Ctemplate>\n \u003CUModal>\n \u003CUButton label=\"Open\" color=\"neutral\" variant=\"subtle\" />\n\n \u003Ctemplate #body>\n \u003CPlaceholder class=\"h-48\" />\n \u003C/template>\n \u003C/UModal>\n\u003C/template>\n```\n\n\u003Cimg width=\"535\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/2e3fcc38-19b9-4090-80ae-587197d11a76\" />\n\n### Description\n\nWhen using a `UModal` without a `title`, a `divider` is still displayed at the top of the modal. This can cause a layout issue, as it appears misaligned with the close button (see screenshot). \n\n**Expected behavior**: \n- Either the `divider` should be automatically removed when there is no `title`. \n- Or it should be better positioned to avoid unnecessary spacing at the top of the modal. \n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2096,2097],{"name":1985,"color":1986},{"name":1991,"color":1992},3333,"`UModal` without `title` displays a misaligned divider","2025-02-19T14:19:42Z","https://github.com/nuxt/ui/issues/3333",0.7394203,["Reactive",2104],{},["Set"],["ShallowReactive",2107],{"TRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"LlOawuX2GtXYXYNyAuW6Fs8em-I_4sybWgQEszJ3GjI":-1},"/nuxt/test-utils/704"]