refactor: improve TypeScript patterns in test files (Group 1/8) (#8253)

## Summary
Improves type safety in test files by replacing unsafe type patterns
with proper TypeScript idioms.

## Changes
- Define typed `TestWindow` interface extending `Window` for Playwright
tests with custom properties
- Use `Partial<HTMLElement>` with single type assertion for DOM element
mocks
- Remove redundant type imports
- Fix `console.log` → `console.warn` in test fixture

## Files Changed
16 test files across browser_tests, packages, and src/components

## Test Plan
-  `pnpm typecheck` passes
-  No new `any` types introduced
-  All pre-commit hooks pass

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8253-refactor-improve-TypeScript-patterns-in-test-files-Group-1-8-2f16d73d365081548f9ece7bcf0525ee)
by [Unito](https://www.unito.io)

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
Johnpaul Chiwetelu
2026-01-23 02:35:09 +01:00
committed by GitHub
parent 9efcbe682f
commit 941cd2b4a5
19 changed files with 167 additions and 96 deletions

View File

@@ -64,6 +64,17 @@ export type {
ToastMessageOptions
}
interface CapturedMessages {
clientFeatureFlags: { type: string; data: Record<string, unknown> } | null
serverFeatureFlags: Record<string, unknown> | null
}
interface AppReadiness {
featureFlagsReceived: boolean
apiInitialized: boolean
appInitialized: boolean
}
declare global {
interface Window {
/** For use by extensions and in the browser console. Where possible, import `app` from '@/scripts/app' instead. */
@@ -71,5 +82,11 @@ declare global {
/** For use by extensions and in the browser console. Where possible, import `app` and access via `app.graph` instead. */
graph?: unknown
/** For use in tests to capture WebSocket messages */
__capturedMessages?: CapturedMessages
/** For use in tests to track app initialization state */
__appReadiness?: AppReadiness
}
}