mirror of
https://github.com/mudler/LocalAI.git
synced 2026-03-31 21:25:59 -04:00
* feat(gallery): Switch to expandable box instead of pop-over and display model files Signed-off-by: Richard Palethorpe <io@richiejp.com> * feat(ui, backends): Add individual backend logging Signed-off-by: Richard Palethorpe <io@richiejp.com> * fix(ui): Set the context settings from the model config Signed-off-by: Richard Palethorpe <io@richiejp.com> --------- Signed-off-by: Richard Palethorpe <io@richiejp.com>
65 lines
2.4 KiB
JavaScript
65 lines
2.4 KiB
JavaScript
import { test, expect } from '@playwright/test'
|
|
|
|
test.describe('Backend Logs', () => {
|
|
test('model detail page shows title', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
await expect(page.locator('.page-title')).toContainText('mock-model')
|
|
})
|
|
|
|
test('no back arrow link on detail page', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
await expect(page.locator('a[href="/app/backend-logs"]')).not.toBeVisible()
|
|
})
|
|
|
|
test('filter buttons are visible', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
await expect(page.locator('button', { hasText: 'All' })).toBeVisible()
|
|
await expect(page.locator('button', { hasText: 'stdout' })).toBeVisible()
|
|
await expect(page.locator('button', { hasText: 'stderr' })).toBeVisible()
|
|
})
|
|
|
|
test('filter buttons toggle active state', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
|
|
const allBtn = page.locator('button', { hasText: 'All' })
|
|
const stdoutBtn = page.locator('button', { hasText: 'stdout' })
|
|
|
|
// All is active by default
|
|
await expect(allBtn).toHaveClass(/btn-primary/)
|
|
|
|
// Click stdout
|
|
await stdoutBtn.click()
|
|
await expect(stdoutBtn).toHaveClass(/btn-primary/)
|
|
await expect(allBtn).not.toHaveClass(/btn-primary/)
|
|
})
|
|
|
|
test('export button is present', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
await expect(page.locator('button', { hasText: 'Export' })).toBeVisible()
|
|
})
|
|
|
|
test('auto-scroll checkbox is present', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
await expect(page.locator('text=Auto-scroll')).toBeVisible()
|
|
})
|
|
|
|
test('clear button is present', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
await expect(page.locator('button', { hasText: 'Clear' })).toBeVisible()
|
|
})
|
|
|
|
test('details toggle button is present and toggles', async ({ page }) => {
|
|
await page.goto('/app/backend-logs/mock-model')
|
|
|
|
// "Text only" button visible by default (details are shown)
|
|
const toggleBtn = page.locator('button', { hasText: 'Text only' })
|
|
await expect(toggleBtn).toBeVisible()
|
|
|
|
// Click to hide details
|
|
await toggleBtn.click()
|
|
|
|
// Button label changes to "Show details"
|
|
await expect(page.locator('button', { hasText: 'Show details' })).toBeVisible()
|
|
})
|
|
})
|