test(ui): align sidebar ordering coverage (#102660)

This commit is contained in:
Peter Steinberger 2026-07-09 11:37:09 +01:00 committed by GitHub
parent 5b0e970dc7
commit bcc4517d99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 19 deletions

View file

@ -2074,7 +2074,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
}
});
it("keeps sidebar session order stable while selecting sessions and supports sort modes", async () => {
it("keeps every sidebar session stable while selecting sessions and supports sort modes", async () => {
const context = await newBrowserContext({
locale: "en-US",
serviceWorkers: "block",
@ -2085,6 +2085,9 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
{ length: 11 },
(_, index) => `agent:main:session-${String.fromCharCode(97 + index)}`,
);
const pinnedSessionKey = "agent:main:session-pinned";
const createdOrder = [pinnedSessionKey, ...createdSessionKeys];
const updatedOrder = [pinnedSessionKey, ...createdSessionKeys.toReversed()];
const sessions = {
count: createdSessionKeys.length + 1,
defaults: {
@ -2095,7 +2098,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
path: "",
sessions: [
{
key: "agent:main:session-pinned",
key: pinnedSessionKey,
kind: "direct",
label: "Pinned Session",
pinned: true,
@ -2123,9 +2126,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
.waitFor({
timeout: 10_000,
});
await expect
.poll(() => sidebarSessionOrder(page))
.toEqual(["agent:main:session-pinned", ...createdSessionKeys.slice(0, 9)]);
await expect.poll(() => sidebarSessionOrder(page)).toEqual(createdOrder);
await page
.locator(
@ -2135,9 +2136,7 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
await page.locator(".sidebar-recent-session--active").getByText("Session B").waitFor({
timeout: 10_000,
});
await expect
.poll(() => sidebarSessionOrder(page))
.toEqual(["agent:main:session-pinned", ...createdSessionKeys.slice(0, 9)]);
await expect.poll(() => sidebarSessionOrder(page)).toEqual(createdOrder);
const activeWeight = await page
.locator('.sidebar-recent-session[data-session-key="agent:main:session-b"]')
@ -2151,19 +2150,11 @@ describeControlUiE2e("Control UI mocked Gateway E2E", () => {
await page.getByRole("button", { name: "Sort sessions" }).click();
await page.getByRole("menuitemradio", { name: "Last updated" }).click();
await expect
.poll(() => sidebarSessionOrder(page))
.toEqual([
"agent:main:session-pinned",
"agent:main:session-b",
...createdSessionKeys.slice(2).toReversed(),
]);
await expect.poll(() => sidebarSessionOrder(page)).toEqual(updatedOrder);
await page.getByRole("button", { name: "Sort sessions" }).click();
await page.getByRole("menuitemradio", { name: "Created" }).click();
await expect
.poll(() => sidebarSessionOrder(page))
.toEqual(["agent:main:session-pinned", ...createdSessionKeys.slice(0, 9)]);
await expect.poll(() => sidebarSessionOrder(page)).toEqual(createdOrder);
await page.getByRole("button", { name: "Sort sessions" }).click();
await page.getByRole("main").click();

View file

@ -91,7 +91,7 @@ describe("resolveSessionNavigation", () => {
expect(navigation.activeRowKey).toBe("agent:main:recent-11");
});
it("keeps every pinned session when pins exceed the recent-session cap", () => {
it("keeps every pinned session when many sessions are pinned", () => {
const pinnedSessions = Array.from({ length: 10 }, (_, index) => ({
key: `agent:main:pinned-${index}`,
kind: "direct" as const,