Просмотр исходного кода

Merge pull request #788 from RooVetGit/cte/jest-webview-ui

Chris Estreich 11 месяцев назад
Родитель
Сommit
d3f10989ce

+ 22 - 0
webview-ui/jest.config.cjs

@@ -0,0 +1,22 @@
+/** @type {import('ts-jest').JestConfigWithTsJest} */
+module.exports = {
+	preset: "ts-jest",
+	testEnvironment: "jsdom",
+	injectGlobals: true,
+	moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
+	transform: { "^.+\\.(ts|tsx)$": ["ts-jest", { tsconfig: { jsx: "react-jsx" } }] },
+	testMatch: ["<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}", "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"],
+	setupFilesAfterEnv: ["<rootDir>/src/setupTests.ts", "@testing-library/jest-dom/extend-expect"],
+	moduleNameMapper: {
+		"\\.(css|less|scss|sass)$": "identity-obj-proxy",
+		"^vscrui$": "<rootDir>/src/__mocks__/vscrui.ts",
+		"^@vscode/webview-ui-toolkit/react$": "<rootDir>/src/__mocks__/@vscode/webview-ui-toolkit/react.ts",
+		"^@/(.*)$": "<rootDir>/src/$1",
+	},
+	reporters: [["jest-simple-dot-reporter", {}]],
+	transformIgnorePatterns: [
+		"/node_modules/(?!(rehype-highlight|react-remark|unist-util-visit|unist-util-find-after|vfile|unified|bail|is-plain-obj|trough|vfile-message|unist-util-stringify-position|mdast-util-from-markdown|mdast-util-to-string|micromark|decode-named-character-reference|character-entities|markdown-table|zwitch|longest-streak|escape-string-regexp|unist-util-is|hast-util-to-text|@vscode/webview-ui-toolkit|@microsoft/fast-react-wrapper|@microsoft/fast-element|@microsoft/fast-foundation|@microsoft/fast-web-utilities|exenv-es6|vscrui)/)",
+	],
+	roots: ["<rootDir>/src"],
+	moduleDirectories: ["node_modules", "src"],
+}

+ 0 - 39
webview-ui/package.json

@@ -69,44 +69,5 @@
 		"ts-jest": "^27.1.5",
 		"typescript": "^4.9.5",
 		"vite": "6.0.11"
-	},
-	"jest": {
-		"testEnvironment": "jsdom",
-		"setupFilesAfterEnv": [
-			"@testing-library/jest-dom/extend-expect"
-		],
-		"preset": "ts-jest",
-		"reporters": [
-			[
-				"jest-simple-dot-reporter",
-				{}
-			]
-		],
-		"moduleNameMapper": {
-			"\\.(css|less|scss|sass)$": "identity-obj-proxy",
-			"^vscrui$": "<rootDir>/src/__mocks__/vscrui.ts",
-			"^@vscode/webview-ui-toolkit/react$": "<rootDir>/src/__mocks__/@vscode/webview-ui-toolkit/react.ts"
-		},
-		"transformIgnorePatterns": [
-			"/node_modules/(?!(rehype-highlight|react-remark|unist-util-visit|unist-util-find-after|vfile|unified|bail|is-plain-obj|trough|vfile-message|unist-util-stringify-position|mdast-util-from-markdown|mdast-util-to-string|micromark|decode-named-character-reference|character-entities|markdown-table|zwitch|longest-streak|escape-string-regexp|unist-util-is|hast-util-to-text|@vscode/webview-ui-toolkit|@microsoft/fast-react-wrapper|@microsoft/fast-element|@microsoft/fast-foundation|@microsoft/fast-web-utilities|exenv-es6|vscrui)/)"
-		],
-		"transform": {
-			"^.+\\.(ts|tsx)$": [
-				"ts-jest",
-				{
-					"tsconfig": {
-						"jsx": "react-jsx"
-					}
-				}
-			]
-		},
-		"moduleDirectories": [
-			"node_modules",
-			"src"
-		],
-		"testMatch": [
-			"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
-			"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
-		]
 	}
 }

+ 0 - 1
webview-ui/src/components/chat/__tests__/ChatTextArea.test.tsx

@@ -1,5 +1,4 @@
 import { render, fireEvent, screen } from "@testing-library/react"
-import "@testing-library/jest-dom"
 import ChatTextArea from "../ChatTextArea"
 import { useExtensionState } from "../../../context/ExtensionStateContext"
 import { vscode } from "../../../utils/vscode"

+ 0 - 1
webview-ui/src/components/prompts/__tests__/PromptsView.test.tsx

@@ -1,5 +1,4 @@
 import { render, screen, fireEvent, waitFor } from "@testing-library/react"
-import "@testing-library/jest-dom"
 import PromptsView from "../PromptsView"
 import { ExtensionStateContext } from "../../../context/ExtensionStateContext"
 import { vscode } from "../../../utils/vscode"

+ 0 - 1
webview-ui/src/components/settings/__tests__/ApiConfigManager.test.tsx

@@ -1,5 +1,4 @@
 import { render, screen, fireEvent } from "@testing-library/react"
-import "@testing-library/jest-dom"
 import ApiConfigManager from "../ApiConfigManager"
 
 // Mock VSCode components