From b044c587dee4e86149a8ba9fb20c315305b4f4b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?= Date: Fri, 22 Mar 2024 16:41:04 -0300 Subject: [PATCH 1/3] tests: Add widgets-loader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Patrick José Pereira --- src/tests/libs/widgets-loader.test.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/tests/libs/widgets-loader.test.ts diff --git a/src/tests/libs/widgets-loader.test.ts b/src/tests/libs/widgets-loader.test.ts new file mode 100644 index 000000000..cdcf83c59 --- /dev/null +++ b/src/tests/libs/widgets-loader.test.ts @@ -0,0 +1,20 @@ +import { expect, test } from 'vitest' + +import { WidgetType } from '@/types/widgets' + +test('Test widgets exist', async () => { + const loader = await Promise.allSettled( + Object.values(WidgetType).map((name) => import(`@/components/widgets/${name}.vue`)) + ) + const found_all_files = loader.every((file) => { + if (file.status == 'fulfilled') { + return true + } + const failed_to_find = file.reason.message.includes('Failed to load') + if (failed_to_find) { + console.error(`Failed to find: ${file.reason}`) + } + return !failed_to_find + }) + expect(found_all_files).toBe(true) +}) From d195a41b948031884787890c59bd793e189fd386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?= Date: Fri, 22 Mar 2024 16:41:15 -0300 Subject: [PATCH 2/3] types: widgets: Fix widget name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Patrick José Pereira --- src/types/widgets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/types/widgets.ts b/src/types/widgets.ts index 3c43fff11..2ffd5d669 100644 --- a/src/types/widgets.ts +++ b/src/types/widgets.ts @@ -11,7 +11,7 @@ export enum WidgetType { DepthHUD = 'DepthHUD', CompassHUD = 'CompassHUD', IFrame = 'IFrame', - ImageViewer = 'ImageViewer', + ImageView = 'ImageView', Map = 'Map', MiniWidgetsBar = 'MiniWidgetsBar', URLVideoPlayer = 'URLVideoPlayer', From d7ed93c55dc12ebd2f0242488f3e003627508ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?= Date: Fri, 22 Mar 2024 16:41:27 -0300 Subject: [PATCH 3/3] vite.config: Remove coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since we are loading all the widgets and looking for them, vite is also checking if we are testing everything on them as well. This breaks all the coverages values. Signed-off-by: Patrick José Pereira --- vite.config.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/vite.config.ts b/vite.config.ts index 8a1a09dac..ecfeb91c2 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -34,13 +34,5 @@ export default defineConfig({ test: { globals: true, environment: 'jsdom', - coverage: { - branches: 90, - functions: 95, - lines: 98, - perFile: true, - reporter: ['html', 'text'], - statements: 95, - }, }, })