From 6f2cd315ff50fa756916f1e2c78198f2841fbad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Sun, 5 Apr 2026 09:27:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B8=85=E7=90=86=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E7=9B=B8=E5=85=B3=E7=9A=84=E6=9C=AA=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 permission-helper.test.ts 中未使用的 RoleDefinition 导入 - 使用下划线前缀标记 permission-helper.ts 中有意未使用的参数 - 删除 role-auth-manager.ts 中未使用的 generateSignatureHeaders 方法及相关导入 - 为 test-data-manager.ts 添加 getPage 方法以使用 _page 变量 修复所有迁移相关的 TS6133 类型错误 --- .../__tests__/permission-helper.test.ts | 1 - .../shared/permission-helper.ts | 12 ++++---- .../shared/role-auth-manager.ts | 28 ------------------- .../shared/test-data-manager.ts | 8 ++++-- 4 files changed, 12 insertions(+), 37 deletions(-) diff --git a/novalon-manage-web/src/role-based-tests/shared/__tests__/permission-helper.test.ts b/novalon-manage-web/src/role-based-tests/shared/__tests__/permission-helper.test.ts index 34c4761..de0a452 100644 --- a/novalon-manage-web/src/role-based-tests/shared/__tests__/permission-helper.test.ts +++ b/novalon-manage-web/src/role-based-tests/shared/__tests__/permission-helper.test.ts @@ -1,6 +1,5 @@ import { describe, it, expect, vi } from 'vitest'; import { PermissionHelper } from '../permission-helper'; -import type { RoleDefinition } from '../../roles/base.role'; // Mock Playwright vi.mock('@playwright/test', () => ({ diff --git a/novalon-manage-web/src/role-based-tests/shared/permission-helper.ts b/novalon-manage-web/src/role-based-tests/shared/permission-helper.ts index cf61aac..2345ae8 100644 --- a/novalon-manage-web/src/role-based-tests/shared/permission-helper.ts +++ b/novalon-manage-web/src/role-based-tests/shared/permission-helper.ts @@ -26,13 +26,13 @@ export class PermissionHelper { return await deniedMessage.count() > 0; } - async verifyCanCreate(resource: string, createButtonSelector: string): Promise { + async verifyCanCreate(_resource: string, createButtonSelector: string): Promise { const createButton = this.page.locator(createButtonSelector); await expect(createButton).toBeVisible(); await expect(createButton).toBeEnabled(); } - async verifyCannotCreate(resource: string, createButtonSelector: string): Promise { + async verifyCannotCreate(_resource: string, createButtonSelector: string): Promise { const createButton = this.page.locator(createButtonSelector); const count = await createButton.count(); @@ -41,13 +41,13 @@ export class PermissionHelper { } } - async verifyCanEdit(resourceId: string, editButtonSelector: string): Promise { + async verifyCanEdit(_resourceId: string, editButtonSelector: string): Promise { const editButton = this.page.locator(editButtonSelector); await expect(editButton).toBeVisible(); await expect(editButton).toBeEnabled(); } - async verifyCannotEdit(resourceId: string, editButtonSelector: string): Promise { + async verifyCannotEdit(_resourceId: string, editButtonSelector: string): Promise { const editButton = this.page.locator(editButtonSelector); const count = await editButton.count(); @@ -56,13 +56,13 @@ export class PermissionHelper { } } - async verifyCanDelete(resourceId: string, deleteButtonSelector: string): Promise { + async verifyCanDelete(_resourceId: string, deleteButtonSelector: string): Promise { const deleteButton = this.page.locator(deleteButtonSelector); await expect(deleteButton).toBeVisible(); await expect(deleteButton).toBeEnabled(); } - async verifyCannotDelete(resourceId: string, deleteButtonSelector: string): Promise { + async verifyCannotDelete(_resourceId: string, deleteButtonSelector: string): Promise { const deleteButton = this.page.locator(deleteButtonSelector); const count = await deleteButton.count(); diff --git a/novalon-manage-web/src/role-based-tests/shared/role-auth-manager.ts b/novalon-manage-web/src/role-based-tests/shared/role-auth-manager.ts index dbf6ff5..fbe925e 100644 --- a/novalon-manage-web/src/role-based-tests/shared/role-auth-manager.ts +++ b/novalon-manage-web/src/role-based-tests/shared/role-auth-manager.ts @@ -1,13 +1,10 @@ import { RoleFactory } from '../roles/role-factory'; -import crypto from 'crypto'; interface TokenCache { token: string; expiresAt: number; } -const SIGNATURE_SECRET = 'NovalonManageSystemSecretKey2026'; - export class RoleAuthManager { private static tokenCache: Map = new Map(); private static readonly API_BASE_URL = process.env.VITE_API_BASE_URL || 'http://localhost:8084'; @@ -31,31 +28,6 @@ export class RoleAuthManager { return token; } - private static generateSignatureHeaders(method: string, path: string, body: string): Record { - const timestamp = Date.now(); - const nonce = `${timestamp.toString(36)}-${Math.random().toString(36).substring(2, 15)}`; - - const stringToSign = [ - method.toUpperCase(), - path, - '', - '', - timestamp.toString(), - nonce - ].join('\n'); - - const signature = crypto - .createHmac('sha256', SIGNATURE_SECRET) - .update(stringToSign) - .digest('base64'); - - return { - 'X-Signature': signature, - 'X-Timestamp': timestamp.toString(), - 'X-Nonce': nonce - }; - } - private static async authenticateWithBackend(credentials: { username: string; password: string }): Promise { const path = '/api/auth/login'; const body = JSON.stringify(credentials); diff --git a/novalon-manage-web/src/role-based-tests/shared/test-data-manager.ts b/novalon-manage-web/src/role-based-tests/shared/test-data-manager.ts index 82bbe68..97ab8f8 100644 --- a/novalon-manage-web/src/role-based-tests/shared/test-data-manager.ts +++ b/novalon-manage-web/src/role-based-tests/shared/test-data-manager.ts @@ -10,7 +10,7 @@ export interface TestData { export class TestDataManager { private static instance: TestDataManager; private createdData: Map = new Map(); - private page: Page | null = null; + private _page: Page | null = null; private static readonly API_BASE_URL = process.env.VITE_API_BASE_URL || 'http://localhost:8084'; static getInstance(): TestDataManager { @@ -21,7 +21,11 @@ export class TestDataManager { } setPage(page: Page): void { - this.page = page; + this._page = page; + } + + getPage(): Page | null { + return this._page; } async createUser(userData: {