Mining/ui/playwright.config.ts
snider 8460b8f3be feat: Add multi-miner dashboard support and TT-Miner implementation
Dashboard:
- Add aggregate stats across all running miners (total hashrate, shares)
- Add workers table with per-miner stats, efficiency, and controls
- Show hashrate bars and efficiency badges for each worker
- Support stopping individual workers or all at once

TT-Miner:
- Implement Install, Start, GetStats, CheckInstallation, Uninstall
- Add TT-Miner to Manager's StartMiner and ListAvailableMiners
- Support GPU-specific config options (devices, intensity, cliArgs)

Chart:
- Improve styling with WA-Pro theme variables
- Add hashrate unit formatting (H/s, kH/s, MH/s)
- Better tooltip and axis styling

Also:
- Fix XMRig download URLs (linux-static-x64, windows-x64)
- Add Playwright E2E testing infrastructure
- Add XMR pool research documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 22:48:20 +00:00

66 lines
1.7 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test';
const isApiOnly = process.env.API_ONLY === 'true';
export default defineConfig({
testDir: './e2e',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 1 : undefined,
reporter: [['html', { open: 'never' }], ['list']],
use: {
baseURL: 'http://localhost:4200',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
},
projects: [
{
name: 'api',
testMatch: /.*\.api\.spec\.ts/,
use: {
baseURL: 'http://localhost:9090/api/v1/mining',
},
},
{
name: 'chromium',
testMatch: /.*\.e2e\.spec\.ts/,
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
testMatch: /.*\.e2e\.spec\.ts/,
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
testMatch: /.*\.e2e\.spec\.ts/,
use: { ...devices['Desktop Safari'] },
},
],
webServer: isApiOnly
? [
{
command: 'cd .. && make build && ./miner-cli serve --host localhost --port 9090',
url: 'http://localhost:9090/api/v1/mining/info',
reuseExistingServer: true,
timeout: 120000,
},
]
: [
{
command: 'cd .. && make build && ./miner-cli serve --host localhost --port 9090',
url: 'http://localhost:9090/api/v1/mining/info',
reuseExistingServer: !process.env.CI,
timeout: 120000,
},
{
command: 'npm run start',
url: 'http://localhost:4200',
reuseExistingServer: !process.env.CI,
timeout: 120000,
},
],
});