mirror of
https://github.com/EKKOLearnAI/hermes-web-ui.git
synced 2026-07-11 11:10:21 +00:00
841d8e3d47
* feat: redesign chat sidebars * feat: embed chat tool panel * fix: make chat tool panel split layout * fix: keep chat tool splitter line visible * fix: restore chat tool panel divider * fix: show full chat tool resize handle * fix: align embedded terminal headers * fix: give chat tool resize handle solid background * fix: simplify chat tool resize handle grip * fix: default tool panel to workspace * revert: keep tool panel resize behavior simple * fix: keep chat input in resizable pane * fix: leave gap in chat tool resize divider * fix: disable model picker for coding agents * fix: update chat layout CI coverage * fix: tighten mobile context usage spacing * fix: adjust context usage mobile spacing * fix: refine mobile sidebar and skills search * feat: stabilize chat sidebar layout * fix: polish desktop startup and session sidebar
38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
import { expect, test } from '@playwright/test'
|
|
import { authenticate, mockHermesApi, TEST_ACCESS_KEY } from './fixtures'
|
|
|
|
const sampleSession = {
|
|
id: 'session-native-1',
|
|
title: 'Native Link Session',
|
|
source: 'cli',
|
|
model: 'test-model',
|
|
provider: 'test-provider',
|
|
profile: 'research',
|
|
started_at: 1_700_000_000,
|
|
ended_at: null,
|
|
last_active: 1_700_000_100,
|
|
message_count: 2,
|
|
}
|
|
|
|
test('sidebar navigation exposes native links', async ({ page }) => {
|
|
await authenticate(page, TEST_ACCESS_KEY, 'research')
|
|
await mockHermesApi(page)
|
|
await page.goto('/#/hermes/jobs')
|
|
|
|
const models = page.locator('aside.sidebar').getByRole('link', { name: /^Models$/ })
|
|
await expect(models).toHaveAttribute('href', '#/hermes/models')
|
|
|
|
const settings = page.locator('aside.sidebar').getByRole('link', { name: /^Settings$/ })
|
|
await expect(settings).toHaveAttribute('href', '#/hermes/settings')
|
|
})
|
|
|
|
test('session rows expose native session links', async ({ page }) => {
|
|
await authenticate(page, TEST_ACCESS_KEY, 'research')
|
|
await mockHermesApi(page, { sessions: [sampleSession] })
|
|
await page.goto('/#/hermes/chat')
|
|
|
|
const sessionLink = page.locator('.session-items a.session-item').first()
|
|
await expect(sessionLink).toHaveAttribute('href', '#/hermes/session/session-native-1')
|
|
await expect(sessionLink).toContainText('Native Link Session')
|
|
})
|