Files
hermes-web-ui/tests/e2e/native-navigation.spec.ts
ekko 841d8e3d47 [codex] redesign chat sidebars (#1518)
* 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
2026-06-12 21:58:23 +08:00

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')
})