mirror of
https://github.com/mudler/LocalAI.git
synced 2026-05-30 11:36:31 -04:00
- Strict monotonic Go coverage gate (make test-coverage-check, 45% baseline) run in CI; fixes ginkgo dropping all-but-one coverprofile across multiple recursive roots, builds with -tags auth, and folds in the in-process tests/e2e suite via --coverpkg. - React UI e2e coverage (make test-ui-coverage: vite-plugin-istanbul + nyc, nix-provided Chromium) plus e2e specs for 6 previously-untested pages, and a UI coverage gate (make test-ui-coverage-check) with a small tolerance since e2e line coverage jitters ~0.5pp run-to-run. - pre-commit hook: lint + coverage on Go changes, Playwright e2e + UI coverage gate on react-ui changes; install with make install-hooks. - New Go handler tests (settings, branding), hermetic base64 download test. - fix(ui): model editor reads vram_display (snake_case), so the VRAM estimate renders again; covered by a regression test. Assisted-by: Claude:claude-opus-4-7 Signed-off-by: Richard Palethorpe <io@richiejp.com>
27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
import { test, expect } from './coverage-fixtures.js'
|
|
|
|
test.describe('Navigation', () => {
|
|
test('/ redirects to /app', async ({ page }) => {
|
|
await page.goto('/')
|
|
await expect(page).toHaveURL(/\/app/)
|
|
})
|
|
|
|
test('/app shows home page with LocalAI title', async ({ page }) => {
|
|
await page.goto('/app')
|
|
await expect(page.locator('.sidebar')).toBeVisible()
|
|
await expect(page.locator('.home-page')).toBeVisible()
|
|
})
|
|
|
|
test('sidebar traces link navigates to /app/traces', async ({ page }) => {
|
|
await page.goto('/app')
|
|
// Expand the "System" collapsible section so the traces link is visible
|
|
const systemSection = page.locator('button.sidebar-section-toggle', { hasText: 'System' })
|
|
await systemSection.click()
|
|
const tracesLink = page.locator('a.nav-item[href="/app/traces"]')
|
|
await expect(tracesLink).toBeVisible()
|
|
await tracesLink.click()
|
|
await expect(page).toHaveURL(/\/app\/traces/)
|
|
await expect(page.getByRole('heading', { name: 'Traces', exact: true })).toBeVisible()
|
|
})
|
|
})
|