Consolidate vitest CI & coverage (#33808)
* Consolidate modules vitest coverage * Use vite-common as base for modules vitest config * Make knip happier * Fix coverage paths * Place modules unit tests alongside src * Switch to defineProject for better type safety * Consolidate vitest CI & coverage Kills off vite-common * Update comment * Update lockfile * Fix shared-components vitest config * Soften eslint config for tests in modules * Run eslint on modules/playwright dir too * Make tsc happy
This commit is contained in:
committed by
GitHub
parent
042ded86c7
commit
e9a89d9872
@@ -13,7 +13,6 @@
|
||||
"devDependencies": {
|
||||
"@element-hq/element-web-module-api": "workspace:*",
|
||||
"@types/node": "^22.10.7",
|
||||
"@vitest/coverage-v8": "catalog:",
|
||||
"typescript": "catalog:",
|
||||
"vite": "catalog:",
|
||||
"vitest": "catalog:"
|
||||
|
||||
+5
-3
@@ -7,12 +7,13 @@ Please see LICENSE files in the repository root for full details.
|
||||
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import WidgetLifecycleModule, { type WidgetLifecycleApiAdapter } from "../src/WidgetLifecycleModule";
|
||||
import WidgetLifecycleModule, { type WidgetLifecycleApiAdapter } from "./WidgetLifecycleModule";
|
||||
import type {
|
||||
CapabilitiesApprover,
|
||||
IdentityApprover,
|
||||
PreloadApprover,
|
||||
WidgetDescriptor,
|
||||
Api,
|
||||
} from "@element-hq/element-web-module-api";
|
||||
|
||||
const createApi = (config: unknown = {}) => {
|
||||
@@ -40,7 +41,7 @@ const createApi = (config: unknown = {}) => {
|
||||
get: () => config,
|
||||
},
|
||||
widgetLifecycle,
|
||||
},
|
||||
} as Api,
|
||||
handlers,
|
||||
};
|
||||
};
|
||||
@@ -49,7 +50,8 @@ const widget: WidgetDescriptor = {
|
||||
id: "widget-id",
|
||||
templateUrl: "https://example.com/",
|
||||
creatorUserId: "@user-id",
|
||||
kind: "room",
|
||||
type: "com.example.custom",
|
||||
origin: "example.com",
|
||||
};
|
||||
|
||||
describe("WidgetLifecycleModule", () => {
|
||||
+1
-1
@@ -7,7 +7,7 @@ Please see LICENSE files in the repository root for full details.
|
||||
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { parseWidgetLifecycleConfig } from "../src/config";
|
||||
import { parseWidgetLifecycleConfig } from "./config";
|
||||
|
||||
describe("parseWidgetLifecycleConfig", () => {
|
||||
it("accepts missing configuration", () => {
|
||||
+1
-1
@@ -8,7 +8,7 @@ Please see LICENSE files in the repository root for full details.
|
||||
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { constructWidgetPermissions, sortLongestMatchLast } from "../src/utils/constructWidgetPermissions";
|
||||
import { constructWidgetPermissions, sortLongestMatchLast } from "./constructWidgetPermissions";
|
||||
|
||||
describe("constructWidgetPermissions", () => {
|
||||
it("finds exact match", () => {
|
||||
+1
-1
@@ -8,7 +8,7 @@ Please see LICENSE files in the repository root for full details.
|
||||
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { matchPattern } from "../src/utils/matchPattern";
|
||||
import { matchPattern } from "./matchPattern";
|
||||
|
||||
describe("matchPattern", () => {
|
||||
it.each([
|
||||
@@ -5,17 +5,10 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
||||
Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
import { defineConfig } from "vitest/config";
|
||||
import { defineProject } from "vitest/config";
|
||||
|
||||
export default defineConfig({
|
||||
export default defineProject({
|
||||
test: {
|
||||
include: ["tests/**/*.test.ts"],
|
||||
exclude: ["./e2e/**/*", "./node_modules/**/*"],
|
||||
reporters: ["default"],
|
||||
coverage: {
|
||||
provider: "v8",
|
||||
include: ["src/**/*.ts"],
|
||||
reporter: [["lcov", { projectRoot: "../../" }], "text"],
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user