From ad58a36707246a8bad2ab6dcf2d862f0eb60253d Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Thu, 4 Dec 2025 11:21:35 +0100 Subject: [PATCH] Add vitest --- package.json | 3 +- src/utils/date/formatDate.test.js | 9 ++++ vite.config.js | 69 +++++++++++++++++-------------- 3 files changed, 50 insertions(+), 31 deletions(-) create mode 100644 src/utils/date/formatDate.test.js diff --git a/package.json b/package.json index 902a0fc..c86a179 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "lint": "eslint .", "preview": "vite preview", "storybook": "storybook dev -p 6006", - "build-storybook": "storybook build" + "build-storybook": "storybook build", + "test": "vitest" }, "dependencies": { "chart.js": "^4.5.1", diff --git a/src/utils/date/formatDate.test.js b/src/utils/date/formatDate.test.js new file mode 100644 index 0000000..97179dc --- /dev/null +++ b/src/utils/date/formatDate.test.js @@ -0,0 +1,9 @@ +import { expect, test } from 'vitest'; +import formatDate from './formatDate'; + +const date = "2025-11-28T11:26:45.000000Z" +const res = "28/11/2025" + +test("Format Date", () => { + expect(formatDate(date)).toBe(res); +}) \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 59b0166..3277a15 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,39 +1,48 @@ +// vite.config.js /// -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import { storybookTest } from '@storybook/addon-vitest/vitest-plugin' +import { playwright } from '@vitest/browser-playwright' -// https://vite.dev/config/ -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import { storybookTest } from '@storybook/addon-vitest/vitest-plugin'; -import { playwright } from '@vitest/browser-playwright'; const dirname = typeof __dirname !== 'undefined' ? __dirname : path.dirname(fileURLToPath(import.meta.url)); -// More info at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon export default defineConfig({ plugins: [react()], base: '/', test: { - projects: [{ - extends: true, - plugins: [ - // The plugin will run tests for the stories defined in your Storybook config - // See options at: https://storybook.js.org/docs/next/writing-tests/integrations/vitest-addon#storybooktest - storybookTest({ - configDir: path.join(dirname, '.storybook') - })], - test: { - name: 'storybook', - browser: { - enabled: true, - headless: true, - provider: playwright({}), - instances: [{ - browser: 'chromium' - }] + projects: [ + { + extends: true, + plugins: [ + storybookTest({ + configDir: path.join(dirname, '.storybook'), + }), + ], + test: { + name: 'storybook', + browser: { + enabled: true, + headless: true, + provider: playwright({}), + instances: [{ browser: 'chromium' }], + }, + setupFiles: ['.storybook/vitest.setup.js'], }, - setupFiles: ['.storybook/vitest.setup.js'] - } - }] - } -}); \ No newline at end of file + }, + { + test: { + name: 'unit', + include: [ + 'src/**/*.test.js', + 'src/**/*.test.ts', + 'utils/**/*.test.js', + ], + environment: 'node', + }, + }, + ], + }, +})