Local changes: Updated model training, removed debug instrumentation, and configuration improvements
This commit is contained in:
73
frontend/e2e/settings.spec.ts
Normal file
73
frontend/e2e/settings.spec.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import { test, expect } from '@playwright/test'
|
||||
|
||||
test.describe('Settings Page', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/settings')
|
||||
await page.waitForLoadState('networkidle')
|
||||
})
|
||||
|
||||
test('displays settings page title', async ({ page }) => {
|
||||
await expect(page.getByRole('heading', { name: /settings/i })).toBeVisible()
|
||||
})
|
||||
|
||||
test('shows exchange configuration section', async ({ page }) => {
|
||||
await expect(page.getByText(/exchange/i).first()).toBeVisible()
|
||||
})
|
||||
|
||||
test('shows alert configuration section', async ({ page }) => {
|
||||
await expect(page.getByText(/alert/i).first()).toBeVisible()
|
||||
})
|
||||
|
||||
test('has tabs for different settings categories', async ({ page }) => {
|
||||
// Look for tab navigation
|
||||
const tabs = page.getByRole('tab')
|
||||
await expect(tabs.first()).toBeVisible()
|
||||
})
|
||||
})
|
||||
|
||||
test.describe('Settings - Exchange Configuration', () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await page.goto('/settings')
|
||||
await page.waitForLoadState('networkidle')
|
||||
})
|
||||
|
||||
test('shows add exchange option', async ({ page }) => {
|
||||
// Look for add exchange button or option
|
||||
const addExchange = page.getByRole('button', { name: /add.*exchange|new.*exchange|configure/i })
|
||||
await expect(addExchange.first()).toBeVisible()
|
||||
})
|
||||
})
|
||||
|
||||
test.describe('Settings - Performance', () => {
|
||||
test('page loads within reasonable time', async ({ page }) => {
|
||||
const startTime = Date.now()
|
||||
|
||||
await page.goto('/settings')
|
||||
await page.waitForLoadState('domcontentloaded')
|
||||
|
||||
const loadTime = Date.now() - startTime
|
||||
|
||||
// Page should load within 5 seconds
|
||||
expect(loadTime).toBeLessThan(5000)
|
||||
})
|
||||
|
||||
test('no console errors on load', async ({ page }) => {
|
||||
const errors: string[] = []
|
||||
|
||||
page.on('console', (msg) => {
|
||||
if (msg.type() === 'error') {
|
||||
errors.push(msg.text())
|
||||
}
|
||||
})
|
||||
|
||||
await page.goto('/settings')
|
||||
await page.waitForLoadState('networkidle')
|
||||
|
||||
// Filter out known non-critical errors
|
||||
const criticalErrors = errors.filter(
|
||||
(e) => !e.includes('WebSocket') && !e.includes('Failed to load resource')
|
||||
)
|
||||
|
||||
expect(criticalErrors).toHaveLength(0)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user