From 928bddd81176d4db3f0b6ab048330bd0f3b905d4 Mon Sep 17 00:00:00 2001 From: Florian Le Heurte Date: Mon, 28 Jun 2021 16:46:35 +0800 Subject: [PATCH 1/2] Init jest && config / add test component LcButton --- .gitignore | 1 + babel.config.js | 10 + jest.config.js | 23 + package.json | 17 +- src/components/{ => LcButton}/LcButton.d.ts | 0 src/components/{ => LcButton}/LcButton.vue | 14 +- .../LcButton/__tests__/LcButton.spec.ts | 337 +++ .../__snapshots__/LcButton.spec.ts.snap | 51 + src/components/LcForm.vue | 2 +- src/library.ts | 2 +- src/stories/LcButton.stories.ts | 2 +- src/stories/LcModal.stories.ts | 2 +- src/stories/LcTooltip.stories.ts | 2 +- tsconfig.json | 6 +- yarn.lock | 2203 ++++++++++++++++- 15 files changed, 2542 insertions(+), 130 deletions(-) create mode 100644 babel.config.js create mode 100644 jest.config.js rename src/components/{ => LcButton}/LcButton.d.ts (100%) rename src/components/{ => LcButton}/LcButton.vue (95%) create mode 100644 src/components/LcButton/__tests__/LcButton.spec.ts create mode 100644 src/components/LcButton/__tests__/__snapshots__/LcButton.spec.ts.snap diff --git a/.gitignore b/.gitignore index 26e93b0..465587e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ dist-ssr node_modules build-storybook.log storybook-static/ +coverage/ diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..0a3e890 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,10 @@ +module.exports = { + env: { + test: { + presets: [ + ['@babel/preset-env', { useBuiltIns: 'entry', corejs: '2', targets: { node: 'current' } }], + ['@babel/preset-typescript', { allExtensions: true }], + ], + }, + }, +} diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..26cf466 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,23 @@ +module.exports = { + moduleFileExtensions: ['js', 'ts', 'json', 'vue'], + transform: { + '^.+\\.ts$': 'ts-jest', + '^.+\\.vue$': 'vue-jest', + }, + modulePaths: [''], + rootDir: './', + moduleNameMapper: { + '^@/(.*)$': '/src/$1', + }, + collectCoverage: true, + globals: { + 'ts-jest': { + babelConfig: true, + }, + 'vue-jest': { + transform: { + '^tsx?$': 'babel-jest', + }, + }, + }, +} diff --git a/package.json b/package.json index acd38a3..9e5b2e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lc-component-library", - "version": "1.3.4", + "version": "1.3.5", "license": "MIT", "files": [ "dist" @@ -12,7 +12,8 @@ "build": "vite build", "storybook": "start-storybook -p 6006", "dev": "vite", - "build-storybook": "build-storybook" + "build-storybook": "build-storybook", + "test:unit": "jest --watchAll" }, "exports": { ".": { @@ -25,6 +26,8 @@ } }, "dependencies": { + "@babel/preset-env": "^7.14.2", + "@babel/preset-typescript": "^7.13.0", "@vee-validate/i18n": "^4.1.20", "@vee-validate/rules": "^4.1.20", "esno": "0.4.4", @@ -41,21 +44,27 @@ "@storybook/addon-postcss": "^2.0.0", "@storybook/vue3": "^6.3.0", "@tailwindcss/postcss7-compat": "^2.1.0", + "@types/jest": "^26.0.23", "@typescript-eslint/eslint-plugin": "4.21.0", "@vitejs/plugin-vue": "1.2.1", - "@vue/compiler-sfc": "^3.0.5", + "@vue/compiler-sfc": "3.1.1", + "@vue/test-utils": "^2.0.0-rc.6", "autoprefixer": "^9", "babel-loader": "^8.2.2", "chromatic": "5.9.0", "cross-env": "^7.0.3", "eslint": "7.23.0", "fast-glob": "^3.2.5", + "jest": "^26.6.3", "postcss": ">=8.2.10", "tailwindcss": "2.1.0", + "ts-jest": "^26.5.6", "tsup": "^4.3.1", "typescript": "4.2.3", "vite": "2.1.5", - "vue-loader": "^16.2.0" + "vue-jest": "^5.0.0-alpha.9", + "vue-loader": "^16.2.0", + "vue-tsc": "^0.0.24" }, "eslintConfig": { "extends": "@antfu/eslint-config", diff --git a/src/components/LcButton.d.ts b/src/components/LcButton/LcButton.d.ts similarity index 100% rename from src/components/LcButton.d.ts rename to src/components/LcButton/LcButton.d.ts diff --git a/src/components/LcButton.vue b/src/components/LcButton/LcButton.vue similarity index 95% rename from src/components/LcButton.vue rename to src/components/LcButton/LcButton.vue index fb40930..53d2274 100644 --- a/src/components/LcButton.vue +++ b/src/components/LcButton/LcButton.vue @@ -20,7 +20,7 @@