@supernal/interface 1.0.8 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
- package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
- package/dist/cjs/src/adapters/index.js +3 -4
- package/dist/cjs/src/adapters/index.js.map +1 -1
- package/dist/cjs/src/ai/AIInterface.js +111 -61
- package/dist/cjs/src/ai/AIInterface.js.map +1 -1
- package/dist/cjs/src/ai/ToolExecutor.js +36 -1
- package/dist/cjs/src/ai/ToolExecutor.js.map +1 -1
- package/dist/cjs/src/ai/ToolMatcher.js +6 -0
- package/dist/cjs/src/ai/ToolMatcher.js.map +1 -1
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js +13 -2
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js.map +1 -1
- package/dist/cjs/src/background/architecture/Containers.js +72 -2
- package/dist/cjs/src/background/architecture/Containers.js.map +1 -1
- package/dist/cjs/src/background/architecture/index.js +2 -1
- package/dist/cjs/src/background/architecture/index.js.map +1 -1
- package/dist/cjs/src/background/location/LocationContext.js +19 -2
- package/dist/cjs/src/background/location/LocationContext.js.map +1 -1
- package/dist/cjs/src/background/navigation/NavigationGraph.js +7 -0
- package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/cjs/src/background/registry/ComponentRegistry.js +0 -2
- package/dist/cjs/src/background/registry/ComponentRegistry.js.map +1 -1
- package/dist/cjs/src/background/registry/ToolRegistry.js +83 -123
- package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/cjs/src/browser.js +48 -1
- package/dist/cjs/src/browser.js.map +1 -1
- package/dist/cjs/src/decorators/Component.js +4 -5
- package/dist/cjs/src/decorators/Component.js.map +1 -1
- package/dist/cjs/src/decorators/ContainerHelpers.js +16 -1
- package/dist/cjs/src/decorators/ContainerHelpers.js.map +1 -1
- package/dist/cjs/src/decorators/Tool.js +3 -9
- package/dist/cjs/src/decorators/Tool.js.map +1 -1
- package/dist/cjs/src/decorators/ToolHelpers.js +1 -3
- package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -1
- package/dist/cjs/src/decorators/ToolPreset.js +14 -14
- package/dist/cjs/src/decorators/ToolPreset.js.map +1 -1
- package/dist/cjs/src/decorators/ToolProvider.js +30 -20
- package/dist/cjs/src/decorators/ToolProvider.js.map +1 -1
- package/dist/cjs/src/decorators/index.js +8 -13
- package/dist/cjs/src/decorators/index.js.map +1 -1
- package/dist/cjs/src/exposure/ExposureCollector.js +27 -0
- package/dist/cjs/src/exposure/ExposureCollector.js.map +1 -1
- package/dist/cjs/src/index.js +6 -9
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/mcp/server.js +12 -14
- package/dist/cjs/src/mcp/server.js.map +1 -1
- package/dist/cjs/src/react/hooks/useChatWithContext.js +4 -10
- package/dist/cjs/src/react/hooks/useChatWithContext.js.map +1 -1
- package/dist/cjs/src/testing/graph-tester/core/GraphTester.js +339 -0
- package/dist/cjs/src/testing/graph-tester/core/GraphTester.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/core/TestFunction.js +189 -0
- package/dist/cjs/src/testing/graph-tester/core/TestFunction.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/core/types.js +24 -0
- package/dist/cjs/src/testing/graph-tester/core/types.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/index.js +13 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/portPool.js +184 -0
- package/dist/cjs/src/testing/graph-tester/fixtures/portPool.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/index.js +98 -0
- package/dist/cjs/src/testing/graph-tester/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/AccessibilityMode.js +230 -0
- package/dist/cjs/src/testing/graph-tester/modes/AccessibilityMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/PerformanceMode.js +168 -0
- package/dist/cjs/src/testing/graph-tester/modes/PerformanceMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/SEOMode.js +264 -0
- package/dist/cjs/src/testing/graph-tester/modes/SEOMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/VisualRegressionMode.js +199 -0
- package/dist/cjs/src/testing/graph-tester/modes/VisualRegressionMode.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/modes/index.js +17 -0
- package/dist/cjs/src/testing/graph-tester/modes/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/HTMLReporter.js +411 -0
- package/dist/cjs/src/testing/graph-tester/reporters/HTMLReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/JSONReporter.js +127 -0
- package/dist/cjs/src/testing/graph-tester/reporters/JSONReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/MarkdownReporter.js +169 -0
- package/dist/cjs/src/testing/graph-tester/reporters/MarkdownReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/UnifiedReporter.js +118 -0
- package/dist/cjs/src/testing/graph-tester/reporters/UnifiedReporter.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/reporters/index.js +17 -0
- package/dist/cjs/src/testing/graph-tester/reporters/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js +47 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js +584 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js +376 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/index.js +15 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/index.js.map +1 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/types.js +11 -0
- package/dist/cjs/src/testing/graph-tester/screenshot/types.js.map +1 -0
- package/dist/cjs/src/testing/selectors.js +1 -1
- package/dist/cjs/src/types/ComponentState.js.map +1 -1
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts.map +1 -1
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js +3 -5
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -1
- package/dist/esm/src/adapters/index.d.ts +0 -2
- package/dist/esm/src/adapters/index.d.ts.map +1 -1
- package/dist/esm/src/adapters/index.js +2 -1
- package/dist/esm/src/adapters/index.js.map +1 -1
- package/dist/esm/src/adapters/types/index.d.ts +0 -2
- package/dist/esm/src/adapters/types/index.d.ts.map +1 -1
- package/dist/esm/src/ai/AIInterface.d.ts +5 -1
- package/dist/esm/src/ai/AIInterface.d.ts.map +1 -1
- package/dist/esm/src/ai/AIInterface.js +111 -61
- package/dist/esm/src/ai/AIInterface.js.map +1 -1
- package/dist/esm/src/ai/ToolExecutor.js +36 -1
- package/dist/esm/src/ai/ToolExecutor.js.map +1 -1
- package/dist/esm/src/ai/ToolMatcher.d.ts +1 -0
- package/dist/esm/src/ai/ToolMatcher.d.ts.map +1 -1
- package/dist/esm/src/ai/ToolMatcher.js +6 -0
- package/dist/esm/src/ai/ToolMatcher.js.map +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js +13 -2
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js.map +1 -1
- package/dist/esm/src/background/architecture/Containers.d.ts +35 -2
- package/dist/esm/src/background/architecture/Containers.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/Containers.js +70 -2
- package/dist/esm/src/background/architecture/Containers.js.map +1 -1
- package/dist/esm/src/background/architecture/index.d.ts +1 -1
- package/dist/esm/src/background/architecture/index.d.ts.map +1 -1
- package/dist/esm/src/background/architecture/index.js +1 -1
- package/dist/esm/src/background/architecture/index.js.map +1 -1
- package/dist/esm/src/background/location/LocationContext.d.ts +3 -2
- package/dist/esm/src/background/location/LocationContext.d.ts.map +1 -1
- package/dist/esm/src/background/location/LocationContext.js +19 -2
- package/dist/esm/src/background/location/LocationContext.js.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts +5 -0
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -1
- package/dist/esm/src/background/navigation/NavigationGraph.js +7 -0
- package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -1
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts +0 -4
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ComponentRegistry.js +0 -2
- package/dist/esm/src/background/registry/ComponentRegistry.js.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.d.ts +24 -38
- package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -1
- package/dist/esm/src/background/registry/ToolRegistry.js +81 -121
- package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -1
- package/dist/esm/src/browser.d.ts +12 -1
- package/dist/esm/src/browser.d.ts.map +1 -1
- package/dist/esm/src/browser.js +17 -1
- package/dist/esm/src/browser.js.map +1 -1
- package/dist/esm/src/decorators/Component.d.ts +1 -8
- package/dist/esm/src/decorators/Component.d.ts.map +1 -1
- package/dist/esm/src/decorators/Component.js +4 -5
- package/dist/esm/src/decorators/Component.js.map +1 -1
- package/dist/esm/src/decorators/ContainerHelpers.d.ts +2 -1
- package/dist/esm/src/decorators/ContainerHelpers.d.ts.map +1 -1
- package/dist/esm/src/decorators/ContainerHelpers.js +16 -1
- package/dist/esm/src/decorators/ContainerHelpers.js.map +1 -1
- package/dist/esm/src/decorators/Tool.d.ts +1 -6
- package/dist/esm/src/decorators/Tool.d.ts.map +1 -1
- package/dist/esm/src/decorators/Tool.js +3 -9
- package/dist/esm/src/decorators/Tool.js.map +1 -1
- package/dist/esm/src/decorators/ToolHelpers.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolHelpers.js +1 -3
- package/dist/esm/src/decorators/ToolHelpers.js.map +1 -1
- package/dist/esm/src/decorators/ToolPreset.d.ts +12 -9
- package/dist/esm/src/decorators/ToolPreset.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolPreset.js +13 -13
- package/dist/esm/src/decorators/ToolPreset.js.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.d.ts +5 -21
- package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -1
- package/dist/esm/src/decorators/ToolProvider.js +30 -19
- package/dist/esm/src/decorators/ToolProvider.js.map +1 -1
- package/dist/esm/src/decorators/index.d.ts +6 -12
- package/dist/esm/src/decorators/index.d.ts.map +1 -1
- package/dist/esm/src/decorators/index.js +7 -12
- package/dist/esm/src/decorators/index.js.map +1 -1
- package/dist/esm/src/exposure/ExposureCollector.d.ts +8 -0
- package/dist/esm/src/exposure/ExposureCollector.d.ts.map +1 -1
- package/dist/esm/src/exposure/ExposureCollector.js +27 -0
- package/dist/esm/src/exposure/ExposureCollector.js.map +1 -1
- package/dist/esm/src/index.d.ts +5 -6
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +5 -6
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/mcp/server.d.ts +1 -1
- package/dist/esm/src/mcp/server.d.ts.map +1 -1
- package/dist/esm/src/mcp/server.js +12 -14
- package/dist/esm/src/mcp/server.js.map +1 -1
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts +0 -2
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts.map +1 -1
- package/dist/esm/src/react/hooks/useChatWithContext.js +4 -10
- package/dist/esm/src/react/hooks/useChatWithContext.js.map +1 -1
- package/dist/esm/src/testing/graph-tester/core/GraphTester.d.ts +110 -0
- package/dist/esm/src/testing/graph-tester/core/GraphTester.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/GraphTester.js +335 -0
- package/dist/esm/src/testing/graph-tester/core/GraphTester.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.d.ts +120 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.js +184 -0
- package/dist/esm/src/testing/graph-tester/core/TestFunction.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/types.d.ts +331 -0
- package/dist/esm/src/testing/graph-tester/core/types.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/core/types.js +21 -0
- package/dist/esm/src/testing/graph-tester/core/types.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.d.ts +8 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.js +7 -0
- package/dist/esm/src/testing/graph-tester/fixtures/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.d.ts +40 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.js +147 -0
- package/dist/esm/src/testing/graph-tester/fixtures/portPool.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/index.d.ts +84 -0
- package/dist/esm/src/testing/graph-tester/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/index.js +77 -0
- package/dist/esm/src/testing/graph-tester/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.d.ts +40 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.js +193 -0
- package/dist/esm/src/testing/graph-tester/modes/AccessibilityMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.d.ts +42 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.js +131 -0
- package/dist/esm/src/testing/graph-tester/modes/PerformanceMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.d.ts +39 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.js +227 -0
- package/dist/esm/src/testing/graph-tester/modes/SEOMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.d.ts +83 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.js +162 -0
- package/dist/esm/src/testing/graph-tester/modes/VisualRegressionMode.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/index.d.ts +14 -0
- package/dist/esm/src/testing/graph-tester/modes/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/modes/index.js +10 -0
- package/dist/esm/src/testing/graph-tester/modes/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.d.ts +38 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.js +374 -0
- package/dist/esm/src/testing/graph-tester/reporters/HTMLReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.d.ts +50 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.js +90 -0
- package/dist/esm/src/testing/graph-tester/reporters/JSONReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.d.ts +33 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.js +132 -0
- package/dist/esm/src/testing/graph-tester/reporters/MarkdownReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.d.ts +30 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.js +81 -0
- package/dist/esm/src/testing/graph-tester/reporters/UnifiedReporter.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.d.ts +14 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.js +10 -0
- package/dist/esm/src/testing/graph-tester/reporters/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.d.ts +33 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js +43 -0
- package/dist/esm/src/testing/graph-tester/screenshot/CanvasAnnotationRenderer.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.d.ts +70 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js +547 -0
- package/dist/esm/src/testing/graph-tester/screenshot/HTMLAnnotationRenderer.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.d.ts +83 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js +339 -0
- package/dist/esm/src/testing/graph-tester/screenshot/ScreenshotAnnotator.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.d.ts +11 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.js +9 -0
- package/dist/esm/src/testing/graph-tester/screenshot/index.js.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.d.ts +331 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.d.ts.map +1 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.js +10 -0
- package/dist/esm/src/testing/graph-tester/screenshot/types.js.map +1 -0
- package/dist/esm/src/testing/selectors.d.ts +1 -1
- package/dist/esm/src/testing/selectors.js +1 -1
- package/dist/esm/src/types/ComponentState.d.ts +0 -4
- package/dist/esm/src/types/ComponentState.d.ts.map +1 -1
- package/dist/esm/src/types/ComponentState.js.map +1 -1
- package/package.json +22 -8
- package/dist/cjs/src/adapters/native/NativeAdapter.js +0 -268
- package/dist/cjs/src/adapters/native/NativeAdapter.js.map +0 -1
- package/dist/cjs/src/adapters/native/index.js +0 -10
- package/dist/cjs/src/adapters/native/index.js.map +0 -1
- package/dist/cjs/src/ui/react/chat/ChatBubble.js +0 -221
- package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +0 -1
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts +0 -47
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts.map +0 -1
- package/dist/esm/src/adapters/native/NativeAdapter.js +0 -230
- package/dist/esm/src/adapters/native/NativeAdapter.js.map +0 -1
- package/dist/esm/src/adapters/native/index.d.ts +0 -6
- package/dist/esm/src/adapters/native/index.d.ts.map +0 -1
- package/dist/esm/src/adapters/native/index.js +0 -5
- package/dist/esm/src/adapters/native/index.js.map +0 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +0 -27
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +0 -1
- package/dist/esm/src/ui/react/chat/ChatBubble.js +0 -184
- package/dist/esm/src/ui/react/chat/ChatBubble.js.map +0 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main orchestrator for graph-based testing.
|
|
3
|
+
*
|
|
4
|
+
* GraphTester coordinates:
|
|
5
|
+
* 1. Route discovery (manual or via NavigationGraph)
|
|
6
|
+
* 2. Test function execution across all routes
|
|
7
|
+
* 3. Result aggregation and reporting
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
import type { GraphTesterConfig, AggregatedTestResults } from './types';
|
|
12
|
+
import { TestFunction } from './TestFunction';
|
|
13
|
+
/**
|
|
14
|
+
* Main orchestrator for graph-based testing.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const tester = new GraphTester({
|
|
19
|
+
* baseUrl: 'http://localhost:3000',
|
|
20
|
+
* routes: [
|
|
21
|
+
* { route: '/', metadata: { name: 'Home' } },
|
|
22
|
+
* { route: '/dashboard', metadata: { name: 'Dashboard' } }
|
|
23
|
+
* ],
|
|
24
|
+
* modes: ['visual', 'performance'],
|
|
25
|
+
* output: {
|
|
26
|
+
* dir: './test-results',
|
|
27
|
+
* formats: ['html', 'json']
|
|
28
|
+
* }
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* const results = await tester.runTests();
|
|
32
|
+
* console.log(`Pass rate: ${results.passRate}%`);
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare class GraphTester {
|
|
36
|
+
private config;
|
|
37
|
+
private testFunctions;
|
|
38
|
+
private browser;
|
|
39
|
+
private context;
|
|
40
|
+
/**
|
|
41
|
+
* Create a new GraphTester instance.
|
|
42
|
+
*
|
|
43
|
+
* @param config - Configuration for the tester
|
|
44
|
+
*/
|
|
45
|
+
constructor(config: GraphTesterConfig);
|
|
46
|
+
/**
|
|
47
|
+
* Validate and normalize configuration.
|
|
48
|
+
*/
|
|
49
|
+
private validateConfig;
|
|
50
|
+
/**
|
|
51
|
+
* Register a test function.
|
|
52
|
+
*
|
|
53
|
+
* @param testFunction - Test function to register
|
|
54
|
+
*/
|
|
55
|
+
registerTestFunction(testFunction: TestFunction): void;
|
|
56
|
+
/**
|
|
57
|
+
* Discover routes to test.
|
|
58
|
+
*
|
|
59
|
+
* @returns Array of route descriptors
|
|
60
|
+
*/
|
|
61
|
+
private discoverRoutes;
|
|
62
|
+
/**
|
|
63
|
+
* Filter routes based on include/exclude patterns.
|
|
64
|
+
*
|
|
65
|
+
* @param routes - Routes to filter
|
|
66
|
+
* @returns Filtered routes
|
|
67
|
+
*/
|
|
68
|
+
private filterRoutes;
|
|
69
|
+
/**
|
|
70
|
+
* Simple pattern matching for route filtering.
|
|
71
|
+
* Supports basic glob patterns with *.
|
|
72
|
+
*
|
|
73
|
+
* @param route - Route to match
|
|
74
|
+
* @param pattern - Pattern to match against
|
|
75
|
+
* @returns Whether route matches pattern
|
|
76
|
+
*/
|
|
77
|
+
private matchPattern;
|
|
78
|
+
/**
|
|
79
|
+
* Initialize browser and context.
|
|
80
|
+
*/
|
|
81
|
+
private initBrowser;
|
|
82
|
+
/**
|
|
83
|
+
* Close browser and context.
|
|
84
|
+
*/
|
|
85
|
+
private closeBrowser;
|
|
86
|
+
/**
|
|
87
|
+
* Apply a test function to a route with optional viewport.
|
|
88
|
+
*
|
|
89
|
+
* @param route - Route descriptor
|
|
90
|
+
* @param testFunction - Test function to apply
|
|
91
|
+
* @param viewport - Viewport configuration (optional)
|
|
92
|
+
* @returns Test result
|
|
93
|
+
*/
|
|
94
|
+
private applyTestFunction;
|
|
95
|
+
/**
|
|
96
|
+
* Run all tests across all routes.
|
|
97
|
+
*
|
|
98
|
+
* @returns Aggregated test results
|
|
99
|
+
*/
|
|
100
|
+
runTests(): Promise<AggregatedTestResults>;
|
|
101
|
+
/**
|
|
102
|
+
* Get registered test functions.
|
|
103
|
+
*/
|
|
104
|
+
getTestFunctions(): TestFunction[];
|
|
105
|
+
/**
|
|
106
|
+
* Get configuration.
|
|
107
|
+
*/
|
|
108
|
+
getConfig(): GraphTesterConfig;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=GraphTester.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphTester.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/core/GraphTester.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,iBAAiB,EAIjB,qBAAqB,EAItB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAG9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,OAAO,CAA+B;IAE9C;;;;OAIG;gBACS,MAAM,EAAE,iBAAiB;IAIrC;;OAEG;IACH,OAAO,CAAC,cAAc;IAqCtB;;;;OAIG;IACH,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAatD;;;;OAIG;YACW,cAAc;IA4B5B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA4BpB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;YACW,WAAW;IAazB;;OAEG;YACW,YAAY;IAY1B;;;;;;;OAOG;YACW,iBAAiB;IA0D/B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,qBAAqB,CAAC;IA2FhD;;OAEG;IACH,gBAAgB,IAAI,YAAY,EAAE;IAIlC;;OAEG;IACH,SAAS,IAAI,iBAAiB;CAG/B"}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main orchestrator for graph-based testing.
|
|
3
|
+
*
|
|
4
|
+
* GraphTester coordinates:
|
|
5
|
+
* 1. Route discovery (manual or via NavigationGraph)
|
|
6
|
+
* 2. Test function execution across all routes
|
|
7
|
+
* 3. Result aggregation and reporting
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
import { chromium } from '@playwright/test';
|
|
12
|
+
import { isTestFunction } from './TestFunction.js';
|
|
13
|
+
import { ViewportPresets } from './types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Main orchestrator for graph-based testing.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const tester = new GraphTester({
|
|
20
|
+
* baseUrl: 'http://localhost:3000',
|
|
21
|
+
* routes: [
|
|
22
|
+
* { route: '/', metadata: { name: 'Home' } },
|
|
23
|
+
* { route: '/dashboard', metadata: { name: 'Dashboard' } }
|
|
24
|
+
* ],
|
|
25
|
+
* modes: ['visual', 'performance'],
|
|
26
|
+
* output: {
|
|
27
|
+
* dir: './test-results',
|
|
28
|
+
* formats: ['html', 'json']
|
|
29
|
+
* }
|
|
30
|
+
* });
|
|
31
|
+
*
|
|
32
|
+
* const results = await tester.runTests();
|
|
33
|
+
* console.log(`Pass rate: ${results.passRate}%`);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export class GraphTester {
|
|
37
|
+
/**
|
|
38
|
+
* Create a new GraphTester instance.
|
|
39
|
+
*
|
|
40
|
+
* @param config - Configuration for the tester
|
|
41
|
+
*/
|
|
42
|
+
constructor(config) {
|
|
43
|
+
this.testFunctions = new Map();
|
|
44
|
+
this.browser = null;
|
|
45
|
+
this.context = null;
|
|
46
|
+
this.config = this.validateConfig(config);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Validate and normalize configuration.
|
|
50
|
+
*/
|
|
51
|
+
validateConfig(config) {
|
|
52
|
+
if (!config.baseUrl) {
|
|
53
|
+
throw new Error('baseUrl is required');
|
|
54
|
+
}
|
|
55
|
+
if (!config.modes || config.modes.length === 0) {
|
|
56
|
+
throw new Error('At least one test mode is required');
|
|
57
|
+
}
|
|
58
|
+
// Normalize routes configuration
|
|
59
|
+
if (!config.routes) {
|
|
60
|
+
config.routes = {
|
|
61
|
+
strategy: 'manual',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// Normalize output configuration
|
|
65
|
+
if (!config.output) {
|
|
66
|
+
config.output = {
|
|
67
|
+
dir: './test-results',
|
|
68
|
+
formats: ['json', 'html'],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// Normalize execution configuration
|
|
72
|
+
if (!config.execution) {
|
|
73
|
+
config.execution = {
|
|
74
|
+
parallel: 1,
|
|
75
|
+
timeout: 30000,
|
|
76
|
+
retries: 0,
|
|
77
|
+
failFast: false,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return config;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Register a test function.
|
|
84
|
+
*
|
|
85
|
+
* @param testFunction - Test function to register
|
|
86
|
+
*/
|
|
87
|
+
registerTestFunction(testFunction) {
|
|
88
|
+
if (!isTestFunction(testFunction)) {
|
|
89
|
+
throw new Error('Invalid test function');
|
|
90
|
+
}
|
|
91
|
+
const validationErrors = testFunction.validate();
|
|
92
|
+
if (validationErrors.length > 0) {
|
|
93
|
+
throw new Error(`Test function validation failed: ${validationErrors.join(', ')}`);
|
|
94
|
+
}
|
|
95
|
+
this.testFunctions.set(testFunction.mode, testFunction);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Discover routes to test.
|
|
99
|
+
*
|
|
100
|
+
* @returns Array of route descriptors
|
|
101
|
+
*/
|
|
102
|
+
async discoverRoutes() {
|
|
103
|
+
const routesConfig = this.config.routes;
|
|
104
|
+
// Manual routes provided as array
|
|
105
|
+
if (Array.isArray(routesConfig)) {
|
|
106
|
+
return routesConfig;
|
|
107
|
+
}
|
|
108
|
+
// Route discovery configuration
|
|
109
|
+
const discoveryConfig = routesConfig;
|
|
110
|
+
if (discoveryConfig.strategy === 'manual') {
|
|
111
|
+
throw new Error('Manual strategy requires routes array');
|
|
112
|
+
}
|
|
113
|
+
if (discoveryConfig.strategy === 'navigation-graph') {
|
|
114
|
+
throw new Error('NavigationGraph discovery is only available in @supernalintelligence/interface-enterprise');
|
|
115
|
+
}
|
|
116
|
+
if (discoveryConfig.strategy === 'custom' && discoveryConfig.discoveryFn) {
|
|
117
|
+
return discoveryConfig.discoveryFn();
|
|
118
|
+
}
|
|
119
|
+
throw new Error(`Unknown discovery strategy: ${discoveryConfig.strategy}`);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Filter routes based on include/exclude patterns.
|
|
123
|
+
*
|
|
124
|
+
* @param routes - Routes to filter
|
|
125
|
+
* @returns Filtered routes
|
|
126
|
+
*/
|
|
127
|
+
filterRoutes(routes) {
|
|
128
|
+
const routesConfig = this.config.routes;
|
|
129
|
+
if (Array.isArray(routesConfig)) {
|
|
130
|
+
return routes;
|
|
131
|
+
}
|
|
132
|
+
const discoveryConfig = routesConfig;
|
|
133
|
+
const { include, exclude } = discoveryConfig;
|
|
134
|
+
let filtered = routes;
|
|
135
|
+
// Apply include patterns
|
|
136
|
+
if (include && include.length > 0) {
|
|
137
|
+
filtered = filtered.filter((r) => include.some((pattern) => this.matchPattern(r.route, pattern)));
|
|
138
|
+
}
|
|
139
|
+
// Apply exclude patterns
|
|
140
|
+
if (exclude && exclude.length > 0) {
|
|
141
|
+
filtered = filtered.filter((r) => !exclude.some((pattern) => this.matchPattern(r.route, pattern)));
|
|
142
|
+
}
|
|
143
|
+
return filtered;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Simple pattern matching for route filtering.
|
|
147
|
+
* Supports basic glob patterns with *.
|
|
148
|
+
*
|
|
149
|
+
* @param route - Route to match
|
|
150
|
+
* @param pattern - Pattern to match against
|
|
151
|
+
* @returns Whether route matches pattern
|
|
152
|
+
*/
|
|
153
|
+
matchPattern(route, pattern) {
|
|
154
|
+
// Convert glob pattern to regex
|
|
155
|
+
const regexPattern = pattern
|
|
156
|
+
.replace(/\*/g, '.*')
|
|
157
|
+
.replace(/\?/g, '.')
|
|
158
|
+
.replace(/\//g, '\\/');
|
|
159
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
160
|
+
return regex.test(route);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Initialize browser and context.
|
|
164
|
+
*/
|
|
165
|
+
async initBrowser() {
|
|
166
|
+
const browserConfig = this.config.browser || {};
|
|
167
|
+
this.browser = await chromium.launch({
|
|
168
|
+
headless: browserConfig.headless !== false,
|
|
169
|
+
...browserConfig.launchOptions,
|
|
170
|
+
});
|
|
171
|
+
this.context = await this.browser.newContext({
|
|
172
|
+
viewport: browserConfig.viewport || { width: 1280, height: 720 },
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Close browser and context.
|
|
177
|
+
*/
|
|
178
|
+
async closeBrowser() {
|
|
179
|
+
if (this.context) {
|
|
180
|
+
await this.context.close();
|
|
181
|
+
this.context = null;
|
|
182
|
+
}
|
|
183
|
+
if (this.browser) {
|
|
184
|
+
await this.browser.close();
|
|
185
|
+
this.browser = null;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Apply a test function to a route with optional viewport.
|
|
190
|
+
*
|
|
191
|
+
* @param route - Route descriptor
|
|
192
|
+
* @param testFunction - Test function to apply
|
|
193
|
+
* @param viewport - Viewport configuration (optional)
|
|
194
|
+
* @returns Test result
|
|
195
|
+
*/
|
|
196
|
+
async applyTestFunction(route, testFunction, viewport) {
|
|
197
|
+
if (!this.context) {
|
|
198
|
+
throw new Error('Browser context not initialized');
|
|
199
|
+
}
|
|
200
|
+
const page = await this.context.newPage();
|
|
201
|
+
try {
|
|
202
|
+
// Set viewport if provided
|
|
203
|
+
if (viewport) {
|
|
204
|
+
await page.setViewportSize({ width: viewport.width, height: viewport.height });
|
|
205
|
+
// Note: Device scale factor and mobile emulation would require creating
|
|
206
|
+
// a new context per viewport for full mobile emulation.
|
|
207
|
+
// For now, we just set viewport size which covers most responsive testing needs.
|
|
208
|
+
}
|
|
209
|
+
// Navigate to route
|
|
210
|
+
const url = `${this.config.baseUrl}${route.route}`;
|
|
211
|
+
await page.goto(url, { waitUntil: 'networkidle', timeout: this.config.execution?.timeout });
|
|
212
|
+
// Create test context
|
|
213
|
+
const testContext = {
|
|
214
|
+
route: route.route,
|
|
215
|
+
contextId: route.contextId,
|
|
216
|
+
metadata: route.metadata,
|
|
217
|
+
baseUrl: this.config.baseUrl,
|
|
218
|
+
viewport,
|
|
219
|
+
};
|
|
220
|
+
// Run test function
|
|
221
|
+
const result = await testFunction.run(page, testContext);
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
return {
|
|
226
|
+
passed: false,
|
|
227
|
+
duration: 0,
|
|
228
|
+
errors: [
|
|
229
|
+
{
|
|
230
|
+
severity: 'critical',
|
|
231
|
+
message: `Failed to test route: ${error instanceof Error ? error.message : String(error)}`,
|
|
232
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
metadata: {},
|
|
236
|
+
mode: testFunction.mode,
|
|
237
|
+
route: route.route,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
finally {
|
|
241
|
+
await page.close();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Run all tests across all routes.
|
|
246
|
+
*
|
|
247
|
+
* @returns Aggregated test results
|
|
248
|
+
*/
|
|
249
|
+
async runTests() {
|
|
250
|
+
const startTime = Date.now();
|
|
251
|
+
try {
|
|
252
|
+
// Discover and filter routes
|
|
253
|
+
const allRoutes = await this.discoverRoutes();
|
|
254
|
+
const routes = this.filterRoutes(allRoutes);
|
|
255
|
+
if (routes.length === 0) {
|
|
256
|
+
throw new Error('No routes to test');
|
|
257
|
+
}
|
|
258
|
+
console.log(`Discovered ${routes.length} routes to test`);
|
|
259
|
+
// Get viewports to test
|
|
260
|
+
const browserConfig = this.config.browser || {};
|
|
261
|
+
const viewports = browserConfig.viewports || [
|
|
262
|
+
browserConfig.viewport
|
|
263
|
+
? { name: 'default', ...browserConfig.viewport }
|
|
264
|
+
: ViewportPresets.Desktop
|
|
265
|
+
];
|
|
266
|
+
console.log(`Testing with ${viewports.length} viewport(s): ${viewports.map(v => v.name).join(', ')}`);
|
|
267
|
+
// Initialize browser
|
|
268
|
+
await this.initBrowser();
|
|
269
|
+
// Execute tests
|
|
270
|
+
const resultsByRoute = new Map();
|
|
271
|
+
const resultsByMode = new Map();
|
|
272
|
+
const allErrors = [];
|
|
273
|
+
// Test each viewport
|
|
274
|
+
for (const viewport of viewports) {
|
|
275
|
+
console.log(`\n📱 Testing viewport: ${viewport.name} (${viewport.width}x${viewport.height})`);
|
|
276
|
+
for (const route of routes) {
|
|
277
|
+
const routeKey = viewports.length > 1
|
|
278
|
+
? `${route.route} [${viewport.name}]`
|
|
279
|
+
: route.route;
|
|
280
|
+
console.log(` Testing route: ${routeKey}`);
|
|
281
|
+
const routeResults = [];
|
|
282
|
+
for (const [mode, testFunction] of this.testFunctions) {
|
|
283
|
+
console.log(` Running ${mode} test...`);
|
|
284
|
+
const result = await this.applyTestFunction(route, testFunction, viewport);
|
|
285
|
+
routeResults.push(result);
|
|
286
|
+
// Aggregate by mode
|
|
287
|
+
if (!resultsByMode.has(mode)) {
|
|
288
|
+
resultsByMode.set(mode, []);
|
|
289
|
+
}
|
|
290
|
+
resultsByMode.get(mode).push(result);
|
|
291
|
+
// Collect errors
|
|
292
|
+
allErrors.push(...result.errors);
|
|
293
|
+
}
|
|
294
|
+
resultsByRoute.set(routeKey, routeResults);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// Calculate statistics
|
|
298
|
+
const testCount = routes.length * this.testFunctions.size * viewports.length;
|
|
299
|
+
const passedCount = Array.from(resultsByRoute.values())
|
|
300
|
+
.flat()
|
|
301
|
+
.filter((r) => r.passed).length;
|
|
302
|
+
const failedCount = testCount - passedCount;
|
|
303
|
+
const passRate = testCount > 0 ? Math.round((passedCount / testCount) * 100) : 0;
|
|
304
|
+
return {
|
|
305
|
+
routeCount: routes.length,
|
|
306
|
+
testCount,
|
|
307
|
+
passedCount,
|
|
308
|
+
failedCount,
|
|
309
|
+
passRate,
|
|
310
|
+
totalDuration: Date.now() - startTime,
|
|
311
|
+
resultsByRoute,
|
|
312
|
+
resultsByMode,
|
|
313
|
+
errors: allErrors,
|
|
314
|
+
timestamp: new Date(),
|
|
315
|
+
config: this.config,
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
finally {
|
|
319
|
+
await this.closeBrowser();
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Get registered test functions.
|
|
324
|
+
*/
|
|
325
|
+
getTestFunctions() {
|
|
326
|
+
return Array.from(this.testFunctions.values());
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Get configuration.
|
|
330
|
+
*/
|
|
331
|
+
getConfig() {
|
|
332
|
+
return this.config;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=GraphTester.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphTester.js","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/core/GraphTester.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Abstract base class for all test functions.
|
|
3
|
+
*
|
|
4
|
+
* Test functions implement specific testing modes (visual regression, performance, accessibility, etc.).
|
|
5
|
+
* Each test function:
|
|
6
|
+
* 1. Receives a Playwright page and test context
|
|
7
|
+
* 2. Performs its testing logic
|
|
8
|
+
* 3. Returns a TestResult with pass/fail status and metadata
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
import type { Page } from '@playwright/test';
|
|
13
|
+
import type { TestContext, TestResult, TestMode } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Abstract base class for test functions.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* class VisualRegressionMode extends TestFunction {
|
|
20
|
+
* mode = 'visual';
|
|
21
|
+
*
|
|
22
|
+
* async execute(page: Page, context: TestContext): Promise<TestResult> {
|
|
23
|
+
* const startTime = Date.now();
|
|
24
|
+
* const screenshot = await page.screenshot({ fullPage: true });
|
|
25
|
+
*
|
|
26
|
+
* return {
|
|
27
|
+
* passed: true,
|
|
28
|
+
* duration: Date.now() - startTime,
|
|
29
|
+
* errors: [],
|
|
30
|
+
* metadata: {
|
|
31
|
+
* screenshot,
|
|
32
|
+
* screenshotPath: './screenshots/example.png'
|
|
33
|
+
* }
|
|
34
|
+
* };
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare abstract class TestFunction {
|
|
40
|
+
/**
|
|
41
|
+
* Test mode identifier.
|
|
42
|
+
* Must be unique across all test functions.
|
|
43
|
+
*/
|
|
44
|
+
abstract readonly mode: TestMode;
|
|
45
|
+
/**
|
|
46
|
+
* Human-readable name for this test function.
|
|
47
|
+
*/
|
|
48
|
+
abstract readonly name: string;
|
|
49
|
+
/**
|
|
50
|
+
* Description of what this test function does.
|
|
51
|
+
*/
|
|
52
|
+
abstract readonly description: string;
|
|
53
|
+
/**
|
|
54
|
+
* Execute the test function.
|
|
55
|
+
*
|
|
56
|
+
* @param page - Playwright page instance
|
|
57
|
+
* @param context - Test context (route, metadata)
|
|
58
|
+
* @returns Test result with pass/fail status and metadata
|
|
59
|
+
*/
|
|
60
|
+
abstract execute(page: Page, context: TestContext): Promise<TestResult>;
|
|
61
|
+
/**
|
|
62
|
+
* Optional setup hook called before execute().
|
|
63
|
+
* Use for initialization that should happen once per route.
|
|
64
|
+
*
|
|
65
|
+
* @param page - Playwright page instance
|
|
66
|
+
*/
|
|
67
|
+
setup?(page: Page): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Optional teardown hook called after execute().
|
|
70
|
+
* Use for cleanup that should happen once per route.
|
|
71
|
+
*
|
|
72
|
+
* @param page - Playwright page instance
|
|
73
|
+
*/
|
|
74
|
+
teardown?(page: Page): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Optional predicate to determine if this test should run for a given context.
|
|
77
|
+
* Return false to skip testing this route with this test function.
|
|
78
|
+
*
|
|
79
|
+
* @param context - Test context
|
|
80
|
+
* @returns Whether to test this route
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typescript
|
|
84
|
+
* // Only test authenticated routes
|
|
85
|
+
* shouldTest(context: TestContext): boolean {
|
|
86
|
+
* return context.metadata?.requiresAuth === true;
|
|
87
|
+
* }
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
shouldTest?(context: TestContext): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Execute the full test lifecycle: setup, execute, teardown.
|
|
93
|
+
* This method handles the orchestration and error handling.
|
|
94
|
+
*
|
|
95
|
+
* @param page - Playwright page instance
|
|
96
|
+
* @param context - Test context
|
|
97
|
+
* @returns Test result
|
|
98
|
+
*/
|
|
99
|
+
run(page: Page, context: TestContext): Promise<TestResult>;
|
|
100
|
+
/**
|
|
101
|
+
* Validate test function configuration.
|
|
102
|
+
* Override to add custom validation logic.
|
|
103
|
+
*
|
|
104
|
+
* @returns Array of validation errors (empty if valid)
|
|
105
|
+
*/
|
|
106
|
+
validate(): string[];
|
|
107
|
+
/**
|
|
108
|
+
* Get test function info for reporting.
|
|
109
|
+
*/
|
|
110
|
+
getInfo(): {
|
|
111
|
+
mode: TestMode;
|
|
112
|
+
name: string;
|
|
113
|
+
description: string;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Type guard to check if an object is a TestFunction.
|
|
118
|
+
*/
|
|
119
|
+
export declare function isTestFunction(obj: any): obj is TestFunction;
|
|
120
|
+
//# sourceMappingURL=TestFunction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestFunction.d.ts","sourceRoot":"","sources":["../../../../../../src/testing/graph-tester/core/TestFunction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EAIT,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,8BAAsB,YAAY;IAChC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAEvE;;;;;OAKG;IACG,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvC;;;;;OAKG;IACG,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAE1C;;;;;;;OAOG;IACG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAqGhE;;;;;OAKG;IACH,QAAQ,IAAI,MAAM,EAAE;IAkBpB;;OAEG;IACH,OAAO,IAAI;QACT,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB;CAOF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,YAAY,CAS5D"}
|